- 博客(33)
- 问答 (2)
- 收藏
- 关注
原创 【Keil】Options For Target配置(魔术棒)界面详细解析
本篇文章详细说明了Keil的Options For Target配置界面,文章以Keil 5.41版本为例,不说废话,开始学习。
2025-12-11 16:24:39
1183
原创 【从零开发STM32(HAL版)】一、开发硬件环境准备
摘要:本文介绍了从标准外设库转向HAL库开发的必要性,并详细说明了STM32开发的硬件环境配置。主要内容包括:1)HAL库的优势(支持更多芯片、开发效率高);2)硬件需求:电脑(配置要求)、推荐使用STM32F407芯片(核心板或开发板选择);3)必备工具:ST-LINK V2烧录器(支持SWD/JTAG)和USB转串口工具(用于调试和串口烧录)。文章为初学者提供了完整的STM32开发环境搭建指南。
2025-12-03 15:31:20
376
原创 【STM32】关于STM32F407写Flash失败问题的解决办法
STM32F407 Flash写入失败问题分析与解决:在使用正点原子例程时发现STMFLASH_Write函数无法写入数据,调试发现FLASH_ProgramWord返回异常值7。通过对比ST官方示例代码,发现需要在解锁后先清除FLASH标志位才能正常写入。问题关键是在调用FLASH_ProgramWord前需执行FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_
2025-07-18 09:50:15
573
原创 【STM32】在FreeRTOS下使用硬件SPI收发数据出现的时序耦合问题(WK2124芯片为例)
STM32中在Freertos使用SPI通讯芯片 WK2124进行SPI转4串口时,接收数据为一个任务,发送数据为一个任务,切接受任务优先级更高实测发现收发一段时间(约几分钟)外扩芯片会死锁导致WK2124复位。
2025-04-15 16:05:41
500
原创 【FREERTOS】关于使用任务通知接收字符串数据为空值的问题
我有两个任务A和B,非同时地往任务C发送同样的字符串“”的任务通知,任务C打印接收结果,实测两者都能触发任务C的打印任务。但是发现任务C能打印出任务A的字符串,但任务C打印出任务B的字符串却是空值,这是怎么回事?
2025-04-15 15:32:50
239
原创 【AI】最详细的保姆级DeepSeek本地部署教程(包括各种错误解决办法)
2025年春节,DeepSeek作为国产领先的多模态大语言模型横空而出,以比OpenAI更低成本却实现与其不相上下的性能,DeepSeek支持复杂的推理任务和多轮对话。但是目前网页版访问人数过多,导致许多小伙伴一天问一次问题就服务器繁忙了。本地部署DeepSeek就能很好解决这个问题,因为他利用的是本地电脑的GPU资源进行处理。本教程将指导完成从环境准备到实际运行的完整本地部署流程,适用于开发测试与生产环境。
2025-02-18 09:09:03
1152
原创 【FreeRTOS】关于FreeRTOS如何合理设置任务优先级和任务延时VtaskDelay的问题
FreeRTOS的任务,在开启了时间片调度和抢占优先级的情况下:对于同等优先级的任务,是遵循时间片调度原则的,FreeRTOS的时间片仅支持一个时钟周期,比如系统时钟节拍是1000Hz,那么时间片的大小就是1ms,也就是说1ms切换一次同等优先级的任务,时间片调度仅存在于同优先级任务,FreeRTOS也不支持对单个任务自定义时间片的。对于不同优先级的任务,遵循抢占优先级原则,高优先级任务会抢占低优先级任务去执行。
2024-09-27 17:37:02
1744
原创 【FreeRTOS】关于全局变量,信号量,事件,任务通知的理解和使用场景
FreeRTOS提供的信号量,事件,任务通知,都几乎有个共同点,就是接收信号量,事件或者通知的任务都会因为等待接收而阻塞,适合类似任务休眠和唤醒的情景,类似于中断,没事情时几乎不消耗CPU资源,有事情触发了就执行该任务。如果不想创建很多任务,想要一个任务里面同时判断很多个标志位或者事件,那还是要用轮询+全局变量标志位,但这样得要自己处理同步问题了。
2024-09-27 16:01:14
2281
原创 【STM32】同一款芯片移植代码后不能正常运行问题解决办法
这里以正点原子STM32F407ZGT6和自用项目的STM32F407ZGT6为例子,正点原子使用的是8M的晶振,而本人使用的是12M的晶振,直接移植再正点原子板上能跑通的代码(测试功能为USART1 每隔1s打印Hello world)烧录到自己的板子,执行串口打印信息时确实也是1s打印一次,但会都是乱码,并且打印一段时间后会进入Hardfault,并触发看门狗重启。
2024-09-14 10:47:35
707
原创 【C语言】记录使用keil开发时,因局部数组未初始化导致异常数据问题
在使用keil开发stm32f407时,在一个函数定义了一个局部数组:打印发现有异常的字符"口",导致文件创建失败。
2024-06-15 16:14:13
349
原创 【LWIP】记录LWIP2.1.2ping不通的解决办法
后,发现自己的lwipopts.h也是正点原子移植过来的,使用硬件校验和时ICMP数据包的校验为0x0000。就可以愉快的ping通了!
2024-06-12 17:23:30
2506
原创 【STM32】STM32+SD+FATFS使用f_mount时返回值为13(FR_NO_FILESYSTEM)的解决办法
在初始化SD卡时,发现SD_Init()之后的f_mount()偶尔会返回13(FR_NO_FILESYSTEM)。
2024-05-24 18:09:24
2373
1
原创 【FreeRTOS】记录查询FreeRTOS的各种内存剩余量的方法
使用FreeRTOS时,使用下列函数方便查看系统各内存余量,方便对系统做出调整。
2024-05-17 14:09:33
2703
原创 【杂项】使用sukura FRP内网穿透,实现公网客户端和内网服务器的通信
通过使用FRP内网传统,可以实现 :【客户端】⇄【公网映射服务器】⇄【本地服务器】该工具可以免费使用2个隧道,同时在本地可以开启两个服务器,通过使用透传工具可以实现 :【客户端1】⇄【本地服务器1】⇄【数据透传工具】⇄【本地服务器2】⇄【客户端2】,
2024-05-16 15:21:30
3726
原创 【STM32】记录STM32F407使用FATFS+SDIO下读写SD卡一段时间会卡死的问题解决
在使用STM32F407VGT6的FATFS+SDIO进行SD卡读写时,发现在第一次读写有概率卡死导致看门狗重启,还有种情况是第一次读写没卡死,但读写一段时间后也会卡死。我用的是正点原子的标准库的FATFS移植过来的,使用的是DMA模式。
2024-04-03 15:45:11
2862
1
原创 【FreeRTOS】记录一种将FreeRTOS独占CMMRAM内存,提高FreeRTOS运行速度以及提高总堆栈大小的方法
由于CCMRAM与内核直连,理论上读写速度比内部SRAM更快,将FreeRTOS要使用的内存全部移到CCM中,使其成为专有内存,显然会提高FreeRTOS的运行速度。那么怎么放?下面以STM32F407为例,这款单片机有192kRAM,其中128k内部sram,64k ccmram。
2024-03-01 16:59:39
1520
2
原创 【STM32】关于使用正点原子malloc.c时MEM1_MAX_SIZE改小程序不响应的问题
最近在使用使用正点原子malloc.c时,由于在程序定义一个大小为256的数组后,编译出现内存不足的错误,同时freertos的总堆栈大小也不能增大,此时malloc.h的MEM1_MAX_SIZE设置为701024,尝试设置为601024,发现程序不运行,调用malloc.c的mem_perused函数查看内存占用率,发现返回86,也就是占用了86%,也就是用了60.21024,所以我改到601024是会造成内存溢出的,查看代码发现自己用mymalloc分配了很大的数组。
2024-03-01 16:21:45
605
原创 【STM32】FreeRTOS增加configTOTAL_HEAP_SIZE大小后程序进入hardfault的解决办法
最近在项目中,由于要增大freertos的其中一个任务堆栈大小,从128字增大到1024字,configTOTAL_HEAP_SIZE不足,需要增大configTOTAL_HEAP_SIZE,但是configTOTAL_HEAP_SIZE从原本的201024增大到231024能解决问题,但剩余可用堆栈内存很少,于是想继续增大configTOTAL_HEAP_SIZE,设置为24*1024时,程序不能运行,打开调试发现程序进入hardfault,网上查了是内存不足导致。查了很多资料没有解决。
2024-03-01 09:15:42
2806
原创 【STM32】关于串口发送多个字节数据时,接收中断只能收到第一个字节的解决办法
1.漏掉清除中断标志会导致程序卡死,低级问题,以后记得要加上2.中断程序不能执行耗时长的程序以及执行发送接收过程,会存在中断嵌套的问题,会造成只执行一次的现象。
2023-12-21 15:25:03
5556
1
原创 【C语言】记录一种C语言的字符串片段截取的方法(类似切片操作)
在 C 语言中,可以使用字符串处理函数来截取某字符串的某一片段字符串。下面是一个示例代码,演示了如何提取字符串 char str[] = {‘+’,‘C’,‘S’,‘Q’,‘:’,‘2’,‘8’,‘,’,‘9’,‘9’,‘a’};
2023-12-01 15:42:49
1605
1
原创 【STM32】keil5使用ST-LINK进行仿真调试时,断点按钮为叹号,灰色解决方法
检查Debug->Settings [Download to Flash] 应该不打钩。
2023-11-24 16:57:33
1987
1
原创 【STM32】STM32重定向printf函数并输出到串口注意事项
按照某些网上教程,直接在串口uart.c文件里面重定向编写一个fputs函数,但是在main里面使用printf时,重定向的输出串口(如uart1)没有输出打印任何内容。
2023-11-24 16:48:57
474
1
原创 【STM32】关于LWIP高频率快速发送大量数据(1MB以上)卡死问题解决 + 提高LWIP发送速率的办法
目前对LWIP也是用的比较少,后续对他的具体实现和特性还要继续深入研究,目前仅记录解决方法。对了,由于是项目代码所以还是不方便贴出。
2023-11-20 17:40:48
10555
10
原创 【PYTHON】关于python出现在__init__定义的self.thread成员无法被__del__调用的问题
最近在项目上,在__init__构造函数里面定义了一个线程成员self.thread,但是在__del__打算调用它的join() 方法,但是运行却发现__del__无法调用self.thread。这是公司xx平台的的加载问题,实际上此时 __init__还没调用过, 在del 那里加上对 “thread” 这个成员的判断,如果有才调用 self.thread.join。可以使用hasattr()函数或者使用dir()函数,这里我使用dir函数判断。
2023-10-13 14:28:59
151
1
原创 【GIT】关于git clone 远端分支下来本地文件全部为空的问题(已解决
在Windows10上使用git clone代码的时候抛出了异常,重试了几次都是相同的错误:下载的目录里除了.git没有任何东西。
2023-08-21 09:25:27
4618
1
原创 【LINUX】驱动模块加载与卸载
Linux 驱动有两种运行方式,第一种就是将驱动编译进 Linux 内核中,这样当 Linux 内核启。第二种就是将驱动编译成模块(Linux 下模块扩展名为.ko),在。为模块,这样我们修改驱动以后只需要编译一下驱动代码即可,不需要编译整个 Linux 代码。而且在调试的时候只需要加载或者卸载驱动模块即可,不需要重启整个系统。译为模块最大的好处就是方便开发,当驱动开发完成,确定没有问题以后就可以将驱动编译进。Linux 内核中,当然也可以不编译进 Linux 内核中,具体看自己的需求。
2023-08-07 16:41:52
466
1
原创 【STM32】rt thread studio添加pwm设备流程
/使用的第几个时钟就是BSP_USING_PWM几, 我这里使用的是TIM1 # define BSP_USING_PWM1 # define BSP_USING_PWM1_CH1 # ifdef BSP_USING_PWM1 # ifndef PWM1_CONFIG # define PWM1_CONFIG \ {
2023-04-20 16:49:09
756
3
原创 【PYTHON】一些python编码注意事项
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。utf-8:英文一个字节,汉字3个字节,若果代码是全英文,用utf-8节省空间。ASCII码:一个字节,只支持英文和一些字符。Unicode:两个字节,支持所有语言。
2023-03-08 09:31:12
109
原创 【QT】关于QT QMediaPlayer 打包后不能播放声音(plugins文件问题引起)
问题描述`自己打包完成后打开exe也是没声音(debug时候是有的),但是我把Qt5Core.dll文件删掉后就有声音了,我发到其他电脑上(发的是打包后没有经过上述更改的原始文件),也没有声音,然后在那台电脑删掉Qt5Core.dll,也是没有声音,不知道问题在哪,十分奇怪,但是发到其他电脑程序能运行游玩,就是没有背景音乐。/*默认播放背景音乐*/ QMediaPlaylist *musicList = new QMediaPlaylist; //添加音乐列表 musicList-&
2022-04-22 13:56:29
1981
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅