<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[haojie]]></title><description><![CDATA[学生一个，努力学习，加油！]]></description><link>https://blog.youkuaiyun.com/Lhj0616</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lhj0616]]></copyright><item><title><![CDATA[can回环切换出错]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/156460538</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/156460538</guid><author>Lhj0616</author><pubDate>Wed, 31 Dec 2025 16:31:08 +0800</pubDate><description><![CDATA[xx。]]></description><category></category></item><item><title><![CDATA[豆包：freertos 这个互斥锁的优先级继承 ，避免优先级反转]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/155277998</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/155277998</guid><author>Lhj0616</author><pubDate>Wed, 26 Nov 2025 17:13:28 +0800</pubDate><description><![CDATA[优先级继承是互斥锁的机制：当高优先级任务因等待互斥锁被阻塞时，持有锁的低优先级任务会临时继承高优先级任务的优先级，直到它释放锁为止。（OrangeLedTask，高优先级）：需要访问共享资源（比如你的AccessSharedData）；（GreenLedTask，低优先级）：正在持有共享资源的互斥锁，执行临界区代码；（RedLedTask，中等优先级）：不需要共享资源，随时可运行。的反常现象，会导致高优先级任务的响应延迟，违背实时性要求。是互斥锁特有的关键机制，目的是解决实时系统中常见的。]]></description><category></category></item><item><title><![CDATA[freertos 二进制锁、互斥锁问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/155276819</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/155276819</guid><author>Lhj0616</author><pubDate>Wed, 26 Nov 2025 17:04:39 +0800</pubDate><description><![CDATA[借助STMCubeMx学习freertos学习二进制信号量与互斥信号量有三个任务：任务A 点亮LED1,访问共享变量,优先级正常任务B 点亮LED2,访问共享变量，优先级正常任务C 点亮LED3，优先级高访问共享变量，会有一个硬延时，延时500ms的操作。]]></description><category></category></item><item><title><![CDATA[STM32CubeMX工程复用]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/154995332</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/154995332</guid><author>Lhj0616</author><pubDate>Tue, 18 Nov 2025 17:36:33 +0800</pubDate><description><![CDATA[3.如果只是想用STM32cubeMX配置好的结构，之后也继续使用STM32cubeMX进行配置，不考虑自己之前编写的代码，就用第二个链接的方法2(此方法会弄掉用户自己编写的代码)用这个方法的时候，需要注意在步骤3和步骤4之间使用keil 5V5.24.2.0(我用的keil版本)需要指定下编译产生的中间文件的存放位置（1.如果想直接复用原来的代码，之后不再使用STMcubeMX进行配置了，直接文件夹复制即可，不用用上面两个网站的方法。：这个位置所在的文件夹不要与工程同名）]]></description><category></category></item><item><title><![CDATA[stm32 gpio 先写电平再初始化，是否可行？]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/154537262</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/154537262</guid><author>Lhj0616</author><pubDate>Fri, 07 Nov 2025 17:27:52 +0800</pubDate><description><![CDATA[我这个代码先  HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9, GPIO_PIN_SET);可以吗，是不是得先把配置完呢。可是这个代码是STM32CUbeMX自动生成的。]]></description><category></category></item><item><title><![CDATA[STM32CubeMX安装完成后打开不能进入主页面]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/154186176</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/154186176</guid><author>Lhj0616</author><pubDate>Fri, 31 Oct 2025 15:03:23 +0800</pubDate><description><![CDATA[STM32CubeMX安装使用。]]></description><category></category></item><item><title><![CDATA[stm32 can错误中断不处理]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/153736443</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/153736443</guid><author>Lhj0616</author><pubDate>Wed, 22 Oct 2025 16:07:28 +0800</pubDate><description><![CDATA[设备上电后，第一次能进入can错误中断处理函数，之后就进不了了。]]></description><category></category></item><item><title><![CDATA[stm32f4 can接收中断不生效。]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/153628477</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/153628477</guid><author>Lhj0616</author><pubDate>Mon, 20 Oct 2025 13:44:06 +0800</pubDate><description><![CDATA[看了这个大哥的文章，对调试有了新的理解。但我们不是同一个问题。]]></description><category></category></item><item><title><![CDATA[stm32 can错误处理问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/151728404</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/151728404</guid><author>Lhj0616</author><pubDate>Mon, 15 Sep 2025 23:26:41 +0800</pubDate><description><![CDATA[xx。]]></description><category></category></item><item><title><![CDATA[硬件IIC使用问题汇总]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/150950666</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/150950666</guid><author>Lhj0616</author><pubDate>Thu, 28 Aug 2025 14:07:17 +0800</pubDate><description><![CDATA[很重要的一个点是：在配置硬件IIC时，设置完复用开漏输出要配置I2C时序之前记得要复位一下IIC。stm32硬件IIC关于100K与400K的配置不同点主要是在I2C_TRISE与I2C_CCR两个寄存器的配置上。硬件IIC用到的IO口需要配置为复用开漏输出（按规定不能额外配置下拉了，要不容易实现电平问题）使用IIC进行通讯要注意从机地址，发送的地址是左移后加上读写位的地址还是原来的单纯的7位地址。使用stm32f4硬件IIC与外置商用触控芯片进行通讯，当有触控数据时，将触控数据读出来。]]></description><category></category></item><item><title><![CDATA[stm32f4 dma的一些问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/149451989</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/149451989</guid><author>Lhj0616</author><pubDate>Fri, 18 Jul 2025 19:32:48 +0800</pubDate><description><![CDATA[一开始是有的，后期没了，特别是改完dma1 uart2之后一直以为自己没改对。参考正点原子的实验18进行的测试。原版是dma2  uart1。我把stlink拔掉然后重新上下点就开始哐哐收数据了。我发现烧录程序后，打开串口调试助手没有用（即没有显示信息）同时连接电源、stlink，typec-usb线。用的新版的stlink(可以供电。我想改为dma1 uart2。]]></description><category></category></item><item><title><![CDATA[PC连接公共wifi]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/147595563</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/147595563</guid><author>Lhj0616</author><pubDate>Mon, 28 Apr 2025 20:55:28 +0800</pubDate><description><![CDATA[强制弹出登录界面这是最简单直接的方法，很多时候都能解决问题。打开你的浏览器 （很常见的路由器地址）]]></description><category></category></item><item><title><![CDATA[嵌入式 C语言 utc 时间接收发送格式选择]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/147139450</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/147139450</guid><author>Lhj0616</author><pubDate>Fri, 11 Apr 2025 11:17:18 +0800</pubDate><description><![CDATA[格式：“hhmmss.sss”（时间） + “ddmmyy”（日期），如"123456.789,060624"。格式：uint32_t 或 uint64_t（自1970-01-01 00:00:00 UTC的秒数/毫秒数）格式：“YYYY-MM-DDTHH:MM:SSZ”（如"2024-06-06T12:34:56Z"）示例：1717692805（秒级）或 1717692805123（毫秒级）性能优化：避免频繁字符串操作（可预生成格式模板）。时区处理：始终使用UTC，避免本地时区转换。]]></description><category></category></item><item><title><![CDATA[stm32 can 遥控帧的问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/146906486</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/146906486</guid><author>Lhj0616</author><pubDate>Tue, 01 Apr 2025 13:23:26 +0800</pubDate><description><![CDATA[如果开启了接收中断，那在main函数中轮询接收就无效了。我们使用，只需要在发送的时候将rtr设置为1即可。引用这个博客的一段话。]]></description><category></category></item><item><title><![CDATA[stm32定时器部分问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/146504749</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/146504749</guid><author>Lhj0616</author><pubDate>Tue, 25 Mar 2025 15:39:30 +0800</pubDate><description><![CDATA[这种多定时器协同工作的方式可以满足复杂系统的时序控制需求，是STM32开发的常用技术。在STM32F4中完全可以同时配置和使用多个定时器(如TIM2和TIM3)。输出、输入捕获、输出比较等外设功能，确实不需要配置或使用任何GPIO口。如果只是配置和使用定时器(TIM)的基本计时功能，而不使用PWM。中断向量	TIM2_IRQn	TIM3_IRQn。执行不同的功能(PWM、输入捕获等)]]></description><category></category></item><item><title><![CDATA[C语言sizeof的一个问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/146482598</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/146482598</guid><author>Lhj0616</author><pubDate>Mon, 24 Mar 2025 18:10:34 +0800</pubDate><description><![CDATA[今天项目中用到了sizeof ，本意是算一下这个数据中元素的数量，但得到的值一直是4.如果上面创建数组，然后直接传入这个数组就对了。原因：传入的参数是一个地址（32位）]]></description><category></category></item><item><title><![CDATA[stm32f4 spi配置的一个问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/146476246</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/146476246</guid><author>Lhj0616</author><pubDate>Mon, 24 Mar 2025 14:48:46 +0800</pubDate><description><![CDATA[现象：使用了stm32f4的spi外设，自己使用寄存器配置了PA5、PA6、PA7还有一个CS引脚。使用此spi与nvram进行通信，发现同一个地址写入的数据与读取的数据最后一位一直发生错误，有的+1有的-1。如果要配置IO口为复用推挽输出，配置了GPIO的端口模式与输出类型之外还需要配置其输出速度！配置其输出速度为为100MHz(高速)才行。直接使用库函数比较方便。最终排查是spi外设没有配置好。]]></description><category></category></item><item><title><![CDATA[串口部分问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/146406482</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/146406482</guid><author>Lhj0616</author><pubDate>Thu, 20 Mar 2025 21:16:28 +0800</pubDate><description><![CDATA[串口调试助手发送空格的问题及在调试模式下串口中断的问题]]></description><category></category></item><item><title><![CDATA[QT打包的一个问题]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/146308359</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/146308359</guid><author>Lhj0616</author><pubDate>Mon, 17 Mar 2025 10:18:17 +0800</pubDate><description><![CDATA[还有一个调试小技巧：使用Enigma Virtual Box封包挺费时间的。避免浪费时间的一个过程是，使用windeployqt弄好之后，将外部的dll库也复制到相应文件夹下，然后看能否运行本来的那个release exe即可。（而不要封包结束运行那个boxed.exe）如果要打包使用quc.dll库的exe，需要将qt5network.dll和qt5Xml这两个一起放到相应文件夹下，要版本对应，注意区分32位、64位这种。自己平时打包exe没啥问题，此次遇到的问题是因为用的了外部的封装库quc.dll。]]></description><category></category></item><item><title><![CDATA[移位特别容易犯错的一个点]]></title><link>https://blog.youkuaiyun.com/Lhj0616/article/details/145746826</link><guid>https://blog.youkuaiyun.com/Lhj0616/article/details/145746826</guid><author>Lhj0616</author><pubDate>Thu, 20 Feb 2025 10:19:46 +0800</pubDate><description><![CDATA[十六进制的F转换为2进制是4个1，特别容易犯错误。我是老容易弄成8个1这样。]]></description><category></category></item></channel></rss>