| 
 | 
 
 本帖最后由 enlernzhang 于 2014-3-18 12:00 编辑  
 
 给初学者 开源第一个  
 
说明:以前建立了一个UCGUI的群,群里同学要求做个UCGUI的简单应用,现在给初学的朋友开源两个 
           这个东西字前段时间搞过,由于驱动有所改动,还是花了三个晚上(10点到凌晨3点), 
           白天还得搞别的,只能晚上搞了,感觉调试起来还是有一些大大小小的问题,暂时先 
           放一放,熬夜有点累,后面再弄,有点忙不过来了。 
           这个程序写的比较规范,我也是学习的armfly开发板的,规范的程序写法要养成习惯,程序写的架构也非常好,向大家推荐。 
 
硬件:STM32F103VET6核心板 
         CPU : STM32F103VET6/ LQFP100     (可以换 STM32F407VGT6) 
         RS232串口1个 
         8MB 串行SPI1个 
         4.3寸和7寸屏接口(RA8875),UCGUI底层全部采用2D硬件绘图 
         3个按键 1个摇杆,4个LED灯 
 
软件:MDK4.23 
 
功能介绍(基本能利用的资源都用上了): 
 
1. 从SD卡读取图片作为背景,然后做三个个图标,暂时只用了两个图标。 
2. 图标一实现SD卡U盘的连接和断开,以及SPI FALSH的简单测速, 
3. 图标二实现官方的DEMO,运行完,回到主界面。 
4. 摇杆用于鼠标移动。 
5. 蜂鸣器用于按键和控件按下时鸣响。 
6. 按键一用于打印系统信息,按键二用打印任务堆栈使用情况,按键三用屏幕截图。 
7. 串口用的是5个串口FIFO,支持RS485 
8. GUI的底层全部采用硬件2D绘图 
9. 暂时用4.3寸调试的,7寸的话,要改写触摸校准。 
10.SPI FLASH驱动支持 SST25VF016B 、 MX25L1606E 和 W25Q64BVSSIG 
11. TFT驱动支持 SPFD5420A、OTM4001A、R61509V  RA8875 
12. 7个按键的FIFO  
 
调试中存在的BUG(有时间了修正一下,暂时还没解决): 
 
1. SD卡U盘,读取数据没问题,写入数据容易存在错误。 
2. UCGUI的底层画线函数,用硬件2D绘制,有时存在错误,矩形填充不存在问题,可以使用。 
3. 现在FatFS的读取不能超过512字节,不知道哪里出问题,这个程序在armfly的V2,V3开发板上 
    运行是没问题,区别就是RA8875的驱动不是用的我用的那个,FATFS的写数据存在问题,所以 
    截图功能就不能用了,后面首先把这个问题解决一下。 
4. 这个问题也不算是BUG,触摸和TFT屏都是使用fsmc,所以要解决资源共享的问题,我这里没有采用 
    信号量的方法(推荐这种,简单有效),armfly例程里面是采用的在每个底层函数里面设置一个变量, 
    也起到一个互斥信号量的作用,为了不更改驱动函数,我也采用这种方法,实测也可以的。 
 
 
每个100ms打印的消息 
    \  #Ticks: 866891    CPU Usage : 07% 
   按键一打印任务使用情况 
   ST STM32 (Cortex-M3) 
   Prio       Used       Free      Per         Taskname 
   31          16         112     12%       uC/OS-II Idle 
   30          16         112     12%       uC/OS-II Stat 
   29           25        103     19%       uC/OS-II Tmr 
    1            36        476     07%       Start Task 
    3            73        951     07%       Keyboard 
    2           44         468     08%       User I/F 
    4          122        902     11%        UCGUI 
按键二打印系统情况 
ST STM32 (Cortex-M3) 
    uC/OS-II  : V2.92 
    TickRate  : 1000 
    CPU Usage : 04% 
    CPU Speed : 72 MHz 
    #Ticks    : 866790 
    #CtxSw    : 434172 
 
 
 |   
 
 
 
 |