1,使用strlen()计算需要分配的堆的字符串长度必须记得加一用于结束符。字符串结尾记得加结束符。
char *content = pvPortMalloc(strlen(phItem->valuestring)+1);
strcpy(content,phItem->valuestring);
2,加入一个函数。调试并未运行到此函数。就出现void HardFault_Handler(void)错误。去掉该函数运行正常。并且GUI Free Memery: 显示为0.(运行平台。系统FreeRTOS GUI是STemWin_V532.)
导致的原因 :发现时该 函数中有while(1);死循环导致。为什么导致原因不明。
3, 数据大小比较 出现明明iHistoryMiniFreeBuf 数值比较大 却判断为小 如下 if(iHistoryMiniFreeBuf > iFreeBuf) iHistoryMiniFreeBuf = 0xFFFFFFFF,iFreeBuf = 0x3df 。
原因:因为变量是是有符号的整形。所有0xFFFFFFFF即是-1 要小于iFreeBuf。习惯了用无符号。放的白痴错误。
4,Visual Studio 在附加依赖项里面已经添加了相应的lib文件,并且也添加路径,为什么编译链接的时候还是提示无法解析的外部符号?
原因: 所引用的库是X64的 而 解决方案平台却是X86。也就是说 所引用的库和解决方案平台要一致。
5,STM32 定时器设置 寄存器 赋值 没有任何改变。
原因:对应的定时器时钟没有开启。
6,STM32 Bootloader加载APP异常。Bootloader进入app 前已经关闭所有中断。
原因:系统滴答未关闭在进入APP前。系统滴答中断是不可关闭的。所以只能关闭系统滴答以禁止中断。
7,白痴型错误 IC卡无法正常接收。不管怎么调试都无反应
原因:IC卡 画蚊香天线。TX1 TX2 都走在同一层。蚊香中间引线回来和外面的圈直接连接在一起了 因为都是同一个网络AD不会提醒。