调了几天的IIC程序,终于能够读写一串字符了,总结一下调试编程出现的问题,例程到处都是,写帖子估计对别人可能没用,就当给自己看的笔记吧。还有些问题没解决,以后都写到这个帖子下面。
1、初始化错误,未加入初始化函数。IIC_Pin_Init();
2、使用GPIO的输入模式,算式错误。应该用GPIOB->MODER&=0xFFF3FFFF,不能用或运算定义输入模式。
3、写入数据需要延时,在停止信号后,芯片内部进行写数据操作,需要延时。
4、当EEPROM芯片处于输出状态时,数据会在低电平状态有一段时间taa,保持,程序中这段时间不应改变PB9的输入状态,应该保持一段时间。这在应答时和读数据时很重要。
(但是我不知道例程中有没有这样的设置。还没仔细看,粗略看了一下没有,但是我的程序没这样改,运行不正常,改完就好了。)
5、结束时序写错。
还没有仔细看例程。
只当自己笔记了,对别人没什么用。
一周热门 更多>