2019年STM32F103调试笔记

1、现象:在做远程升级时,程序从备份区域读取到APP区域并校验成功之后,程序执行到GPRS模块时,始终在执行设置模块的第一句话。

   原因分析:原来以为和GPRS模块有关系,后来分析发现程序没有进入串口中断,进而发现是由于没有给串口中断设置偏移量(NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8000);在中断优先级配置处设置),

  总结:发现问题,不要着急,从问题的根源通过串口/LED灯一步一步打印分析。

2、现象:在做远程升级时,串口接收到APP数据之后校验不通过。

   分析原因:第一  校验函数不对(传参有错),第二 读取Flash数据时,读的数据个数不对。

  总结:写代码时自己挖的坑,冷静。

3、现象:远程控制器项目用GPRS联网MQTT注册不上去

   原因分析:通过网络调试助手,让设备连接到本地网络,观察设备发送的注册数据,发现数据最后两个字节不稳定。反推终于发现定义的数组太小。

   总结:写代码时没有理解清楚前辈代码的含义,一味模仿。

猜你喜欢

转载自www.cnblogs.com/gzqblogs/p/10821597.html