嵌入式C开发Bug记录
文章平均质量分 54
记录了本人遇到的一些Bug
养牛青年
一只平凡且快乐的程序猿!
展开
-
JY61模块在单向转动时角度数值突然变小
问题描述:在使用JY61模块测试角度的过程中,实际运动角度在增大,但模块输出的测量角度有时却在减小原创 2021-12-18 20:07:05 · 363 阅读 · 0 评论 -
JY61输出的角度数据滞后于实际角度
问题描述:程序从JY61模块读取到的角度滞后于实际角度原创 2021-12-18 19:52:53 · 526 阅读 · 0 评论 -
接收到数据帧的最后的几个字节数据跑到了数据帧开头
项目场景:场景:嵌入式c应用程序开发,通过串口往从设备发送命令,从设备收到命令后回复与该命令唯一对应的回复。问题描述:主设备发送数据正常,但接收到的串口数据乱码。仔细观察后发现:大多数情况下,回复的数据帧最后的x个字节数据跑到了数据帧开头,将开头的x个字节数据覆盖了。原因分析检查代码后发现问题如下:这段代码预期实现:当执行一次read不能把fd里面的数据读取完毕,就会进入下一次循环,继续读取剩余数据,直到把剩余的数据读取完毕。这段代码实际实现:每一次执行read函数都会把读取到原创 2021-03-27 01:31:28 · 503 阅读 · 0 评论 -
按键后无法进入u-boot的命令行模式
项目场景:u-boot启动后按键也无法进入命令行模式问题描述:想在u-boot中重设启动参数,但u-boot启动后按键没有进入命令行模式,反复试验了几次都不行,换了串口线在pc端的USB插口都不行。pc端串口软件为:mobaXterm原因分析:串口可以正常输出打印,那么键盘的输入信息可能:u-boot没有收到信息1.1 pc端的串口软件没有将键盘输入发送出去1.2 键盘输入发送出去了,但是传输过程中出现问题(线路松动)u-boot收到了信息,但是内部发生错误导致无法进入命令行模式原创 2021-03-22 22:05:12 · 3859 阅读 · 4 评论 -
u-boot下ping服务器alive,但tftp下载失败
项目场景:u-boot通过tftp下载服务端文件服务端:deepin20.1问题描述:u-boot的命令行模式下,通过tftp命令下载文件,但一直显示"TTTTT"等待传输字样,ping服务器IP地址后显示服务器状态为:“alive”原因分析:由于ping服务器的状态为:“alive”,说明下载网络是通的,问题很可能在服务端。服务端的tftp服务器又可分为两个部分:1.服务器设置2.tftp共享文件夹。解决方案:查看共享文件夹。该共享文件夹的权限为:666。我们可以往该共享原创 2021-03-22 21:31:11 · 1408 阅读 · 0 评论 -
接收网络数据包出错
项目场景:32位嵌入式设备中使用C语言接收具有固定长度的数据包。问题描述:数据包格式:[ [数据包包头] + [有效载荷] + [校验位] ]C语言定义相同数据类型的结构体:{{head_stru} + {payload_stru} + {check_stru}}接收结果:打印接收结果后发现有的数据错位,有的数据显得十分荒谬。原因分析:查看发送数据包的设备的用户手册,发现关于该数据包包头的定义中,存在字节补齐的选项。分析包头数据格式,发现在4字节对齐的情况下,包头中有两个地方分别需原创 2021-01-01 21:29:25 · 1123 阅读 · 0 评论