杂类-边学边记
软件记录
1. makefile内,使用-I去包含一个含有多层次的子文件夹的场景,需要如何处理?
硬件记录
1. 2021年调试梯联遇到的问题
我那些电路板,不插串口,程序跑起来38秒后去读lan8720网卡信息后,main函数内的toggle led都没效果了,表现为死机现象。
插着CH340串口模块,能一直好好工作。手指放在电路板串口附近,竟然也能进行局域网调试。
很奇怪!匪夷所思。
参考博文:
USART RX 不上拉的后果
这两天写一个STM32的程序,其中USART1是要接一个串口屏做显示的,调试前期是还没用到显屏,就拿USART1做log打印。然后就发现了一个很怪异的现象。 USART1串口转usb接到电脑,程序运行稳定,没有异常。 USART1串口转usb不接到电脑,程序异常,容易跑飞HardFault_Handler。 后来把USART1的RX IO初始化改了下,就好了。 原本是 GPIO_InitStruct.Pin = GPIO_PIN_10; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 1 2 3 4 后面是 GPIO_InitStruct.Pin = GPIO_PIN_10; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 1 2 3 4 原因分析,是因为RX不上拉,悬空的话,电路的某些信号影响(比如射频,大功率器件),就容易误触发,进入接收中断。改成上拉就可以解决。 而当USART1 串口转usb接到电脑的时候,RX也不再是悬空状态,也不容易误触发接收中断,所以才造成上述说的情况。 ———————————————— 版权声明:本文为CSDN博主「小康师兄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/kangweijian/article/details/78720302
UART的RX引脚被干扰,为何为导致死机?
原因应该是msh导致的,调试串口RX引脚被干扰,导致一直有数据输入,msh线程奔溃,进而导致整个RTOS奔溃,表现形式就是死机。
2.
/************* 社会的有色眼光是:博士生、研究生、本科生、车间工人; 重点大学高材生、普通院校、二流院校、野鸡大学; 年薪百万、五十万、五万; 这些都只是帽子,可以失败千百次,但我和社会都觉得,人只要成功一次,就能换一顶帽子,只是社会看不见你之前的失败的帽子。 当然,换帽子决不是最终目的,走好自己的路就行。 杭州.大话西游 *******/