错误笔记

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不会提醒。

你可能感兴趣的:(错误笔记)