打印
[应用相关]

STM32上的I2C硬件之不同版本

[复制链接]
1380|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
    我编写程序用过STM32F411上的I2C,STM32F446上的I2C.  
    最近发现STM32F446上还有叫 FMPI2C 的硬件,寄存器表和 I2C 部分不一样,直接写寄存器操作的话是无法兼容了。因为新画的板子I2C是连在FMPI2C的I/O上,原来的程序得改。
    读了读手册发现 FMPI2C 并不仅仅是多了支持 Fastmode Plus (1Mbps),硬件设计用起来要方便些。比如有一个传输数据量的控制寄存器,比如读写数据寄存器分开。
    我好奇在哪些STM32上有FMPI2C,于是查了机器上下载过的其它手册,观察I2C部分的寄存器表,发现的确存在两个版本的I2C硬件,名字可能都叫I2C.

F0x0,  F0x2,  L476,  L432,  F746,  F722,  F767    I2C都是新的
F10x,  F411, F407, F429   只有老I2C
F446,  F413  新老共存(分为I2C,  FMPI2C)


沙发
huotou| | 2017-8-27 12:30 | 只看该作者
还没注意过这个,以前用的STM32F103的I2C,中断优先级提高到最高了,但是现在的片子都是HAL库,与之前的标注外设库又有不一样了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

50

帖子

1

粉丝