自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 VMware双网卡问题

即ens33是桥接网卡,ens36是NAT网卡。*根据虚拟机设置的顺序来判断。

2025-10-21 23:28:27 163

原创 数据截断问题

先描述现象:在使用串口中断接收数据时,在串口中断中把接收到的字节数,通过队列的方式传递给其他任务做解析,串口中断中明明接收到了数据,并且把data_size写入了队列,但是在任务函数中,能进入if的条件内的代码,但是接收到的data_size是0.问题就出在,接收到的数据超过了uint8_t的大小,高字节被截断了,所以就出现了,队列明明接收到了数据,但是接收到的数据是0。解决方法:改用 16 位变量存放长度。以上是串口中断中的代码。以上是任务函数中的代码。

2025-05-26 15:19:17 238

原创 中断优先级问题

中断优先级

2025-04-17 12:51:13 268

原创 canfestival协议栈使用writeNetworkDictCallBack发送SDO有问题

因为从机发给主机的报文都是通过canDispatch来分发给协议栈的,然后我就在state.c中的canDispatch中打断点,发现确实接收到了ID为0x581的报文。在使用writeNetworkDictCallBack函数发送SDO时,主机已经发出了ID为0x601的SDO,而且从机也回复了ID为0x581的SDO。在proceedSDO内部有这样两端段代码判断是否是对应的服务器反馈的SDO与客户端反馈的SDO。然后我就去看我用上位机生成的字典文件发现原来是客户端的ID写错了。

2025-04-08 16:57:57 383

原创 Canfestival移植问题

第二个问题就是我在主机字典中配置好TPDO后,发现只能发送部分的TPDO,比较靠后面的ID发送不了,刚开始以为是被仲裁掉了,后来想想我发送TPDO仲裁个毛啊,后来又怀疑是事件时间与禁止时间设置的不对,查看后没什么问题,因为TPDO是和软件定时器相关,后来排查是否是定时器没有触发,但是定时器触发和我们应该没什么关系。还有个小问题,我设置的TPDO的事件时间是20ms,但是CAN盒子上抓到的时间间隔却不是准确的20ms,目前问题还没有发现解决的办法。把定时器的数量增大到30后,能够正常发送所有的TPDO。

2025-03-30 22:39:44 322

原创 CAN发送不了数据

进入HAL_CAN_AddTxMessage内部逐步debug,发现函数在这里返回了HAL_CAN_ERROR_NOT_INITIALIZED。顺藤摸瓜,在HAL_CAN_AddTxMessage函数最开始的时候,这个状态就被赋值未为0x05了。在函数内部调用完HAL_CAN_AddTxMessage函数返回HAL_ERROR。最后通过打断点的方式判断到,是在这里被赋值为HAL_CAN_STATE_ERROR。后来再去查看原理图,发现原来这里有个跳线帽,接上跳线帽后,就能正常发送了。

2025-03-23 10:55:43 280

原创 FreeRTOS事件集合问题

问题描述:有两个任务A、B发送事件,一个任务C阻塞等待事件,两个任务A、B已经发送了对应的事件,但是任务C并没有等到到对应事件,而且并没有阻塞等待设定时间,就返回了osErrorTimeout。

2025-03-14 14:28:36 441

原创 串口DMA通讯BUG

只是把需要发送的数据地址搬运到DMA的发送区域,然后就不管了。由于整个任务的时间间隔为1ms,所以当把数据搬运到DMA发送区域后还未完成发送,就又通过memset(gUpper_com_send_buf,0,sizeof(gUpper_com_send_buf));此任务想实现按频率发送指定数据包,bug问题就在于每次while循环刚开始的时候都会把指定数据区域清零,memset(gUpper_com_send_buf,0,sizeof(gUpper_com_send_buf));

2025-02-22 09:46:18 258

原创 ubuntu 在本地通过ssh拷贝文件到另外一台机器

scp -r ./chassis_control/ lz@192.168.22.248:/home/lz/LZ_agv/src

2025-02-10 10:33:09 172

原创 ubuntu装系统

解决:在选择ubuntu和windows时,选中ubuntu按E,在splash后面加nomodeset。安装ubuntu时,会发生屏幕突然黑了。

2025-02-07 17:47:03 140

原创 ubuntu装系统

boot 500MB 启动系统用的(需要选择安装启动引导器设备)/swap 10240MB 内存交换分区(内存大的话可不用开辟这个分区)/ 剩下的都交给根目录。

2025-02-07 17:40:57 121

原创 ubuntu应用开机自启

ctrl + h 显示隐藏文件。

2025-02-07 17:36:39 100

原创 ROS学习

在写ROS action时,有两个关键字特别容易混淆。

2025-02-07 17:33:13 130

原创 代码重定向

在工作用遇到一个问题,使用的板子是STM32F767,开发环境是STM32CubeIDE,有两块RAM和一块Flash,因为功能的需要有特别多的全局变量数组,导致其中一块RAM满了,如下图STM32F767IGT6内存图所示,这个是由STM32CubeIDE自动生成的,当我添加新的任务时,编译不通过,才发现了这个问题修改链接文件STM32F767IGTX_FLASH.ld,在工程目录的STM32CubeIDE文件夹下做了以下修改,待测试/*._user_heap_stack :{. = ALIGN

2024-12-13 14:03:07 961

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除