昨天晚上把整个项目全部过程和一些心得体会给大家做了个分享,今天这个帖子作为终结帖呢,准备把整个项目的内容细节再来从头捋一遍,一来做个全面的项目终结,二来也算查漏补缺吧。各位看官权且稍安勿躁,且听我慢慢道来。
这个项目的名字呢,叫基于GD32F350的桌面小助手,为什么叫桌面小助手呢,前不久的暑假期间,我刚好在北大参加过一个其它厂商的培训,跟着北大的段老师做过一个可以放在桌子上的番茄闹钟,具体的就是下图这个样子
这个是闹钟主要是摆放在桌面上,用来提高工作效率的小工具。受它的启发,刚好这次借着GD32F350活动的机会,做一个摆放在桌面的生活小助手,主要提供一些天气状况,当前温度,以及当地的气象预警信息,能在我们紧张工作之余,提供一些生活上的便利吧。
整体的系统规划,如下图所示
GD32F350有两个UART,其中一个给ESP8266做数据通讯,另一路通过GD32F350板上的USB连接到PC机,这一路主要方便程序调试用;
GD32F350通过SPI与TFT通讯,用来显示图像和文字信息;
整个下位机程序部分的框架是基于GD32F350的Dome程序衍生而来的
在原来工程上增加了TFT的驱动部分,还有ESP8266的驱动部分
其中TFT的端口使用如下图定义
而且在程序中提供了显示字符的各种驱动函数
除了上面这些常用的屏幕操作函数外,在GUI中还包含一些其他函数
这里还提供了能够显示GBK汉字的函数,需要显示汉字的时候,只需要将指定汉字的点阵放到程序中,然后通过简单调用,即可实现汉字显示功能;
在ESP驱动文件中只要就是记录一些常用指令,因为ESP8266使用的是UART通讯方式,所以这里没有什么特别的函数;
图中隐去的是路由器的SSID和密码,需要使用的时候可以直接替换成你的路由器信息即可,最后面的AT_DATA就是向心知天气请求数据的指令,如果你注册了心知天气的付费版的话,可以用你的验证ID做下替换就可以了,付费版要比免费版的功能丰富的多。具体可以参考我前面的帖子。
上图即为UART方式操作ESP8266的流程,具体返回值可以下图
具体ESP8266操作方式在附件中详细的解释,这里不再赘述。全部源码工程见附件。
最后,本想拍个视屏发上来,可是怎么也搞不定优酷,就此作罢,我之前的帖子中大量细节的图片,也算稍作弥补吧!