輝芒微單片機的Deom例程寫的太垃圾了,只會寫一種情況,比如他們硬件IIC,只寫單次發送,單次讀,連續發送或者連續讀的例程就懶得寫了,有點像應付了事。單片機老手估計都可以搞定,新手估計很難搞定。我今天花時間重新整理了一下IIC的驅動程序,模仿了STM32的HAL的命名,使用的話直接調用就好了。(注意叢機地址是獨立的,沒有包括讀寫位,真7位地址,單片機的IIC腳要設置為輸出,因為硬件IIC腳是開漏輸出模式)
uint8_t Data[2]={0};
Data[0] = 0x38;
Data[1] = 0x55;
HAL_I2C_Mem_Write(I2C1, 0x50, 0x01, I2C_MEMADD_SIZE_8BIT, (uint8_t *)&Data[0], 2, 10);
__delay_ms(10);
HAL_I2C_Mem_Read(I2C1, 0x50, 0x01, I2C_MEMADD_SIZE_8BIT, (uint8_t *)&Data[0], 2, 10)
HAL_I2C_Mem_Write的第一個參數是IIC選擇,第二個參數是叢機地址,第三個參數是叢機內存地址,第四個參數是叢機內存地址是8位還是16位,第五個參數是數據,第六個參數是數據大小,第七個參數是等待時間,防止程序卡死。
例程是往24C02的0x01地址里面連續寫入2個數據0x38和0x55,邏輯分析儀采集到的波形如下圖:
51hei截圖20230509185400.png (9.36 KB, 下載次數: 73)
下載附件
2023-5-9 19:15 上傳
接著連續讀出0x01起始地址的2個數據
51hei截圖20230509185324.png (11.54 KB, 下載次數: 90)
下載附件
2023-5-9 19:15 上傳
驅動成功了!
下面是程序文件(編譯版本為FMDIDE_V3.1.0,適用FT61F08X,FT62F08X,FT61F0AX,FT64F0AX,_FT67F0AX ):
FT6_1_4_7_F0AX.7z
(275.73 KB, 下載次數: 23)
2023-5-9 21:10 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|