韦东山Linux嵌入式课程社区
直播中

许朝亮

7年用户 157经验值
私信 关注

无法实现IIC通讯

注意:如果点击空白处无法输入,则点击字会有输入提示符 | 则可以使用键盘进行输入!

此板块为  [ARM裸机加强版]
  • 问题所在章节:第一期第19课
  • 发生问题的运行环境:环境无问题
  • 问题发生描述:
  • 移植了STM32的IIC程序,修改了头文件的相关代码,修改的地方是:
  • [C] 纯文本查看 复制代码

    /* 设置SDA输入输出 */#define SDA_IN()  (GPECON=0x10000000)        #define SDA_OUT() (GPECON=0x50000000) /* IO操作 */#define SET_IIC_SCL()                (GPEDAT |= 0x4000)#define SET_IIC_SDA()                (GPEDAT |= 0x8000)#define RESET_IIC_SCL()           (GPEDAT &= ~(0x4000))#define RESET_IIC_SDA()                (GPEDAT &= ~(0x8000))#define READ_SDA()                  (GPEDAT&0x8000)
  • 修改了程序中关于EEPROM的型号地址,发现无法实现IIC通讯,暂时不知道问题出现在哪
  • 附上源程序,添加进入第一期的第19课的程序中,修改一下Makefile,在mian函数中添加myiic_test()即可运行



  • 输出的错误信息:
  • ack应答函数无法正常返回,不知道是不是IIC_Send_Byte()函数出错,但是核对了IIC协议和相关文件,找不到错误原因,不知道问题出现在哪
  • 请求帮助,小白在此感谢

回帖(6)

李雪飞

2019-4-8 12:42:23
移植iic很多问题出在时序,延时。建议接示波器调试
举报

王强

2019-4-8 13:01:50
我也猜大概是延迟问题,家里没有示波器,这样子只能回去学校调试了
举报

朱小玲

2019-4-8 13:15:11
那就多尝试几次参数试试吧,不行就回去调,用示波器好弄一点
举报

姬中岩

2019-4-8 13:29:18
网上买个逻辑分析仪,
以后像i2c,spi这些都可以观察
举报

更多回帖

发帖
×
20
完善资料,
赚取积分