hngl.net
当前位置:首页 >> stm32 DmA iiC >>

stm32 DmA iiC

DMA通道和外设一一对应,所以不可以。

这个是STM32的一个bug。 它只在特定的一小段时间内读外设的ACK信号,一旦错过了ack信号,后面所有的时序都乱了。 ST建议所有涉及I2C的程序都采用DMA方式。 搞得我十分蛋疼,最后干脆直接用SPI的外设算了,速度还快。

荀红军译 我的牙齿进入它柔缴的肉体。 为一种永恒事业的纯粹劳动, 带着玫瑰红的斑点,低着头,垂着尾巴, 凝视一条河流聚集着时光与水波, 终于挣挂牵和温柔的呵护哈哈

1. 硬件IIC用法比较复杂,模拟IIC的流程更清楚一些。 2. 硬件IIC速度比模拟快,并且可以用DMA 3. 模拟IIC可以在任何管脚上,而硬件只能在固定管脚上。

不用搞这个了STM32的IIC通讯有个bug。 因为ack信号时间很短暂,一旦错过了这个短暂的ACK信号,STM32就挂了。 想用IIC的话,就用软件模拟吧。

一般情况下,那些所谓的BUG,我们是不会使用到的,除非特殊情形下,但官方也给出相应的解决方案。 STM32F10x_硬件I2C读写EEPROM(标准外设库版本): http://blog.csdn.net/ybhuangfugui/article/details/52175621

用的是硬件IIC?采用DMA方式吗?如果IIC中断优先级低被其他程序打断,IIC通讯时间延时过长而且开了错误中断,程序就会一直进错误中断

数据手册上都有的,一般有pb5,pb12复用功能是iic

VDD 用2.5V供电,那么高电平的最低电压可以识别2.5*0.65= 1.625 ,IIC引脚设置成漏极开路输出,上拉电压为1.8V 应该可以,否则要外接转接芯片了

我也是用STM32F103系列的片子 反正我得IIC是没有调试通过的,后面我还是使用了IO模拟IIC总线的方式 呵呵 但是网上的人说是没有问题的 我也没有花很多时间去弄 因为IIC模拟其实挺好操作的

网站首页 | 网站地图
All rights reserved Powered by www.hngl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com