最近新使用STM8S003F芯片,在调试硬件I2C的遇到了一个奇怪的问题:示波器仅仅能够量到起始信号,然后一直保持低电平,直到超时。我的理解:不管Slave地址正不正确,SCL应该能够得输出吧,可是什么都没有?下面是程序段。 CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1); I2C_Init(400000, 0xA0,I2C_DUTYCYCLE_2, I2C_ACK_CURR, I2C_ADDMODE_7BIT, (uint8_t)16 ); I2C_GenerateSTART(ENABLE); while (!I2C_CheckEvent(I2C_EVENT_MASTER_MODE_SELECT)); { I2C_CHECK_TIMEOT(); } I2C_Send7bitAddress(0xA0, I2C_DIRECTION_TX); while (!I2C_CheckEvent(I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)); { I2C_CHECK_TIMEOT(); } |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
还有函数“sEE_WritePage()”
你的while后来带了分号,下面的I2C_CHECK_TIMEOT()不执行
评分
查看全部评分