- 博客(13)
- 收藏
- 关注
原创 【ROS笔记】关于Ubuntu安装(虚拟机/双系统)中遇到的问题
在这个过程中,对于我的电脑,问题记录如下(适用于2025.10)虚拟机使用还是有点麻烦,所以安装Ubuntu双系统。使用一个U盘+下载UltraISO“写入硬盘映像”之前在虚拟机上安装的Ubuntu,遇见两个问题。我手上没有U盘,则下载EasyUEFI。有两种方式,都先下载镜像文件。本文这次主要记录的部分。
2025-10-17 07:54:03
991
原创 【STM笔记】CUBEIDE移植到Keil时写入多字节卡死
在CUBEIDE里代码之所以可以运行,是因为CUBEIDE里内存是动态分配的,malloc的上限是整个RAM(还是SRAM我忘了)。但在Keil里malloc则受stack size和heap size的限制,导致无法写入太大的数据。由CUBEMX生成的工程里只规定了minimum的stack和heap size,默认是0x0200和0x0400(好像)。使用SPI通讯对传感器初始化,在写入多字节的初始化数据时卡住,无法进入报错,只有重上电可以重新启动,并且再次卡住。或改成0x4000应该就够用了。
2025-10-17 00:47:22
215
原创 【STM笔记】CUBEIDE与Keil的串口重定向实现
(Deepseek)串口重定向 是指将原本发送到或接收自串行端口的数据,改变其流向,使其指向另一个目标或来源。将串口数据重定向到其他目标将其他来源的数据重定向到串口从文件发送指令一个程序的输出作为另一个串口通信程序的输入将一个终端连接到串口,然后将自己发送的数据再接收回来重写了 _read() 和 _write() 系统调用(打印改为调用自己的__io_getchar和__io_putchar)批量DMA数据传输重定向(通过自定义函数dma_write_block()传输大块数据)
2025-10-17 00:40:57
338
原创 【STM笔记】添加EventRecorder后#include CMSIS_device_header报错
接着参考如上链接的帖子,在Pack installer里,下载多个DFP pack的版本(那位博主额外下载了,在Pack installer里同样可以。下载方式:点开Pack installer,在左半边窗口的“All device”列表里选择STMicroelectronics,接着在右半边窗口的“Pack”列表里选中“Keil:STM32F4xx_DFP”/其他适用的芯片型号的DFP)。从V1.28.3回退到1.28.1仍无效,放弃这个方法。这位博主的思路是对的,本质上是Pack版本不对。
2025-09-09 19:49:04
248
原创 【CANoe笔记】事件触发延时
其实答案就是在开关事件里调用setTimer就行了,我以为serTimer是对定时器的一个初始化只能放在onStart里用…如果在定时器事件(on timer)里调用serTimer就成为了定时循环,会周期性触发。MySwitch只对MyLight发送一条报文,但根据不同开关报文的内容发生相应变化。其实在任何函数里都可以调用,表示开启定时器,且这个开启只会触发一次。关于定时器的初始化,就是在variables里定义一下就行了。开关1对应报文内容是0-6,开关2对应报文内容是0-2。如何用开关事件触发延时。
2023-03-22 09:00:33
1457
原创 【stm32f407笔记】通信调试
esp8266参考↓学习https://blog.youkuaiyun.com/ZHOU_YONG915/article/details/122814040由上知使用型号为ESP-12F。然后需要USB转TTL模块……刚下单还没到呢啊。有可能考虑用路由器,
2022-05-06 16:51:31
643
原创 【stm32f407笔记】温度模块调试
htu21d它俩都用IIC进行通信,所以本文主要研究IIC搭载多个设备的通讯。1.找器件地址https://blog.youkuaiyun.com/qq_34681938/article/details/95938557https://blog.youkuaiyun.com/u011863378/article/details/1104914112.报错unterminated conditional directive是因为.h文件没在末尾写#endif。查询发现第二个原因还可能是头文件互相包含。3.修改
2022-04-30 14:45:54
756
原创 【stm32f407笔记】光照模块调试
BH17501.例程移植思路(1)在IIC.h文件里可修改SLK和SDA的引脚定义(2)在BH1750.c和BH1750.h里可还有IO口初始化的定义(3)一般来说ADDR地址线接地时地址是0x46,这个在上面说的.h文件里要确认一下。如果是接电源线,地址是0xB8。2.市面上买模块的时候,给的程序都没有stm32的。要在csdn下载例程,注意看是不是407的,然后很多程序会用Oled显示,我不需要,所以这个记得删掉。3.串口无法收发数据重新查看了一下IIC通讯协议的硬件连接,发现SLK和SD
2022-04-29 13:19:46
833
1
原创 【stm32f407笔记】超声波模块调试
bug1:对应代码void EXTI9_5_IRQHandler(void){ if(EXTI_GetITStatus(EXTI_Line5) == SET){//由中断4触发 TIM_SetCounter(TIM2,0);//定时器计数清零 TIM_Cmd(TIM2,ENABLE);//开启定时器 while(GPIO_ReadInputDataBit(GPIOA,Echo)) {flag=1;printf("%d\r\n",flag);flag=0;}; TIM_Cmd(TIM
2022-04-28 14:52:08
850
原创 【stm32f407笔记】串口通信和超声波测距
个人向毕设记录(一)串口通信怎么开始方法1:用USB转TTL模块,TX和RX口对准接好。方法2【最简单】:407板子上第二个usb口(标注有UART的口),直接用安卓-usb数据线接到电脑上,用XCOM串口调试助手即可传输数据。方法3:正点原子开发板好像有PA9和PA10可以直接连,修改一下跳线帽什么的,参考《STM32F4开发指南-库函数版本》里串口通信的实验。但是目前手上没有。(二)串口打印编程单片机和电脑串口通信的函数思路:1.串口初始化,即uart_init()(1)注意初始化的波特
2022-04-27 20:10:58
2144
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅