![f9089bd551ce05dd46e463083a2f024f.png](https://i-blog.csdnimg.cn/blog_migrate/3c0f6bf19afcb82231aba9538ba9eebb.jpeg)
(续中)
现在看看官方驱动都提供了那些操作吧:
![5ce24fdb1cd7ac150f53ae7bdd32468c.png](https://i-blog.csdnimg.cn/blog_migrate/f5469f65ae6358b7d4625bd7fdf18ec2.jpeg)
这里,uart.any()是一个非常重要的函数(操作),由于串行通讯数据是一个一个接受的,因此,通常,我们的程序没有必要一个一个去收下来处理,而是由驱动程序先将数据收下来保存到特定的缓冲区中等待我们程序的处理。因此,就需要知道,现在已经接收到多少数据。这个uart.any()就是返回当前新接收未处理的数据有多少。
好了,为了完成预定的目标,我们需要自己定义一些指令,用来控制LED的亮灭。定义协议指令也有一些技巧,但是,今天用于篇幅已经很长,我们就不考虑那么多了,简单的以字符串的形式定义命令:
![b264bbc4ab21f057c6a0533d5459f349.png](https://i-blog.csdnimg.cn/blog_migrate/648a5c1aae0e788f11b271264f28abda.jpeg)
具体实现程序如下:
![2df55aa64971bf97213a91a0303d1726.png](https://i-blog.csdnimg.cn/blog_migrate/8c94b9ffbe9699656ae587c549d8f53b.jpeg)
![b5a62687364a56c3e56daf346d7ec757.png](https://i-blog.csdnimg.cn/blog_migrate/74ddece705d3a8319703ad124e4c478e.jpeg)
程序可通过控制台软件HexTerminal来发送并执行,在串口调试助手中,下部数据发送窗口中敲入命令,然后点击旁边的发送:
![f23d004e3adb8848f7707ed2c06f0185.png](https://i-blog.csdnimg.cn/blog_migrate/ab9bfa6102c84ebaf733e301c8db2f60.jpeg)
可以看到,HexTerminal中的调试输出,并且也能看到uPyBoard板上相应的LED的亮灭。至此,我们的实验目标完成。虽然程序部分,在命令判断的过程中,使用了最笨的方法,但是对于简单的命令处理还是够用的,随着我们学习的深入,会学到更高级的技巧。慢慢来,我们会一点点进步的。
祝各位玩得愉快。请继续关注:创客DIY乐园(MakerDIY-Park),您的关注是我前进的动力。
(全文完)