|
輝芒微單片機的Deom例程寫的太垃圾了,只會寫一種情況,比如他們硬件IIC,只寫單次發(fā)送,單次讀,連續(xù)發(fā)送或者連續(xù)讀的例程就懶得寫了,有點像應(yīng)付了事。單片機老手估計都可以搞定,新手估計很難搞定。我今天花時間重新整理了一下IIC的驅(qū)動程序,模仿了STM32的HAL的命名,使用的話直接調(diào)用就好了。(注意叢機地址是獨立的,沒有包括讀寫位,真7位地址,單片機的IIC腳要設(shè)置為輸出,因為硬件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的第一個參數(shù)是IIC選擇,第二個參數(shù)是叢機地址,第三個參數(shù)是叢機內(nèi)存地址,第四個參數(shù)是叢機內(nèi)存地址是8位還是16位,第五個參數(shù)是數(shù)據(jù),第六個參數(shù)是數(shù)據(jù)大小,第七個參數(shù)是等待時間,防止程序卡死。
例程是往24C02的0x01地址里面連續(xù)寫入2個數(shù)據(jù)0x38和0x55,邏輯分析儀采集到的波形如下圖:
51hei截圖20230509185400.png (9.36 KB, 下載次數(shù): 73)
下載附件
2023-5-9 19:15 上傳
接著連續(xù)讀出0x01起始地址的2個數(shù)據(jù)
51hei截圖20230509185324.png (11.54 KB, 下載次數(shù): 90)
下載附件
2023-5-9 19:15 上傳
驅(qū)動成功了!
下面是程序文件(編譯版本為FMDIDE_V3.1.0,適用FT61F08X,F(xiàn)T62F08X,F(xiàn)T61F0AX,F(xiàn)T64F0AX,_FT67F0AX ):
FT6_1_4_7_F0AX.7z
(275.73 KB, 下載次數(shù): 23)
2023-5-9 21:10 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|