嵌入式
文章平均质量分 67
NevermindZZT
这个作者很懒,什么都没留下…
展开
-
C语言模块化编程的完美解耦 - cevent应用
前言对于模块化编程来说,如何实现各模块间的解耦一直是一个比较令人头疼的问题,特别是对于嵌入式编程,由于控制逻辑复杂,并且对程序体积有控制,经常容易写出各独立模块之间相互调用的问题。由此,cpost中的cevent组件,通过模仿Android系统中的广播机制,提供了一种非常简单的模块间解耦实现原理cevent借鉴的是Android系统的广播机制,一方面,各模块在工作的时候,都会有多个具体的事件点,在高耦合的编程中,可能会在这些地方调用其他模块的功能,比如说,在通信模块接收到指令的时候,需要闪烁一下指示灯原创 2020-12-20 15:03:09 · 3738 阅读 · 8 评论 -
letter-shell代理函数解析 - 实现嵌入式shell任意参数的解析
前言letter shell默认支持整形,字符,字符串参数的自动解析,我一直以为,浮点型的参数也是可以支持的,结果前几天发现,浮点型参数只在某些特定情况下可以使用(仅当浮点型参数为函数的最后一个参数时),为此,我尝试了一种新的方式,从而引出了代理函数和代理参数解析的概念,可以实现任意类型参数的解析原理如果你需要导出一个命令到shell,但是函数又有shell原生不支持的数据类型,比如说voi...原创 2020-04-18 12:48:46 · 1690 阅读 · 2 评论 -
一种不依赖计时器的键盘长按,双击实现
前面一段时间在考虑矩阵键盘的驱动方式,其中,在按键长按这个点上,网上的好多思路都是建立在计时器计时和中断的基础上的,那么,能不能再不用中断和计时器的情况下,实现按键的长按和双击的判断呢。在判断按键被按下之后,如果我们对按键释放的时间进行计时,就可以实现按键长按的判断了。建立在这个基础上,如果我们在按键释放之后,延时一段时间再一次判断同一个按键是不是被释放,是不是就可以实现双击的判断了。有了思路之后...原创 2018-07-14 11:38:31 · 1211 阅读 · 0 评论 -
STM32,嵌入式系统中简单shell的实现
对于嵌入式系统而言,特别对于没有使用操作系统,裸机运行程序的嵌入式系统,如何高效便捷的进行系统调试往往是一个比较令人头疼的问题。不久前,我接触到一个国产嵌入式操作系统,Thread RTOS,其中,该系统集成的finsh shell工具让我有种眼前一亮的感觉,它将shell工具引入到嵌入式系统中,极大的方便了系统的调试。然而,finsh shell运行在操作系统之上,体积也比较大,对于某些小型...原创 2018-07-15 09:20:50 · 9199 阅读 · 12 评论 -
在C语言上优雅地使用json - CSON原理解析
前言json是目前最为流行的文本数据传输格式,特别是在网络通信上广泛应用,随着物联网的兴起,在嵌入式设备上,也需要开始使用json进行数据传输,那么,如何快速简洁地用C语言进行json的序列化和反序列化呢当前,应用最广泛的C语言json解析库当属cJSON,但是,使用cJSON读json进行序列化和反序列化,需要根据key一个一个进行处理,会导致代码冗余,逻辑性不强,哪有没有更好的方法呢思路...原创 2019-08-31 09:04:53 · 10201 阅读 · 6 评论 -
使用VS Code打造完美的嵌入式IDE
前言在我刚开始接触STM32的时候,使用的keil作为IDE,由于在这之前,我使用过VS, 使用过eclipse, 因而在我使用keil之后,实在难以忍受keil编辑器简陋的功能,可以说是极其糟糕的写代码体验之后,我尝试过各种IDE,使用eclipse + keil,结果发现eclipse对C语言的支持也是鸡肋,使用emBits + gcc,需要和其他人协同的话就比较麻烦,之后发现了platf...原创 2019-09-12 17:42:24 · 27519 阅读 · 26 评论