① stm32通过iic总线控制数字电位器X9241的程序
找到数字电位器x9241器件资料,根据器件定义、编程要求和波形参数等来进行51单片机回程序设计。答硬件可以选择I/O口,也可以选择串口或者其它,取决于你对单片机应用的实际能力。具体说就是按照器件指令要求编程,通过读写操作控制滑动端的位置。
② stm32引脚模拟IIC读写atmel 24C128,我是初级菜鸟,哪位大神可以赐教
网上down一个IIC模拟程序分析一下就是了,时序要求没那么精确的,大于多少ns就行了。稍作延时。上拉电阻一般就弄个10K。无论是对于哪种芯片IIC的时序是没多大差别的,弄个大概出来,在用示波器看,再比较手册,看哪不对再改。这样是调IIC最好方法。
还有,我不是记得STM32有硬IIC核吗,为何还需要用模拟IIC时序的方式去实现
③ stm32实例的流程图
void EEPROM_Write( uint8 Addr , uint8 Data )
{
_START(); // IIC开始
IIC_Write( AT24C02_Write ); // 写入哪个EEPROM
IIC_Write( Addr ); // 写入哪个地址
IIC_Write( Data ); // 写入什么数据
IIC_STOP(); // IIC结束,释放总线
delay(500); // EEPROM读写速度较慢
}
uint8 EEPROM_Read( uint8 Addr )
{
uint8 ch;
IIC_START(); // IIC开始
IIC_Write( AT24C02_Write ); // 选择哪个EEPROM
IIC_Write( Addr ); // 读取哪个地址
IIC_START(); // 见手册
IIC_Write(AT24C02_Read); // 读取哪个EEPROM
ch = IIC_Read( ); // 读取数据
IIC_STOP(); // IIC结束,释放总线
delay(500); // EEPROM读写速度较慢
return ch ;
}
④ stm32读写24c02为什么会造成程序死机
建议使用模拟IIC的方式解决吧。
STM32的IIC接口有BUG,很容易死在里面出不来。
⑤ stm32 模拟i2c 读24c02 为什么写-读一次后,第二次写其他数据就读出来还是第一次写的数据
就是第二次没有写进去呀