查看: 1049|回复: 0
打印 上一主题 下一主题

送给初学者高手勿拍 UCOS+UCGUI 3寸 4.3寸 7寸屏三个简单应用

[复制链接]
跳转到指定楼层
沙发
发表于 2015-6-2 14:08:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
给初学者 开源第一个

说明:以前建立了一个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





                                                                                                   给初学者 开源第二个
说明:这个程序写的比较早,写的不是很好,也开源给初学者。
0.  支持USB虚拟串口向上位机传输数据。
1.  收音机的自动搜台,手动搜索。扬声器或耳机播放都可以。
2.  简单的温度,电压采集和背光的设置。
3.  背景颜色的设置。
4.  RTC














                                                                                          给初学者 开源第三个

基于uCOS-II的USB虚拟示波器

这个虚拟的示波器做的很简单:
1.  直接添加了一个USB虚拟串口的驱动。波特率 = 115200
2.  波形的显示不是实时的,采集够1024个点数后,每秒传输100个点。
3.  所以板子下载程序后没有出现波形,需要等会。
4.  VC6.0 我不怎么会用,照葫芦画瓢随便搞了个。

总结:这个程序很适合用来显示温度曲线什么的,要是会做USB上位机驱动的话,做个实时的还是有戏的,
测试过USB -> PC的速度可以到到600KB/S,打开双缓冲好像意义不大,但是从PC -> USB在开启双缓冲的情况下可以达到1MB/S,
由于不会上位机,就把这个东西搁置了。
转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表