嵌入式单片机知识点汇总(持续更)

本文总结了嵌入式开发中常见的问题,包括定时器、看门狗定时器、轮询与中断机制、EXTI和NVIC的区别、位操作、PWM输出以及STM32定时器的应用。内容涵盖了单片机工作原理和实际应用,适合C/C++嵌入式开发工程师参考学习。

笔者最近在找工作,因此对应聘C/C++嵌入式开发工程师容易被问到,或者经常搞不清楚的问题做一个汇总,也希望能对找工作的小伙伴起到帮助参考的作用。本篇集中于嵌入式开发中,自己的项目中容易碰到的问题。

因为是自己总结的,可能会存在错误,还烦请各位读者批评指正。


1. 定时器属于外设。

2. 看门狗定时器:被监视的程序事先将设定的值写入WDT后启动,WDT每隔一段时间便减掉写入的值。当程序正常运行时,处理结束前会对WDT清零再结束。

3. 轮询:在等待GPIO(通用I/O端口)的输入从0变成1时,程序可以一定时间间隔来检查GPIO的状态,这种处理被称作“轮询”。

4. 中断:产生于单片机内部外部的各种设备中。

  • 开关、感应器的中断信号由“IRQ”的引脚接收,被称作外部引脚中断
  • 来自单片机内部的定时器和GPIO、串行通信设备UART等外设机器的中断被称为外部设备中断此时,中断信号直接从各外部设备通知中断控制器。

EXTI和NVIC的区别:

EXTI是外部中断的配置,NVIC是中断优先级、开启的配置。

即:

  • NVIC是ARM核心,EXTI属于外设
  • 配置NVIC来使能相应的EXTI中断。平时配置时,既要配置EXTI,也要配置NVIC。
  • NVIC是中断控制,可以控制很多,包括ADC中断、EXTI外部中断、串口中断、定时器中断。即:不同的外设中断对应着不同的中断源。

 

 

5.  把某一个变量的第三位置0:

int a;
a&=~(1<<2);//把a的第三位置0

原理:把1左移两位,就只有第三位是1,其它位是0;

           然后再取反,就只有第三位是0,其它位是1;

           然后和a按位相与,就完成了。

 

6. TIM5_CH4,输出4路PWM,输入捕获


7. 协议:标记位  版本位   消息类型   消息长度   受控设备类型    受控设备功能类型   命令位

8. WS2812b(稍后搞到单独一篇文章里面去)

WS2812b 遵循单线归零码的数据协议。每经过一个像素点的传输,信号减少24Bit.

 

9. STM32定时器的PWM输出功能,是通过CNT与CCR寄存器的数值比,直接控制对应引脚输出高低电平的。

我们要不断地改变定时器CCR的数值,来控制对应的I/O发送信号0还是信号1,

 

10 . 如果一个任务正在等待某个事件,则称这个任务处于“阻塞态”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值