完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 guo8113 于 2016-8-28 11:15 编辑 是时候回到项目了,花了不少时间移植了ucGUI+ FreeRTOS, 这就为要做的应用提供了一个框架。网上的参考还是比较多的,ucGUI和FreeRTOS都可以找到。由于没怎么用过ucGUI所以使用起来也花了不少时间,同时也要提一个improvement,rtc的hardware demo是没有AlARM设置的,这也导致起初在RTC上讨论了一翻,也测试了一番。 我会给出我的所有代码,为了倡导开源,代码采用LGPL license,用了此代码,也必须开源。欢迎大家在此基础上进行开发。 当然时间仓促,代码质量很差,将就看看吧。 我目标是实现一个好用的、界面友好的电器控制中心,说白了就是控制继电器: 1. 万年历,最基本的功能提供时间与多组定时功能。【已完成】 2. 环境检测,最起码芯片内部的温度可以采集。【很简单,不打算做了】 3. 多组定时开/关继电器。【已完成】 4. 低功耗 【已完成】 已知的bug: 目前采用alarm.c 里的Alarm_SetOneAlarm()函数设置闹钟,目前的实现对于多个闹钟的设置有问题,也就是说本意想可设多组闹钟,触发后自动重装下一组闹钟,此功能尚不完善。 在开发过程中还是遇到了一些问题,比如万年历的实现,一开始没有用ucGUI,那叫一个痛苦,检测触摸屏要算坐标;再有用FreeRTOS时多个任务间的同步互斥,也是需要思考。屏幕校准、时钟显示、超时息屏。。。。。还有一个很难受的问题是,Flash不够用了,128KBflash用了RTOS和ucGUI 后基本差不多了用的, 还好KEIL可以对不同的文件实行不同优化,MM的驱动优化后就不能跑了,所以只优化ucGUI和FreeRTOS,优化后多了点空间。 后来优化-O3代码大小不怎么变化了,还是不够用,于是找了KEIL如何优化代码大小,这个帖子可以参考 http://blog.csdn.net/abclixu123/article/details/46923725 好歹可以放的下代码了,本来想搞个FATFS,留后面有时间搞吧。 目前终于搭起了框架,实现的功能仅仅是时间设置、闹钟设置功能,但是可以基于此框架继续完善功能。还有UI的设计挺耗时间就不折腾了,下面是运行效果。 周末又是一天折腾,实现了触摸屏校准和控制中心应用选择,如图: 最重要的是实现了多组定时控制的功能,目前还没有集成到UI 中,通过串口输出8组定时数据,定时数据会保存在EEPROM中,所以掉电也不会丢失。 继续编程 , 经过一天的努力终于把闹钟显示控制界面搞定了,这个过程中遇到了个问题,我在两个对话框里的控件使用了相同的ID导致了软件莫名其妙的行为,起初以为只有一个对话框里的控件ID不同就可以,看来要所有用到的控件的ID都应该不同,后来调试过程中貌似又不是这个原因,目前仍存在一定的bug,不得而知。下图是 采用ucGUIBuilder创建的对话框: 查找可用的GPIO, 看了下引出来的排针基本上都被LCD之类的占用了。引脚还是有点少,只能使用RF接口的两个pin了:PA4,PC4;这个是最简单的控制GPIO, 在软件中通过了PendSV的形式来控制,RTC闹钟中断后,在中断的下半部实现GPIO控制。 |
|
相关推荐
26 个讨论
|
|
只有小组成员才能发言,加入小组>>
2249个成员聚集在这个小组
加入小组灵动微电子MM32全系列MCU产品应用手册,库函数和例程和选型表
11703 浏览 3 评论
【MM32 eMiniBoard试用连载】+基于OLED12864的GUI---U8G2
5930 浏览 1 评论
【MM32 eMiniBoard试用连载】移植RT-Thread至MM32L373PS
10965 浏览 0 评论
【MM32 eMiniBoard测评报告】+ 开箱 + 初探
4577 浏览 1 评论
灵动微课堂(第106讲) | MM32 USB功能学习笔记 —— WinUSB设备
4302 浏览 1 评论
[MM32软件] MM32F002使用内部flash存储数据怎么操作?
981浏览 1评论
806浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 22:13 , Processed in 0.697772 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号