news 2026/4/23 17:21:00

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

作者头像

张小明

前端开发工程师

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/23 10:12:48

LangFlow社交媒体内容审核工具实现路径

LangFlow 构建社交媒体内容审核系统的实践路径 在社交平台每天产生数亿条用户评论的今天,如何高效识别侮辱、仇恨言论或隐晦违规内容,已成为风控团队的核心挑战。传统基于关键词和正则表达式的过滤方式,在面对“谐音黑话”、“缩写代称”甚至…

作者头像 李华
网站建设 2026/4/23 10:13:44

基于NX的智能制造解决方案:深度剖析

NX如何重塑智能制造:从设计到制造的全链路革新你有没有经历过这样的场景?一个紧急的设计变更通知突然下达,团队立刻陷入混乱:有人在重建三维模型,有人在手动修改图纸,仿真工程师抱怨几何体不兼容&#xff0…

作者头像 李华
网站建设 2026/4/23 10:12:39

LangFlow与Kubernetes集成实现弹性伸缩AI服务

LangFlow与Kubernetes集成实现弹性伸缩AI服务 在AI应用从实验室走向生产环境的过程中,一个常见的困境是:数据科学家能快速构建出功能原型,却难以将其稳定、高效地部署为可对外服务的系统。尤其是在面对突发流量时,手动扩容既慢又容…

作者头像 李华
网站建设 2026/4/23 10:12:42

基于协程的异步数据流Flow

1.什么是Flow 基于协程的异步数据流&#xff08;cold stream&#xff09;Flow在协程基础上构建的响应式流&#xff0c;用于处理异步数据序列 2.Flow的作用 异步返回多个值&#xff0c;不会阻塞线程 fun simpleFlow() flow {delay(1000)emit(1) }Test fun test()runBlocking<…

作者头像 李华
网站建设 2026/4/23 10:12:38

LangFlow数据分析助手:上传CSV自动生成洞察报告

LangFlow数据分析助手&#xff1a;上传CSV自动生成洞察报告 在企业日常运营中&#xff0c;一份销售报表可能藏着增长机会&#xff0c;也可能预示潜在风险。但问题在于——有多少人真正愿意逐行翻阅上千条记录的CSV文件&#xff1f;又有多少决策者因为“看不懂数据”而错失先机&…

作者头像 李华
网站建设 2026/4/23 10:12:45

Keil5中C函数内存分配机制全面讲解

Keil5中C函数内存分配机制深度解析&#xff1a;栈、堆与静态区的实战指南 你有没有遇到过这样的情况&#xff1f;程序在调试时一切正常&#xff0c;可一到实际运行就莫名其妙地进入 HardFault_Handler &#xff1b;或者调用 malloc() 总是返回 NULL &#xff0c;明明还有…

作者头像 李华