- 博客(17)
- 收藏
- 关注
原创 串口没有空闲帧时如何判定数据接收完成
常用的串口一般对应的寄存器都有对应的空闲帧位,空闲帧指的是:串口在接收数据时数据接收完成后会触发串口的空闲状态,此时串口会将对应的控制寄存器中的空闲帧位置1,MCU会触发串口的空闲中断,这就是串口关于空闲帧的解释。但有些低成本项目使用的芯片,只有一组串口有空闲帧,串口没有了空闲帧该如何判断数据在什么时刻接收完成了呢?
2025-10-14 10:26:11
863
原创 FlexibleButton 软件按键的移植和使用
flexbutton可以花费极小的内存实现对应目标按键的实时检测,且实时响应的效率高,是一个不错的按键检测开源库,能够实现按键大多数状态的检测。t=P7R7murphyzhao/FlexibleButton: 灵活的按键处理库(Flexible Button)| 按键驱动 | 支持单击、双击、连击、长按、自动消抖 | 灵活适配中断和低功耗 | 按需实现组合按键https://github.com/murphyzhao/FlexibleButton/tree/master。
2025-09-02 11:55:37
936
原创 CIU32L051 DMA+Lwrb环形队列实现串口无阻塞性数据的收发 + 数据百分百不丢失的实现
环形队列实现无阻塞性接收的原理就是,利用串口接收数据的时间间隙,处理存储在环形队列中的数据,循环往复的进行数据接收。以上内容则是Lwrb环形队列实现DMA串口无阻塞性收发的实现。同时推理其他协议的无阻塞性接收也可以通过环形队列实现,其原理都是相同的。各位对于上述Lwrb环形队列有不懂的地方,可以加博主的联系方式相互交流。t=P4F5。
2025-07-25 13:54:33
1360
11
原创 CIU32L051系列 DMA串口无阻塞性收发的实现
上述代码中,DMA的通道1触发传输的条件是触发了串口1的发送,即当发送缓冲区的数据非空时,DMA将会把发送缓冲区的数据搬运至串口1的发送数据寄存器中,串口则会通过发送数据寄存器将数据转发。DMA提供了一个传输完成一半的中断提示,由此可以通过数据传输完成一半的时,在中断服务函数中更换DMA的接收缓冲区,将其余的数据转存至到备份区域,这就避免了传输过程中造成的数据丢失问题。根据第一章的内容可以得知,串口1的TX和RX分别对应的是DMA的通道1和通道0。上述内容是对应的串口 DMA无阻塞性的发送的实现。
2025-07-11 11:03:37
1115
原创 RT-Thread NANO V 4.1.1 的移植
是一个的,它是由C语言开发,采用,具有,是一款的、的RTOS。其包括和等相对完整的实时操作系统特性。适用于家电、消费电子、医疗设备、工控等领域大量使用的32位ARM入门级MCU的场合。下图是的软件框图,包含支持的CPU架构与内核源码,还有可拆卸的FinSH组件:ARM:Cortex M0/ M3/ M4/ M7 等、RISC-V 及其他。:线程管理、线程间同步与通信、时钟管理、中断管理、内存管理。
2025-07-08 12:10:10
1006
原创 CIU32L051 letter Shell终端移植
本文讲述了如何将Letter shell移植到MCU中和如何自定义指令,通过终端的形式控制MCU去主动执行我们想要执行的程序,这使得MCU的可控制性得到大大提高,且通过RTT进行日志输出,减少了外设资源的使用。另外Letter shell还可以设置日志的优先级,并且屏蔽低优先级的日志输出,且不同优先级的日志输出颜色均可设置,这可以大大提高日志查询的效率,协助各位更快的发现产品中存在的问题。
2025-07-04 14:36:36
673
原创 详细解读RTC定时器的所有功能
第一章介绍了RTC定时器的应用场景,第二章介绍了RTC定时器的配置流程,下面的内容讲述了如何配置RTC定时器的相关资源,以及RTC定时器的小部分拓展内容。下面的内容没有讲述具体的软件配置,具体的软件配置只需要操作对应的寄存器即可。若后续各位需要对应的软件配置可以在评论区留言。
2025-07-03 09:39:48
1416
原创 以少许内容带你理解指针函数和函数指针
指针函数常用于拼接想要的指定字符串,函数指针可用于回调函数的实现,且函数指针增强了C语言编程的多样性,即对应了C++语言编程特性中的多态性,使C语言的编程更加灵活。
2025-04-12 19:54:49
473
原创 国民技术N32G457REL7-UART的使用
国民技术的串口配置与STM32的串口配置几乎相同,配置流程如下:1.开启串口的时钟2.选择串口使用的引脚3.配置对应的引脚功能4.初始化串口的基本参数5.根据需求使能对应的串口中断6.使能串口7.编写中断服务函数若要提高串口的传输速率,可采用串口的DMA进行数据传输,这个功能的实现,在博主的历史文章中有相关的详解,若有不理解指出,欢迎与博主一起探讨,博主企鹅号是:2896238724。
2025-03-31 16:40:07
968
原创 在VS中搭建搭建UML的环境
若写完上述的程序不能出现右侧的图形,则需要看自己的电脑是否完成了相关环境的配置,通过ALT+D可以快速显示右侧的图形,也可配置Plantuml的插件,使用PlantUML的在线服务器显示对应的图像信息,配置UML的插件也可看后续的博主出的配置文章,也可自行查询对应的文章提前配置。完成JAVA环境的搭建后,需要再安装对应的Graphviz插件用于显示对应的UML图形。学习完上述网站中的内容,相信你一定可以成为UML设计者的大拿,走上产品经理的强大道路。下图是使用UML设计的一个示例的活动图。
2025-03-12 18:20:57
1031
原创 国民技术N32G457QEL7 DMA的使用及详解
首先在使用DMA之前,需要知道DMA是什么,有什么作用?在这里我认为DMA也可作为MCU的外设使用。DMA是一种允许外设和内存之间直接传输数据的机制,而不需要CPU的参与。DMA的主要优势在于减轻了CPU的负担,提高了数据传输效率。它广泛应用于各种嵌入式系统中,特别是在需要高效数据传输的场合,比如音频处理、视频传输、网络通信等。
2025-03-12 17:16:14
1236
基于CIU32L051系列的MCU移植RT-thread-NANO-4.1.1
2025-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅