单片机BUG
用于记录MCU开发过程中遇到的BUG问题
&旧城
这个作者很懒,什么都没留下…
展开
-
SPI通信失败问题记录
平台:N32G430和nRF52840两块MCU进行SPI通信问题:SPI收发数据错乱、接收到的数据左移或者右移一位。以及不能正常通信问题本质问题:对SPI通讯协议片选引脚不熟悉,硬件片选和软件片选区别不了解。原创 2024-10-14 15:29:27 · 133 阅读 · 0 评论 -
C语言if条件不成立但里面语句能被执行原因分析
1、当两个变量systick_count_1s 和recevie_delay_time中有一个变量类型为unsigned无符号类型时,相减是个负数,会被括号强制把负号去掉,所以条件成立,进入if里。2、定义的变量类型和赋值数据类型要一致,如:定义uint8_t类型的变量,却复制bool类型的数据,则也会有可能导致if条件判断异常。原创 2024-05-30 11:04:41 · 442 阅读 · 0 评论 -
debug卡死在0x08000764 BEAB BKPT 0xAB汇编指令中
tips:如果使用了STM32CubuMX生成代码,图形化修改配置重新生成代码时,默认不勾选microLIB,即使之前的代码是勾选上的也会自动取消勾选。这一句汇编语句中,主要问题都是与在单片机上使用printf()函数有关。stm32代码调试时发现代码卡在下面这条汇编语句中。原创 2023-11-29 09:53:14 · 325 阅读 · 1 评论 -
STM32串口第一个字节数据丢失问题
串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成,否则,发送不成功,使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。,应该也能消除错误。当然,也有别的方法,比如先清除TC状态位,或是,在write USART_DR之后,加入一个小延时,让数据发送完毕,应该也能间接排除这个错误。2、使用单步调试,单步运行各个发送指令,都正常。转载 2023-11-26 15:31:47 · 860 阅读 · 1 评论