基于Atmel-View的电子相框实现
[10-10 20:36:41] 来源:http://www.88dzw.com 电子制作 阅读:8476次
文章摘要: 蓝牙进程进行蓝牙传输服务的监控工作,一旦外部传输请求发生,蓝牙进程将通过调用BTUI_UpdateResponse函数来通知Atmel-View任务,并开始数据接收写入工作。此函数主要是作为蓝牙任务端响应蓝牙传输相关事件,进而与Atmel-View进行及时有效的沟通、协调工作。当蓝牙任务端事件响应时,就调用NU_Send_To_Queue函数,将信息传递到队列Task_bt_queue中。在MenuMode进行完初始界面绘制后,即刻开始不断监听与蓝牙模块共享的队列Task_bt_queue,在调用函数NU_Receive_From_Queue接收到蓝牙传输请求后,即弹出信息框通知
基于Atmel-View的电子相框实现,标签:电子小制作,http://www.88dzw.com蓝牙进程进行蓝牙传输服务的监控工作,一旦外部传输请求发生,蓝牙进程将通过调用BTUI_UpdateResponse函数来通知Atmel-View任务,并开始数据接收写入工作。此函数主要是作为蓝牙任务端响应蓝牙传输相关事件,进而与Atmel-View进行及时有效的沟通、协调工作。当蓝牙任务端事件响应时,就调用NU_Send_To_Queue函数,将信息传递到队列Task_bt_queue中。
在MenuMode进行完初始界面绘制后,即刻开始不断监听与蓝牙模块共享的队列Task_bt_queue,在调用函数NU_Receive_From_Queue接收到蓝牙传输请求后,即弹出信息框通知用户蓝牙传输进行中,同时关闭影响蓝牙传输的红外接收并设置蓝牙传输状态为TRUE,以避免按键处理模块的进行。如此,程序将在蓝牙传输期间不断进行while循环随时监听Task_bt_queue的新信息情况。直至接收到来自蓝牙模块的传输完毕信息,标识着蓝牙传输工作的完毕,则更新显示区,重开启红外接收并将蓝牙传输状态设为FALSE以让按键处理模块重新进行。
4.4.2 Semaphore的应用
Nucleus Plus 提供信号量(semaphores),事件集(event groups)和信号(signals)解决信号同步问题。信号量和事件集都是独立的,公用的设备。任务和其他系统设备的联系由应用程序决定。在Atmel-View模块和蓝牙模块的进程间同步方式,这里选择使用信号量来实现。
在Atmel-View的UI应用中,加载媒体文件访问存储卡在所难免,而蓝牙模块的传输工作也将把接收到的文件写入存储卡中。在蓝牙进程和Atmel-View进程同时访问存储卡设备时,由于资源重入的不支持将导致资源冲突程序瘫痪的发生。因而,这里使用Nucleus的Semaphore来解决资源竞争问题。
声明了NU_SEMAPHORE变量后,此变量将在Atmel-View进程和蓝牙进程间共享,在访问冲突资源的时候,调用NU_Obtain_Semaphore和NU_Release_Semaphore函数来将资源访问模块包住,从而保证在得到Semaphore后,直至释放Semaphore前,资源访问都是安全的,因为另一正要访问此资源的进程将由于得不到唯一的Semaphore而暂时被自动悬挂起来。
5总结展望
随着电子相框市场的日趋成熟,技术的不断发展,功能模块日益增多,系统架构也变得越发复杂。这使得软件产品的可用性、易用性、友好性显得更为重要起来,UI的设计实现是否合理将直接影响这些因素。
市面上流行的不少电子相框的UI设计存在着架构简陋、复用性差、可扩展性差的问题。本论文的方案主要基于Atmel-View,完成了一套层次化、结构化、易扩展的菜单系统,实现效果良好。并嵌入Nucleus Plus操作系统,实现了菜单系统和蓝牙模块间的进程通信和同步,有效得支持了蓝牙模块。
- 上一篇:变频闪光指示灯
《基于Atmel-View的电子相框实现》相关文章
- › 基于ATmega48的微功耗电刺激器的设计
- › 基于AT90S2313-4PC的MP3无线遥控自动点播机
- › 基于AT91M40800的音频视频处理系统设计
- › 基于AT90S8515的串行通信及其应用
- › 基于AT89S51单片机的出租车计价器系统设计
- › 基于ATmega128的智能安全帽特性检测仪设计
- 在百度中搜索相关文章:基于Atmel-View的电子相框实现
- 在谷歌中搜索相关文章:基于Atmel-View的电子相框实现
- 在soso中搜索相关文章:基于Atmel-View的电子相框实现
- 在搜狗中搜索相关文章:基于Atmel-View的电子相框实现