Uncategorized

Inter-Integrated Circuit(I2C)

大綱 以下文章主要以I2C master為出發,如果是要尋找I2C slave 可點擊右邊文章 I2C的物理層 I2C傳輸數據線=> SDA數據線:時鐘 Ref:《IIC原理超詳細講解—值得一看》 Ps:的理論理想傳輸距離為通信,用於由於乾擾和傳輸速度的提高,實際上的IC只有15M遠,一般適合板極器件,不適合中長距離的通信本題STM32與硬體須注意事項 I2C數據傳輸 IIC的每一天偵查數據由9bit組成如果是發送數據 8bit data+1bit ACK如果是設備地址數據則8bit包含7bit設備地址+1bit方向 數據是由為一組而傳輸的,因此需要額外發送8位傳感器或應用程序體去設置接收設置PS:因傳輸訊號為先傳輸數據為雙線結構,所以傳輸數據發送端:地址(8bit)+數據(8bit) STM32CubeMX I2C設定 Ref:【STM32】HAL庫STM32CubeMX教程十二—IIC(讀取AT24C02) PS:共用Clock是需要盡可能避免的,因為會出現時序互相干擾現象,如需在使用時必須排好時間流程序 最後是轉出STM32cubeIDE可編輯的程式碼 I2C 程式撰寫 Ref:使用I2C STM32F0 HAL庫編程計算 另外也有以下4種Function可以使用 I2C傳輸失敗 針對第2點可以使用以下程式去解

Inter-Integrated Circuit(I2C) Read More »

C# WindowForm COM Port 連接/傳送/接收資料完整建置

前言 序列埠(Serial port),也稱序列埠或序列埠,序列通信埠,COM埠,簡稱串口。主要用於序列式逐位資料傳輸。常見的有一般電腦應用的RS-232(使用 25 針或 9 針連接器)和工業電腦應用的半雙工RS-485與全雙工RS-422。首先我們因為編寫一個UI介面要與STM32板子相互連接資料傳輸,第一步就是撰寫COM Port Demo效果 前置作業 程式架構為:按下button,進行RS232連線,並在Listbox顯示可連線之COM Port與連線狀態。連線成功後,將MCU傳輸值顯示在Listbox上。 PS:這邊注意開啟的專案有2個選擇是.NET Framework才會在工具列裡出現SerialPort的選項 程式範例 1.首先宣告一個Serial變數 2.撰寫button點擊後動作 3.進行串列埠連線(因這邊有撰寫BaudRate可以透過外部文件改寫所以有一點點不同) 4.撰寫關閉Com Port 5.撰寫連接觸發事件 7.串列埠接收資料事件 額外功能 串列埠傳送資料 斷開串列埠 得到可用串列埠號 PS:這邊注意serialPort1.Dispose();與serialPort1.Close(); 2者不同處是Dispose()是釋放全部內存,Close()是完全斷開並釋放內存 參考 C#中COM串列埠連線、傳送、接收資料

C# WindowForm COM Port 連接/傳送/接收資料完整建置 Read More »

Shopping Cart