1892|0

2781

帖子

417

TA的资源

五彩晶圆(中级)

楼主
 

TinyOS在MSP430F2618上移植(三)之LCD [复制链接]

本节记录串口TFT LCD在TinyOS上的移植。1.8寸LCD显示屏采用ST7735控制器,使用SPI接口实现控制、显示数据的传输。

         总体架构:分为3层结构,最底层位于相应的platforms中chips目录下,实现在特定平台上控制引脚连接,SPI接口连接,以及SPI配置。中间层实现了LCD基本操作,LCD初始化,提供给上层模块连接的接口,以及资源管理。最上层提供应用层模块连接的接口。

         在本架构中,中间层和最高层提供相同的接口LCD16,该接口提供的实现方法有english_string,clear,single_color等,以及写完成事件writeDone。不同的是在最高层提供的接口LCD16中,并没有真正实现接口的功能,而仅仅是获得应用层传递的显示参数并设置相应的状态变量,在保存参数后,申请资源,当资源granted后,通过判断当前状态变量,调用中间层接口LCD16相应的实现。在中间层LCD16接口的实现完成后,通过提交任务的方式触发写完成事件writeDone(最好使用任务提交的方式,根据TinyOS官方的说法,这样可以防止消耗过多的堆栈),最高层响应此事件,释放先前申请的资源,并触发写完成事件writeDone,这样应用层便获得了此事件。

         接口ST7735Power实现LCD启动流程。提供的行为有start,stop,lcdinit,以及事件startDone,lcdinitDone。启动流程:应用层调用最高层SplitControl.start后,由最高层call 中间层SplitControl.start,中间层完成相应操作后signal SplitControl.startDone,最高层收到此事件后call Power.start,做LCD初始化前准备(复位LCD),并signal Power.startDone,最高层在此事件中申请资源,当资源允许时,call Power.lcdinit,中间层在LCD初始化完成后signal Power.lcdinitDone,之后最高层释放资源,并signal SplitControl.startDone。至此LCD启动完成。

        应用层使用LCD时必须use两个接口LCD16和SplitControl,在SplitControl.startDone后即可使用LCD16其他实现。

                              移植好的LCD程序在资源中搜索TinyOS TFT LCD 移植。

 
点赞 关注
个人签名

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表