你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8 I2C问题(STM8S003的I2C初始化)

[复制链接]
蓝熊233 提问时间:2015-11-17 23:32 /
STM8S003的I2C初始化遇到些问题,单片机上电后将所有IO口设置为推挽输出低电平
    GPIO_Init(GPIOA, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_SLOW);
    GPIO_Init(GPIOB, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_SLOW);
    GPIO_Init(GPIOC, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_SLOW);
    GPIO_Init(GPIOD, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_SLOW);




之后初始化I2C
    GPIO_DeInit(GPIOB);
    I2C_DeInit();
    I2C_Init(400000, 0x0123, I2C_DUTYCYCLE_16_9, I2C_ACK_NONE, I2C_ADDMODE_7BIT, 16);



I2C的SR3的BUYS位一直置位,如果一开始不设置IO口为推挽输出低电平就不会出现这种情况,这是啥原因
收藏 评论3 发布时间:2015-11-17 23:32

举报

3个回答
lkl0305 回答时间:2015-11-18 08:04:17
帮顶
wdshuang09 回答时间:2017-8-24 14:28:05
STM8S003的I2C初始化后,一直总线在忙,while((I2C_SR3&0X02));楼主是怎么解决的?I2C寄存器初始化在STM8S005K6上是可以直接运行的,I2C寄存器初始化直接复制过来的,STM8S003F3I2C不用配制,STM8S005K6需要配制,
硬件上PB4与PB5有加上拉电阻4.7K,IO口初始化如下:

PB_DDR=0XFF;//输出模式PB5-->I2C_SDA   PB4-->I2C_SCL
PB_CR1=0XCF;
PB_CR2=0XCF;
PB_ODR=0XFF;
1.jpg
miaol7 回答时间:2019-2-12 10:17:02
wdshuang09 发表于 2017-8-24 14:28
STM8S003的I2C初始化后,一直总线在忙,while((I2C_SR3&0X02));楼主是怎么解决的?I2C寄存器初始化在STM8S0 ...

IIC初始化结束后加一个软件复位
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版