历史上的今天
今天是:2025年08月08日(星期五)
2019年08月08日 | STM8S硬件IIC卡在判忙,注意事项
2019-08-08 来源:eefocus
具体的代码我就不贴了,21IC有很多示例,放到自己的工程死都不通。后面放弃,改用模拟IIC。今天又尝试半天,居然通了,特意发文章纪念,且帮助有同样困惑的人。
2.下面是关键,下面这样设置IO可正常使用硬件IIC
GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_OUT_OD_HIZ_SLOW); //IIC,OD outPut
GPIO_Init(GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_OD_HIZ_SLOW); //IIC,OD outPut
//或者
GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_OUT_OD_HIZ_FAST); //IIC,OD outPut
GPIO_Init(GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_OD_HIZ_FAST); //IIC,OD outPut
下面这样设置IO不能正常使用硬件IIC
GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_OUT_OD_LOW_SLOW); //IIC,OD outPut
GPIO_Init(GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_OD_LOW_SLOW); //IIC,OD outPut
//或者
GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_OUT_OD_LOW_FAST); //IIC,OD outPut
GPIO_Init(GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_OD_LOW_FAST); //IIC,OD outPut
关键在于不能把IIC口设置成输出低电平,不然总是卡在判忙。这里不容易发现问题是因为,先初始化IO的时候是输出的低电平,然后初始化IIC的时候,这里就被IIC硬件使用了外部上拉变成了高电平,你以为IO口是正常了,其实在判忙这通不过。
上一篇:stc8单片机学习记录
史海拾趣
|
ModBus帧格式为:从机地址(1字节),功能码(1字节),起始地址(2字节),数据长度(2字节),CRC码(2字节) 然后数据传输方式规定为串行异步:1位起始位,8位数据位,1偶校验位,1位停止位。 我的疑问是: 1)CRC只对数据位进行校验,那就是 ...… 查看全部问答> |
|
源代码如下: Private Sub Form_Load() Dim word, meaning As String Open \"words.dat\" For Input Access Read As #1 Do While Not EOF(1) Input #1, word ...… 查看全部问答> |
|
我已经从21号弄到现在了,本来年前想弄一点效果出来,但这几天一直试却实在调不通,所以只好向大家求助了。 我计划做两块电路板之间的无线通讯,用的是149,通讯模块是prt2000。 电路版已做好,板内控制灯等元件都是灵的,但是两块板之间的控一直 ...… 查看全部问答> |
|
这段是复制例程中的,感觉不太对啊,求大家指教。记得书上写的是:SYSCLKOUT 是CAN 模块系统的时钟频率,与CPU 的时钟频率一样,那么对于150 MHz SYSCLKOUT ,CAN 模块系统的时钟频率也应该为150 MHz,那么下面这段的CAN clock是什么意思?又是如何 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 11:39 编辑 放大器具有高 PSRR,就不需担心电源变化? 链接deyisupport./blog/b/signalchain/archive/2013/12/16/psrr.aspx 本人模拟新手,看了这篇文章了解了PSRR和电源的关系,重点了解了规格书中写的DC PS是R ...… 查看全部问答> |




