找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2274|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

FMD單片機硬件IIC驅(qū)動程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:78835 發(fā)表于 2023-5-9 19:21 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
     輝芒微單片機的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,邏輯分析儀采集到的波形如下圖:


接著連續(xù)讀出0x01起始地址的2個數(shù)據(jù)


驅(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)

評分

參與人數(shù) 3黑幣 +107 收起 理由
hack2800 + 6
wpppmlah + 21 共享資料的黑幣獎勵!
admin + 80 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1064915 發(fā)表于 2023-5-10 08:38 | 只看該作者


FMD B1V6BKH是單片機嗎?

回復(fù)

使用道具 舉報

板凳
ID:78835 發(fā)表于 2023-5-10 11:49 | 只看該作者
joyb 發(fā)表于 2023-5-10 08:38
FMD B1V6BKH是單片機嗎?

B1V6BKH估計是批次號,看絲印FMD是輝芒微的logo,你就可以看下這個封裝的規(guī)格書,找下VCC和GND的腳位,基本上可以找到對應(yīng)的型號。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表