学单片机也是到了通信这部分迷茫了很长时间,虽然自己依然做不了通信的程序,不过可以接着看视频理解。
单片机如果看成一个人的话,点亮LED就像是你睁开了眼,但也仅仅是这一个睁眼的动作,你没有接收到任何外界信息,还没有看到这个世界的那怕是一点点东西。接下来的流水灯,就像是你身体在尝试进行颤动,就像是一种身体的本能在证明你还存在一样;中断中的定时器让你渐渐有了时间的概念,而你真正开始表达自己的想法也是从一些显示器件开始的。这就像是你的脸上渐渐有了表情,有了知觉。直到按键部分,你才真正开始接触外部世界的简单信息,接着脸上也根据你的想法有了更多的表情。这个时候单片机已经有了处理简单外界信息并做一些简单反应的能力。
如果这些能力已经满足你的需要的话,到这里就可以结束了,如果你觉得不够用,你就需要一些外部器件的帮助了。如何与这些拥有不同功能的器件交流与沟通就成了首要的问题,如果你们的语言或者说交通方法不正确,可能都不知道彼此要做什么,或者需要对方做什么!就像你与外国人说话需要彼此都掌握一种共有的语言一样,单片机与一些器件沟通就需要一种语言--通信协议。如同世界上有很多国家,很多外语一样,通信协议也有很多种,不同类型的器件就需要不同的通信协议。什么I2C,SPI,UART......等等很多协议。这些协议就是与器件沟通的必要途径。由于上面说的协议通信时需要的引脚很少,所以接线简单,可是下面的麻烦就来了,那就是协议很麻烦。以至于你不常用就记不住。时序也成了通信不可回避的问题。数据处理在程序中占据更大的空间。
和你碰到 的问题一样,我也是在协议这里卡住了,难以寸进,UART,I2C,SPI,到了红外的时候恍然发现,前面的协议居然差不多要忘光了。这就是没有项目实践的坏处了,学的时候明明很清楚,没有使用的地方的话很快就会忘了。毕竟只是,爱好,只是一种对学校时候单片机的一种怀念啊!
能在这条路上走多远,不是看你在路口站多久,如果没有项目进行实践,就是学一辈子,在这条路上也不会成就的!加油吧。
我得再去看教程了。不然就又什么都忘了。
|