- 博客(545)
- 资源 (46)
- 收藏
- 关注
原创 stm32f103RCT 使用ssd1306 IIC 接口 移植lkdGUI
ldkGUI关于lkdGUI的信息参考:https://blog.csdn.net/qq_23274715/article/details/80959804已经移植好的程序源码和测试代码:https://gitee.com/chejia12/lkd-gui移植ldkGUI参考官方给的参考文档手把手教你移植创建stm32f103rct6 mdk工程添加OLED驱动添加OLED sd1306库函数,添加OLED分组添加驱动源文件,添加驱动头文件,字体文件参考:https://blo
2021-11-26 19:00:05
1657
原创 RTT驱动框架下的基于时钟芯片的ds1307驱动实现
1. 使能模拟iic总线2. 使用一个高优先级的线程实现软件跟新时间戳,防止频繁的和芯片交互,导致MCU忙。3. 注册ds1307,需要关闭rtc模拟功能或者是芯片级的rtc,系统只能有一个rtc设备
2025-11-28 07:15:00
39
原创 rtthread ulog 添加一个vervore的输出等级,输出颜色是蓝色
ulog 添加一个vervore的输出等级,输出颜色是蓝色,放在等级6,将原来的info等级从6改为5,info输出颜色是绿色
2025-11-27 20:30:00
31
原创 rtthread设备驱动框架分析---rtc 驱动分析
根据头文件的定义基本可以看到rtc框架的实现原理,一般具体的芯片实现struct rt_rtc_ops中部分接口,使用rt_hw_rtc_register注册到RTT系统中即可
2025-11-27 17:46:23
34
原创 rt thread 在norflash挂载文件系统littlefs
我在使用fatfs时就存在移除掉电和下载程序时,导致文件系统的全部文件顺怀,文件出现bad file问题挂载littlefs文件系统需要注意的是他需要放在mtd设备上这里需要依赖fal,dfs,mtd设备首先使能spi,挂载spi设备,使能sfud将nor flash挂载在blk块设备,然后再块设备上挂载fal分区管理组件;3.fal可以将多为设备配置为多个分区;也可以将一个设备配置为多个分区;将某一个分区挂载为mtd设备在mtd分区挂载文件系统。
2025-11-27 15:25:56
187
原创 RTT PWM 驱动框架分析
/配置定义//配置定义 # ifdef BSP_USING_PWM1 # define PWM1_CONFIG \ {//配置定义 # ifdef BSP_USING_PWM1 # define PWM1_CONFIG \ {//配置定义 # ifdef BSP_USING_PWM1 # define PWM1_CONFIG \ {
2025-10-24 17:33:37
56
原创 基于gd32f527的can数据监视回显工具
* CAN 消息结构体 *//* CAN ID, 标志格式 11 位,扩展格式 29 位 *//* 扩展帧标识位 *//* 远程帧标识位 *//* 保留位 */// 数据域// 数据长度// 时间戳(秒)/* 发送消息接口(用于测试) */#endif。
2025-10-24 15:25:20
72
原创 rt thread编码器驱动框架分析
/rtt设备//操作函数集合//编码器类型enum#endif/*针对stm32的编码器相关数据结构定义*/char *name;//配置定义/*针对stm32的编码器相关数据结构定义//配置定义 # ifdef BSP_USING_PULSE_ENCODER1 # ifndef PULSE_ENCODER1_CONFIG # define PULSE_ENCODER1_CONFIG \ {/*针对stm32的编码器相关数据结构定义。
2025-10-24 15:19:42
58
原创 基于N32G45x+RTT驱动框架的定时器外部计数
通过配置 TIMx_CCMOD1.IC2F[3:0] 选择输入滤波器带宽(如果不需要滤波器,保持 IC2F 位为‘0000’) 配置 TIMx_CCMOD1.CC2SEL 等于‘01’,CC2 通道配置为输入,IC2 映射到 TI2。 配置 TIMx_SMCTRL.SMSEL 等于‘111’,选择定时器外部时钟模式 1。 配置 TIMx_SMCTRL.TSEL 等于‘110’,选择 TI2 作为触发输入源。 配置 TIMx_CCEN.CC2P 等于‘0’,选择时钟上升沿极性。
2025-07-31 11:47:50
145
原创 基于GD32F303从0搭建文件系统,挂载2个块设备到文件系统
本文详细记录了基于GD32F303芯片从零搭建RT-Thread文件系统的过程。第一阶段完成基础工程搭建,通过修改工程模板解决编译错误,并配置串口0实现打印输出。第二阶段添加nor flash支持,包括SPI0驱动配置和引脚检查,随后启用fal和sfud组件。遇到fal_cfg.c文件缺失问题时,通过复制模板文件解决。目前编译出现"stm32f2_onchip_flash"符号未定义错误,需进一步调试。整个过程涉及工程配置、驱动移植和组件集成,为后续文件系统挂载奠定了基础。
2025-06-24 15:53:08
247
原创 rt thread 挂载2个块设备
{"sd0", "/", "elm", 0, 0}, // 将sd0挂载在根目录下{"log", "/flash", "elm", 0, 0}, /**将log块设备挂载在/falsh目录下 */{0}};
2025-06-24 09:17:56
168
原创 RT Thread 块设备注册
RT-Thread–emmc 块设备对接及文件系统挂载_rtthread emmc-CSDN博客该结构体 [rt_device_blk_geometry](javascript:void(0)) 的定义如下:成员详解[sector_count](javascript:void(0))类型: 描述: 表示块设备中的扇区总数。作用: 文件系统需要知道总的扇区数量来分配空间和管理存储内容。例如,如果一个 SD 卡有 1024 个扇区,这个值就会是 1024。应用场景:类型: 描述: 表示每个扇区的字节数
2025-06-23 12:14:13
102
原创 rt thread 基于GD32F303的can驱动编写
模板可以时stm32或者是其他bsp支持的厂家,本人选的时N32的驱动作为模板编写。测试选择了can1,连续工作5000帧数据手法无丢帧,can过滤正常。
2025-06-20 10:27:29
174
原创 rt thread env2.0不能打开1.3.5的工程Malformed utf-8 in ‘board/Kconfig‘
【代码】rt thread env2.0不能打开1.3.5的工程Malformed utf-8 in ‘board/Kconfig‘
2025-06-18 16:33:08
65
原创 RT Thread CAN驱动框架分析
技术点描述异步发送利用 completion 实现非阻塞发送资源池管理使用 freelist 和 semaphore 实现邮箱资源复用多邮箱支持支持多个 CAN TX 邮箱并发操作中断协同与 ISR 配合,实现事件驱动发送双链表管理使用 freelist/uselist 管理接收缓冲错误统计记录发送成功/失败次数、丢包数量等硬件过滤器支持多个硬件过滤器,减少无关帧干扰内存优化结构体内存连续分配,提升效率互斥锁保护防止多线程并发问题动态配置支持运行时修改波特率、过滤器等完整性检查大量断言确保安全性系统集成。
2025-06-18 15:20:03
468
原创 RT Thread 在gd32平台下spi驱动bug,nor flash读写异常,Can‘t enable write status
使用SFUD时遇到写入失败问题,主要原因是CS引脚配置错误。解决方法包括:1. 修改MISO引脚为上拉输入;2. 将CS引脚改为输出模式(原复用模式导致片选失效)。修改GD32F303的BSP文件drv_spi_flash.c中CS引脚的配置方式后,NOR Flash读写恢复正常。此外,文章还提供了完整的驱动代码修改示例,并提及了DFS文件系统的使用参考链接。该问题表现为能读取芯片ID但无法写入,关键点在于正确配置硬件接口模式。
2025-06-18 14:55:56
302
原创 RT thread 在gd32f303平台下rtc bug date获取时间错误始终是1970
时间设置指令时间获取指令datedate指定显示设置OK,但是返回的时间始终是。
2025-06-18 10:49:53
151
原创 RT Thread 用于调试日志的头文件rtdbg.h
✅ 提供给用户的配置宏包括:日志开关控制:DBG_ENABLE, RT_USING_DEBUG日志级别控制:DBG_LVL, DBG_LEVEL日志标签设置:DBG_TAG, DBG_SECTION_NAME彩色日志支持:DBG_COLOR, RT_DEBUGING_COLOR日志后端切换:PKG_USING_DLOG, RT_USING_ULOG✅ 提供给用户的 API(宏)包括:级别日志打印:LOG_D, LOG_I, LOG_W, LOG_E。
2025-06-17 14:24:10
157
原创 如何在RTT中添加ldkGUI组件
摘要:本文介绍了将ldkgui图形库集成到RT-Thread系统的步骤:1)将源码复制到utilities目录;2)修改Kconfig添加GUI配置选项和字体选择;3)创建SConscript文件管理编译过程,根据配置动态加载不同字体驱动;4)通过menuconfig配置工程并生成rtconfig.h;5)在MDK中查看文件分组验证集成成功。整个流程包含源码部署、构建系统配置和工程验证三个主要环节。(150字)
2025-06-11 11:38:40
74
原创 RT Thread 基于N32G457实现UART V2驱动实现
libraries\N32G45x_Firmware_Library\SConscript修改文件根据串口驱动的版本选择驱动文件使能V2版本的串口驱动修改添加串口的配置,目前只添加了串口1,2,3
2025-05-27 17:27:11
114
原创 RT Thread串口V2版本的驱动框架分析和N32L40x的实现
串口外设的遵循如下规则配置结构体头文件rt-thread\components\drivers\include\drivers\serial_v2.h串口的操作接口串口设备驱动注册二、驱动框架分析串口V2注册 分析这里解释了如何从找到rt_serial_open打开分析fifo用于串口数据发送和接收rt_serial_open主要工作2.接收 接口函数赋值有fifo则申请fifo设置串口工作模式非阻塞模式阻塞模式1.RECV 没有buff的读接口函数 _serial_p
2025-05-27 10:00:06
259
原创 RT Thread Nano V4.1.1 rtconfig.h 注释 Configuration Wizard 格式
Configuration Wizard 格式🔧 Configuration Wizard 格式详解1. 基本结构该格式通过特定的注释标签来描述配置项类型和属性,IDE(如 Keil μVision、IAR Embedded Workbench、VSCode + 插件等)可以识别这些标签并生成图形化配置界面。所有配置都写在 C/C++ 头文件中,并以特殊注释标记包裹。
2025-05-24 17:02:22
451
原创 如何解决全局或静态变量被修改的bug
程序原来设置Firware name 时N32G475,在程序运行时,程序崩溃,发现输出的固件名称没有了,这里说明固件名称被程序修改了。memset置零长度错误导致清理了固件的名称。这里的pBuff就是dataBuff。程序在开机时都是对的。分析程序的map文件。
2025-05-20 16:36:55
356
原创 论在中断中的标志变量使用volatile的重要性分析
在使用STM32进行串口中断发送数据时,由于send_busy标志未及时写入内存,导致数据发送异常。通过分析,发现问题的根源在于编译器对变量的优化行为。volatile关键字用于告知编译器,该变量的值可能被外部因素(如硬件、中断等)改变,因此每次访问时都必须从内存中读取或写入,避免编译器优化导致的错误。与非volatile变量不同,volatile变量在汇编层面表现为每次访问都直接操作内存,确保数据的实时性和正确性。通过使用volatile关键字,可以有效解决类似问题,确保程序在多线程或中断环境下的正确执行
2025-05-15 18:05:13
147
原创 RT Thread 发生异常时打印输出cpu寄存器信息和栈数据
在发生 HardFault 时,打印当前栈的十六进制数据和 CPU 寄存器信息是非常重要的调试手段。以下是如何实现这一功能的具体步骤和示例代码。我们需要在 HardFault 中捕获异常上下文,并从中提取寄存器值和栈数据。当 HardFault 发生时,处理器会自动将寄存器压入栈中(通常是 PSP 或 MSP)。我们可以通过汇编代码获取当前栈指针,并将其传递给 C 函数。在 C 函数中,我们解析栈中的寄存器值,并打印栈数据和寄存器信息。
2025-04-25 21:31:17
300
原创 RTS 如何使用流控方式自动实现收发
通过 UART 控制器的硬件流控功能,可以实现 RTS 引脚的自动化控制,从而简化 RS-485 的半双工通信实现。如果硬件支持流控,推荐使用这种方式,因为它减少了手动干预的需求,提高了系统的可靠性和效率。如果不支持硬件流控,则需要通过软件手动控制 RTS 引脚的状态切换。
2025-04-24 20:23:30
1329
1
原创 at32f103a+rtt+组件cm_backtrace组件使用
mdk编译生成汇编文件汇编:fromelf --text!bin文件:fromelf --bin!处理编译问题修改线程名变量组件初始化rt_cm_backtrace_initRTT组件内部已经初始化完成,用户无需干预参数配置。
2025-02-23 09:37:58
119
原创 AT32F403A+RT THREAD+DFS文件系统
问题未解决,可能时at32f403的驱动问题,尝试了lsi和lse都不行,设置时间可行,就是不走秒。设置扇区大小,因为W25q128是4096个字节为一个扇区,SD卡一般是512(默认)获得可以用于挂载的块类型设备,那么移植的工作就算完成了。首次开启使能rtc驱动,发现可以设置时间,但是时钟不走。因为sfud需要spi驱动的支持需要使能spi驱动。格式化文件系统发现,缺少rtc驱动支持。使用软件rtc时间动起来了,哈哈哈。dfs文件系统跑起来需要的最低资源。依赖:rtc时间,块设备,dfs。
2025-02-23 09:29:02
285
原创 at32f403a rt thread led基础bsp工程测试
切换到V5.1.0分支(使用一个发布版本可以避免不必要的bug)导出一个独立的AT32F403A的BSP工程。3个led的引脚是PB1 ,PB2,PB10。编译发现了一堆问题,can fifo重复定义。导出一个独立的AT32BSP。根据自制的开发板点亮led。github版本更新最新。官方BSP编译失败处理。
2025-02-22 19:19:39
126
原创 AT32F403A+RT Thread标准版+fal组件+sfud使用教程
AT32F403A+RT Thread标准版+fal组件+sfud使用教程
2025-02-22 19:12:21
351
fal移植测试demo
2024-08-13
基于N32L406+FlashDB(时序数据库 时序数据库)+mdk5 移植教程
2024-08-01
基于N32L406MB EasyFlash参数(key-value)记录库移植
2024-07-31
N32L40x letter-shell终端裸机移植
2024-07-31
基于N32L406 Freertos letter-shell开源终端移植
2024-07-31
N32L406 移植MultiTimer教程 mdk5
2024-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅