在产品设计中我们往往会应用到上位机通讯,作为人机交互而选择lcd显示,这颗RF8016HA自带的功能很强劲,跑了一个RTOS带了很多驱动
和一个相对完善的DEMO,因此本帖在此基础之上进一步二次开发。
2、开始:
2.1 通过查看官方给的资料中显示,相关的API已经相对完善,直接调用即可,只需理解程序的流程与如何运转,模仿给出的例子进行改造,多学
习官方的方式与代码,有助于快速应用这个SOC。
2.2 查看
从图中可以看到,在SDK文档中,我们可以使用串口收发功能,由于系统在运行过程中已经有信息打印,说明串口已经初始化,因此直接调用收发即可
本次遇到一个阻塞问题,刚开始用uart_read()函数,系统直接卡住了,后来经过再次查看SDK,发现后面还有个FIFO的读取方式,不阻塞,所以选择这个
3、keil工程
上图先看看
左边就是工程全部了,其实已经分组很明确,不多介绍了。看到application文件下的proj_name.c文件开始找,根据文档也有介绍到,找到198行的init函数
这就是入口了,我们可以跳转(如上箭头)进入这个文件。
跳转过来之后就可以添加自己的代码了,这个函数里其实是做了一些初始化工作,根据最后创建那个周期定时器,模仿出一个100ms的循环函数,用来获取
上位机发来的数据。
在这个文件中,记得把串口的头文件include过来,然后编写一个函数,用于接收,这实现的功能是,当接收到上位机发来的数据,长度够的时候就返回数
据给上位机,并把接收到的数据显示到LCD屏幕上。最终实现uart与LCD的应用。如下
4、总结:
这个强大的SOC,使用了M3的内核,如果是有过M内核芯片的开发经验,很容易上手。官方基于这个芯片已经建立了一个完善的底层功能,能够让开发者
专注应用层开发,加速实现自己的产品功能。这也很符合当代32位ARM单片机的开发流程,由于芯片越来越复杂,而底层属于重复造轮子的操作,所以
有时候并不需要我们去开发底层。