嵌入式底层知识修炼
文章平均质量分 90
面对一些嵌入式中比较底层的知识进行巩固,强调的是基础
单眼皮的根号3
开源+编程+乐趣,尝试分享开源编程的乐趣
微信:abc690550753
邮箱:hxj_e_mail@163.com
企鹅:690550753(不常用)
展开
-
【嵌入式底层知识修炼】按键和LED共用IO口的分时复用扫描方法
文章目录01 - PCB原理图例程02 - 分时复用的注意项和设计2.1 - 注意项2.2 - 设计03 - 代码实现只要我跑的速度够快,寂寞就追不上我只要Key和Led切换速度够快,人眼就看不出来————小白 如果你存在按键Key和显示Led共用同一个IO时,需要分时复用的需求,则可以移植代码进行使用:代码所占code少于0.5K线程安全,中断安全可移植性高,配置容易注意:系统需要存在一个至少为1ms的时钟中断01 - PCB原理图例程 举2个Key和Led共用IO口的原创 2020-10-17 11:08:56 · 8222 阅读 · 7 评论 -
【嵌入式底层知识修炼】基于通用消抖算法,拓展通用非阻塞Key按键识别算法
文章目录01 - 通用消抖算法02 - Key按键识别需求03 - 拓展通用Key按键算法04 - 实际使用方法与测试数据4.1 - 使用方法4.2 - 测试数据05 - 总结首先学习别人的东西,然后吸收别人的东西,接着应用并改造别人的东西,最后这个东西就属于你自己了————小白 01 - 通用消抖算法 #define DEBOUNCE_TIMES 5uint8_t ...原创 2020-02-16 01:24:56 · 1335 阅读 · 1 评论 -
【嵌入式底层知识修炼】软件捕获PWM获取周期和占空比(+源代码)
文章目录01 - 软件捕获PWM思路02 - 核心源码03 - 软件捕获PWM测试结果04 - 源码链接05 - 总结遇到问题的时候,自己研究一段时间后仍不能解决,就要及早提问,少钻牛角尖————小白 相比软件模拟PWM而言,软件捕获PWM则十分不稳定,因为需要大量的计算过程,这些过程消耗的时间可能会拖延处理捕获点的到达,导致出现捕获点丢失的情况,除非能够保证数据运算在两个捕获点间...原创 2019-08-11 09:20:29 · 1878 阅读 · 0 评论 -
【嵌入式底层知识修炼】软件模拟周期占空比可调的PWM(+源代码)
文章目录01 - 软件模拟思路02 - 核心源码03 - 软件模拟结果04 - 源码链接05 - 总结任何事情都不应满足只会使用,而是要求懂得原理。————小白 需要软件模拟PWM的理由,一般是硬件PWM的IO端口不够用,因为软件模拟PWM不稳定,准确性也比较差,所以在硬件PWM可用的情况下是不会使用软件模拟的,但无论怎样,软件模拟的作用也很大,可以作为测试用例、通用PWM、替补方...原创 2019-08-09 13:00:05 · 2402 阅读 · 0 评论 -
【嵌入式底层知识修炼】使用求余(%)进行周期计算的隐藏BUG
文章目录01 - 使用求余%进行周期计算02 - 分析周期计算过程03 - 隐藏的BUG及解决办法04 - 总结每次累积1ms,不需要几天,程序时基就会混乱————小白 嵌入式中必定有一个能够产生程序时基的定时器,由于需要遵守在中断ISR中不能进行过多操作的原则,所以一般只在定时器中进行Counter计数,计数累积某个上限后,设置对应的标志位,然后通知主程序执行相关任务01 -...原创 2019-07-01 10:45:26 · 1797 阅读 · 5 评论 -
【嵌入式底层知识修炼】结构体成员对齐之#pragma pack(n)和__attribute__((aligned (n)))的含义和区别
文章目录01 - 提出问题02 - 对齐规则2.1 - 自然对齐规则2.2 - 自定义对齐之#pragma pack(n)2.3 - 自定义对齐之__attribute__((aligned (n)))2.4 - 两种自定义对齐方式的区别03 - 解答问题04 - 问题扩展05 - 总结不要迷信书、考题、老师、回帖;要迷信CPU、编译器、调试器、运行结果。————CSDN赵4老师 ...原创 2019-03-09 18:47:53 · 1424 阅读 · 0 评论 -
【嵌入式底层知识修炼】C/C++混合编程之extern "C"的含义和使用
文章目录不要迷信书、考题、老师、回帖;要迷信CPU、编译器、调试器、运行结果。————CSDN赵4老师原创 2019-03-19 22:56:13 · 915 阅读 · 0 评论 -
【嵌入式底层知识修炼】整数乘除法与位运算的效率对比
文章目录01 - 为什么整数位移比乘除法高效02 - 位移和乘除法对比2.1 - 汇编代码对比2.2 - 编写复杂度对比2.3 - 速度对比03 - 例程3.1 - 例程1,单片机时钟重载值3.1 - 例程2,ADC滤波算法04 - 总结1us的误差,足矣改变这个世界 ————CSDN根号301 - 为什么整数位移比乘除法高效 首先,整数位运算要比乘除法要高效。如果学过计算机组成...原创 2019-04-19 22:47:17 · 4363 阅读 · 0 评论 -
【嵌入式底层知识修炼】高性能的ADC一阶滞后滤波算法
文章目录01 - 一阶滞后滤波算法简介02 - 硬件低通滤波器03 - 稳定滤波的原理04 - 实际应用与变形05 - 滤波效果展示06 - 高性能的表现07 - 总结越有魅力的事物,往往存在一种“反差”,即其存在两个相互关联的特性,但是各自表现得十分不同————小白 一阶滞后滤波又称作RC低通滤波、一阶滤波、一阶惯性滤波、一阶低通滤波等,下文统一称为一阶滞后滤波。01 - 一阶...原创 2019-10-06 16:19:54 · 7144 阅读 · 0 评论