野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4238|回复: 0

指南者,I2C在写操作时卡死,是什么原因?

[复制链接]
发表于 2023-1-1 18:36:50 | 显示全部楼层 |阅读模式
我用的指南者的开发板写的I2C程序,刚开始还正常,后来突然就会卡在写START和写ADDR后面的EV5和EV6检测中(while),请问是什么问题。

程序很简单,附在后面

        uint8_t DeviceAddr=0xA0;       
        //------------------------------------------------------------------------START
        I2C_GenerateSTART(I2C1,ENABLE);//发送START,发起I2C通讯
        while(I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT)==ERROR);
        //检查EV5,是否成功       
        //------------------------------------------------------------------------写(发送)
        I2C_Send7bitAddress(I2C1,DeviceAddr,I2C_Direction_Transmitter);//另种I2C_Direction_Receiver
        while(I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)==ERROR);
        //检查EV6,是否成功

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-20 19:24 , Processed in 0.034910 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表