stm32h750的小总结(4)
1.FIFO:(说白了就是数据缓存):FIFO的完整英文拼写为First In First Out,即先进先出(也可以理解为程序里面的堆)。FIFO相当于是一个缓冲环节,可以防止数据丢失。
2.芯片的按键的处理的操作

(1)对于与芯片接口的串联电阻起着保护作用, 按键存在硬件的抖动性能, 要尽可能的做硬件和软件的消抖才能确保芯片的良好的工作。
(2)保护了GPIO口,避免软件错误的设置IO口的操作, 如果设置为低电平还好,如果输出的情况为高电平,与地线连接,可能损毁芯片。
(3)保护电阻还起着隔离的作用。

3.按键的内部输入的分析和外部电路的硬件的结构:
由于外部硬件电路具有上拉电阻,且按键检测为输入的模式。 则无需配置上下拉和输出的部分, 只需要配置为浮空输入就可以了。
按键的配置模式可配置为:按键按下.按下抬起,长按,长按的时候自动连发。
按键驱动的重点分为两个部分:一部分FIFIO的实现, 另外一部分为按键检测的部分。
按键FIFO的原理: 先进先出,不进不出.(对数据进行缓存,防止多次的按下,还未进行检测就过去。)类似于”堆“。 其结构的大致图为:

当read!=write的时候,说明有按键和数据的改变。(有新的按键时间的触发)每按下一次write++,
每当读取的时候,read++,当write == read的时候,说明所有的按键触发已经检测完毕,执行相应的按键的操作。 注意:当按键的触发次数大于所定义的”堆“空间的时候,write会变为0,。如果相关的数据未来得及及时读取,则会覆盖。
采用FIFO对按键的操作的好处: (1)更好的记录每一个事件的触发 (2)可以设置未非阻塞的方式,不适用阻塞的延时的函数进行 (3)主要的程序实在滴答定时器内进行执行的,减轻了主函数和CPU的资源。
中间插入点其他的小东西:
当大家看到这个地方的时候,相比已经对F1和F4有了一定的了解, 自我感觉,F1和F4之间还是有很大的的差别的,例如定义一个软件的模拟的上拉电阻可能就有一定的区别的。(在DTH11上的上拉电阻的嵌入高电平。)
继续接着来。
随着按键的执行,接着随之来的便是特别好用的EXTI的。
更多推荐


所有评论(0)