单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:1280|回复:2
打印上一主题下一主题

FMD单片机硬件IIC驱动程序

[复制链接]
跳转到指定楼层
楼主
ID:78835发表于 2023-5-9 19:21|只看该作者|只看大图回帖奖励
     辉芒微单片机的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,逻辑分析仪采集到的波形如下图:


接着连续读出0x01起始地址的2个数据


驱动成功了!
下面是程序文件(编译版本为FMDIDE_V3.1.0,适用FT61F08X,FT62F08X,FT61F0AX,FT64F0AX,_FT67F0AX ):
FT6_1_4_7_F0AX.7z(275.73 KB, 下载次数: 22)

评分

黑币 +107
收起理由
+ 6
+ 21
共享资料的黑币奖励!
+ 80
共享资料的黑币奖励!

查看全部评分

沙发
ID:1064915发表于 2023-5-10 08:38|只看该作者


FMD B1V6BKH是单片机吗?

板凳
ID:78835发表于 2023-5-10 11:49|只看该作者
joyb 发表于 2023-5-10 08:38
FMD B1V6BKH是单片机吗?

B1V6BKH估计是批次号,看丝印FMD是辉芒微的logo,你就可以看下这个封装的规格书,找下VCC和GND的脚位,基本上可以找到对应的型号。

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网