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

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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版