STM32硬件IIC的BUG问题

问题描述

大概是这样,使用STM32硬件IIC作为主机通讯,只要不发送错误的从机地址,
通讯一直都是没问题的,因为验证程序的关系,所以在程序中修改了一下从机地址,
这时候就出现了问题,下面直接看图把

STM32硬件IIC的BUG问题_第1张图片使用这段代码修改从机的地址后显示从机地址修改成功,但是后续的通讯使用新地址却失败,笔者反复探究,观察后发现,发送一个错误的从机地址尝试一次通讯,后续是用正确的地址也会失败。
本着好奇心用逻辑分析仪,仿真后发现。情况是后续的通讯从机有回复应答,但是STM32硬件的IIC没有识别到这个应答。
STM32硬件IIC的BUG问题_第2张图片STM32硬件IIC的BUG问题_第3张图片仿真中的寄存器情况是这样的
STM32硬件IIC的BUG问题_第4张图片
STM32硬件IIC的BUG问题_第5张图片
正常通讯这里的寄存器应该是0x0082
多出来的位是AF位
STM32硬件IIC的BUG问题_第6张图片
不知道 这是不是就是传说中的STM32硬件IIC不好用的原因

你可能感兴趣的:(工作笔记,stm32,bug)