第5章STM32神舟I号快速入门篇
5.1 理解芯片控制的原理
如果要说做单片机很难吗?其实并不难,用3句话就可以讲明白:
第1句话:芯片管脚不是输入,就是输出。我们所有的程序,用单片机控制的产品,以及外设,无非就是控制芯片的各个管脚输入或者输出两个状态;芯片发送数据就是输出;芯片驱动一个产品,也是输出;芯片接收数据就是输入;单片机对一个存储芯片写输入,可以理解为单片机与存储芯片连接的管脚输出状态,输出数据到存储芯片的管脚上,而存储芯片此时它的芯片对应管脚被配置成输入,将数据写入到芯片内部。所以说,芯片管脚不是输入,就是输出,当然,如果你不使用这个管脚,也可以将它配置成某一种中间状态,免得干扰了外界,影响了PCB板上的其他元器件状态。
第2句话:芯片管脚不是高电平,就是低电平。无论管脚是输入还是输出,它的目的是传输数据,传输信息,所以要么是高电平,要么低电平,通过010101这样的数据来传输它想传输的内容;这个就是所谓的二进制。
第3句话:传输协议。什么是传输协议,比如与串口芯片通信,那么就要是串口协议的;如果是I2C协议的EERPOM,那么就是I2C协议;还有其他一些比如485协议,CAN协议,USB协议,SD卡的SDIO协议…….等等数不胜数。而这些协议,无非就是按照预先规定的表达方式进行通信,比如举个例子,我约定先连续发4个1,,然后再发4个0,就表示芯片A要开始发数据给芯片B了,即芯片A通过它的芯片管脚发‘11110000’给到芯片B的时候,那么芯片B就知道芯片A要给它真正的数据,它就要做好准备工作,准备好之后,芯片B就会给芯片A一个回应,当芯片A收到芯片B的回应,就正式开始发数据。这样通信双方之间的协商规定,就构成了协议,经过这么多年,就形成了我们所常见到的串口协议,CAN协议,USB协议(像USB协议又分为USB1.0协议,USB2.0协议,USB3.0协议,版本越高,速度就越快,协议进行优化后,通信效率也变高了)。
不知道大家理解了没有呢?所以总结下来,一个芯片简单的外设莫过于I/O口的高低电平控制,我们这里将详细讲解一下如何用一个I/O口去控制一个LED灯的亮灭。
5.2 芯片管脚控制LED灯原理图解释
芯片管脚如何控制一个LED灯,大家看一下下面的原理图,我们想用STM32的管脚PB2去驱动DS3这个LED灯亮,只要使得PB2输出低电平,LED灯就会变亮;如果PB2输出高电平,LED灯就会熄灭。
如果你对具体的实现步骤感兴趣,可以参考这篇文章:用stm32单片机点亮led灯。不仅如此,如果你手头有其他芯片,比如LPC芯片,也可以看看LPC芯片控制LED灯,两者的原理是相通的。对于初学者来说,STM32单片机初学者教程:点亮LED灯也是一个不错的入门资源。这里还有关于STM32控制LED灯的详细介绍,可以进一步帮助你理解和实践。
你不仅可以理解芯片管脚的输入输出原理,还能实际操作,点亮LED灯,享受单片机控制的乐趣!
暂无评论