news 2026/4/16 12:53:42

智能机器狗项目开发中的问题记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
智能机器狗项目开发中的问题记录
  1. 还没有将创建命令添加到启动脚本 使用消息队列和共享内存 需要
mkdir/tmp/ipc/shmem-p mkdir/tmp/ipc/msgqueue/peer-p
  1. 板子焊接完成后,做硬件测试时发现板子虚焊问题较多

  2. 链接stlink后,有时能烧录有时不能,板子还一直上锁,硬件调试了挺长时间,结果发现是软件烧录口没有打开

  3. 问题:做数据库存储存历史记录(包括时间戳)时,时间戳和时区的混乱导致调试了很长时间,时间转换就是不对。解决:明确概念 时间戳是绝对的都是utc时间戳 根据utc时间戳可以转换成本地时间或utc时间;虚拟机的时区务必设置成北京时间

  4. 问题:测试控制指令时,测试程序一直收不到消息。 解决:msg的类型虽然没用,但必须大于0

  1. wifi模块一直不能正常通信 被卡住很久 最后发现是硬件问题 板子上的双刀三制开关有正反 开关焊反了!

  2. 遇到段错误,没有log

可以通过valgrind定位段错误

gcc -g your_code.c -o test.out valgrind --leak-check=full --track-origins=yes ./test.out

分析发现是用cJSON时返回了NULL,对NULL进行了解引用操作

  1. 问题:串口连接电脑后 电脑已经识别到了ch340串口 但是单片机给串口发数据 串口收不到

解决: 控制变量法 先用了一块好的板子 测试后发现代码没问题,type c的数据线也没问题,stlink也没问题,最后测试发现是双刀三掷开关拨到串口档 开关没有接通 应该是开关坏了或这开关没焊接好

  1. wifi模块烧录完固件后,复位后收不到ready。用AI分析log发现,别人给的固件有问题,esp8266的flash大小是1MB,而固件是8MB,自己重新到官网下载对应1MB固件,重新烧录即可。

  2. 给单片机烧录固件时,stlink识别不到,而插上stlink的vcc引脚(3.3V)就识别到了,usb供电时,用万用表测量发现vcc的引脚是4.69V!又经过检测发现ldo降压芯片烧了,失去了降压功能,需要换一个AMS117-3.3。

  3. 代码烧录到板子后,没有看到相应的调试信息。最后发现是栈溢出问题,设置的栈大小为0x400,即1024个字节,而这里定义了过大的局部变量,导致程序崩溃

  1. ap3216 位置和光照读出来一直是0 卡了很久很久 不是代码问题 不是焊接问题 不是模块坏了的问题 是少接了一根引脚 ap3216不光要接vcc 还得将vled引脚接3.3v!!

  2. stm32固件运行后,卡在准备复位
    mcu固件的bug很难找,因为它不像跑在linux系统上的那些程序,还可以借助valgrind调试等等,这里直接卡死在这了。一个一个排查也没发现问题,最后重写时才发现这里是重新开启空闲中断的位置不对

一开始是跟开启uart3中断的函数一起放在了47行,这样的话,只要有串口中断进来(包括串口3)就会再一次开启中断,会导致串口5中断一直重复开启;后面又放在了memset后面,这时只有透传模式下才会重新开启串口5中断,在配置网络时,会导致串口5中断不会重新开启,只能放在上图中的位置,有串口5中断来了就重新开启串口5空闲中断

中断,在配置网络时,会导致串口5中断不会重新开启,只能放在上图中的位置,有串口5中断来了就重新开启串口5空闲中断

  1. 用串口1 printf打印调试信息时 有时能打印出来 有时不能 电脑问题?未解决
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 21:56:10

串口数据缓存管理策略:qserialport高级应用指南

串口通信的“隐形战场”:如何用QSerialPort打赢数据缓存之战你有没有遇到过这样的场景?设备明明在疯狂发数据,你的程序却像“耳背”的老人,漏掉关键帧、解析错乱、甚至直接卡死?调试时一切正常,一上真实工况…

作者头像 李华
网站建设 2026/4/14 8:30:12

Mac窗口管理革命:Topit如何彻底改变你的多任务工作方式

Mac窗口管理革命:Topit如何彻底改变你的多任务工作方式 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在当今快节奏的工作环境中,Mac用…

作者头像 李华
网站建设 2026/4/11 16:06:55

LangFlow微服务架构改造建议:适应大规模应用场景

LangFlow微服务架构改造建议:适应大规模应用场景 在企业加速拥抱大语言模型(LLM)的今天,AI应用开发正从“少数专家主导”向“全员参与创新”演进。然而,技术门槛高、协作效率低、部署运维难等问题依然困扰着团队——尤…

作者头像 李华
网站建设 2026/3/27 15:10:01

LangFlow投资组合建议生成器逻辑架构

LangFlow投资组合建议生成器逻辑架构 在金融服务日益智能化的今天,如何快速构建一个既能理解用户需求、又能结合市场数据与合规要求生成个性化投资建议的系统,成为金融科技团队的核心挑战。传统的开发模式往往依赖大量手写代码串联LLM调用、外部数据查询…

作者头像 李华
网站建设 2026/4/16 0:17:18

milvus:存储检索高维向量的AI数据库

在当今的大数据时代,非结构化数据正以指数级的速度增长,包括文本、图像、音频和视频等形式。据统计,世界80%的数据以非机构化数据存储.要在这些数据中进行快速高效的搜索和管理,传统的关系型数据库往往显得力不从心。这种背景下,M…

作者头像 李华
网站建设 2026/4/16 9:08:43

VMDE虚拟机检测工具:从原理到实战的深度解析

VMDE虚拟机检测工具:从原理到实战的深度解析 【免费下载链接】VMDE Source from VMDE paper, adapted to 2015 项目地址: https://gitcode.com/gh_mirrors/vm/VMDE 你是否曾经怀疑自己的系统正在虚拟机中运行?🤔 随着虚拟化技术的普及…

作者头像 李华