打印
[STM8]

STM8L101硬件I2C 检测不到起始位

[复制链接]
1587|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
roshen007|  楼主 | 2017-1-13 09:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在调试I2C的时候,无法产生起始位我把代码贴出来大家看看!
I2C_Init(I2C_MAX_STANDARD_FREQ, 0x86,I2C_DutyCycle_2, I2C_Ack_Disable, I2C_AcknowledgedAddress_7bit);



UINT8 I2C_AM_Byte_Read(UINT8 device_address, UINT16 reg_add)

{

       UINT8 readdata,Temp;

       UINT8 add_H,add_L;

       add_H = reg_add>>8;

       add_L = reg_add & 0x00FF;

       while(I2C->SR3&0x02);//BUS EMPTY

       LED1ON;     



       //I2C_GenerateSTART(ENABLE);  

       I2C->CR2 |= 0x01;      //发送起始位

        //while(!(I2C->CR2&0x01)); 这句我注释掉了,但是不注释也过不去  手册上说是发送完成自动清0。 (数据手册说明:START: This bit is set and cleared by software and cleared by hardware when start is sent or PE=0.)

       while(!(I2C->SR1&0x01));//  等待起始发送完成,但是在这儿一直卡着过不去。    ( 数据手册说明:SB: Start Bit (Master mode)     0: No Start condition1: Start condition generated.)

       Temp = I2C->SR1;

        LED2ON;

       I2C_Send7bitAddress(device_address, I2C_Direction_Transmitter);

       while(!(I2C->SR1&0x02));//ADDR==1

       Temp = I2C->SR1;

       Temp = I2C->SR3;

      

       I2C_SendData(add_H);

       while(!(I2C->SR1&0x84));//TXE==1

       I2C_SendData(add_L);

       while(!(I2C->SR1&0x84));

      

      

       I2C_GenerateSTART(ENABLE);

       while(!(I2C->SR1&0x01));//SB==1

       I2C_Send7bitAddress(device_address, I2C_Direction_Receiver);

       while(!(I2C->SR1&0x02));//ADDR==1

       Temp = I2C->SR1;

       Temp = I2C->SR3;

       while(!(I2C->SR1&0x40));//RXE==1

       readdata = I2C_ReceiveData();

       I2C_GenerateSTOP(ENABLE);

}
沙发
SarahHXC| | 2018-9-5 11:42 | 只看该作者
楼主,一样的问题,求问解决了吗?

使用特权

评论回复
板凳
ZJJ!1002| | 2018-9-5 17:42 | 只看该作者
ST代理:  STM8,STM32 全系列单片机,可提供代理证。
项目选型和样品支持,针对技术上的问题MCU,且有专业FAE技术支持。
联系方式:159 1971 6087 QQ: 2850286350

使用特权

评论回复
地板
598330983| | 2018-9-5 18:49 | 只看该作者
ST8官方没提供例子吗

使用特权

评论回复
5
dongnanxibei| | 2018-9-5 20:19 | 只看该作者
没有配置好?我去ST8官网,竟然没有例子

使用特权

评论回复
6
zhuomuniao110| | 2018-9-6 15:43 | 只看该作者
硬件收发器?配置完全了吗

使用特权

评论回复
7
chenqiang10| | 2018-9-6 15:52 | 只看该作者
换成模拟iic 试一下?

使用特权

评论回复
8
chenqiang10| | 2018-9-6 15:52 | 只看该作者
ST官方没有例子吗?

使用特权

评论回复
9
捉虫天师| | 2018-9-6 20:20 | 只看该作者
最讨厌ST8了,没有32好用。

使用特权

评论回复
10
木木guainv| | 2018-9-6 20:32 | 只看该作者
还用模拟试试

使用特权

评论回复
11
小灵通2018| | 2018-9-6 21:20 | 只看该作者
I2C确实不好搞。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

1

粉丝