一周非常快的就过去了,在这一周里边学边做,终于将作品完成了一个雏形了,基本主体功能有了,就差一些优化。和一个附加功能。首先说明要做什么,题目上是一个多功能小日历。就是和日历有关。首先这个可以显示时间,公历的日期,同时作为一款日历,农历也是可以显示的,然后这个日历要有预报天气的功能,同时可以获得实时的环境温湿度信息。原则上有些东西是可以设置的。附加的功能就是添加一个音乐播放器。
应用的知识有RT-Thread操作系统,STemwin,stm32相关开发知识,esp8266.
应用的硬件有野火stm32f429挑战者V1开发板(带屏幕),Esp8266,DHT11温湿度传感器。
硬件部分就不多介绍了,因为这基本都是现成的模块,就是DHT11需要注意下上拉电阻的问题。
主要就是软件部分。首先就是移植一个RT-THread,在之前的课程中已经实现了,所以这里也不赘述。然后就是在这个基础之上移植STemwin。由于STemwin是闭源,所以需要改的非常少,只要把相关的文件添加到 自己的工程之中就可以了。主要就是编写一下驱动函数,还有就是一些和操作系统相关的实现。
上面的就是一些文件,主要还是高亮的文件夹,下面的那两个是实现stemwein的一些附加功能的。
然后就是配置文件适配rtt的。我用是现成的板子这个板子移植过freertos,所以照着改就行。这个就是GUI_X_rtthread.c的一些配置
[code]#include "GUI.h"
/* rtthread头文件 */
#include
#include
/*********************************************************************
*
* Global data
*/
static rt_mutex_t xQueueMutex = RT_NULL; //互斥信号量
static rt_sem_t xSemaTxDone = RT_NULL; //二值信号量
/*********************************************************************
*
* Timing:
* GUI_X_GetTime()
* GUI_X_Delay(int)
Some timing dependent routines require a GetTime
and delay function. Default time unit (tick), normally is
1 ms.
*/
int GUI_X_GetTime(void)
{
下载附件[然后就是从功能出发.docx]
查看更多
链接没有了?