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

笔者最近在找工作,因此对应聘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 . 如果一个任务正在等待某个事件,则称这个任务处于“阻塞态”

你可能感兴趣的:(找工作)