1.使用变量前,一定记得先初始化。(不然导致程序异常,难检查)
2.注意使用sprintf等函数,不要修改非法内存值导致程序异常。(只修改了一处地方,程序有可能不死,导致逻辑老是不对)
3.copy时,将一部分含for(i)的代码,copy到另外一个for(i)内导致异常。(1.不小心 2.封装的意义及重要性)
4.在已下标操作指针的方式修改内存时,应该做严格的检查。
5.在开发显示跟触摸时,有时在一个变量前后放互斥锁,逻辑老是不符合预期。考虑放互斥锁的宽度范围了。
6.使用freeRtos时,任务栈不够会引起硬件hardfault错误,注意。
7.在FreeRtos中,在UART中断中朝列队发送消息。这样应该先初始化好RTOS相关参数,最后初始化UART外设。
8.对于使用JSON等库,要使用其生成对象的函数,而不是自己malloc一块内存。
ps:基于源码分析问题即可
9.使用DMA时,初始化时钟摆在第一位,然后再初始化配置。
10.开发STM32F746显示时,屏幕偶尔会抖动,关掉cache则没问题(是要关掉cache,开MPU保护一样有问题)
ps:是不是STM32F746稳定性不行?
11.串口Uart的RX输入脚一定要配置成上拉,否则会受干扰,莫名其妙进入中断。
12.F746与语音芯片UDA1380进行IIC通讯时,必须IIS同时播放音频才会成功(奇怪)