新闻中心

EEPW首页>模拟技术>设计应用> 基于S3C2440的智能模拟人的控制

基于S3C2440的智能模拟人的控制

作者: 时间:2011-02-14 来源:网络 收藏

一般情况下,串口通信采用两种方法:一种方法是利用Windows的通信API函数;另一种方法是利用Visual C++的ActivateX控件。Windo-ws的API函数使用起来比较灵活,实现通信的效率也是最高,所以系统采用利用Windows的API函数进行串口通信的开发。程序中thread_com类对串口操作的WindowsAPI函数进行了封装,此类实现了对串口同步接收、异步接收以及线程监控模式异步接收。thread_com类的成员函数如表1所示。

本文引用地址://m.amcfsurvey.com/article/187624.htm

d.JPG


2.2.2 通气和按压功能的实现
根据上面所说的情况,可以完成CPR中通气和按压功能的实现,将ADC驱动烧录至进行压力传感器的信号采集和转换,由于采用的双路信号,就需要将压力传感器的取值范围分为两段,取中值后,设定大于中值时,完成按压功能响应;小于中值时,完成通气功能响应;在不对传感器操作的时候,不响应。在采集到压力信号的同时,向上位机发送8位UART数据,进行按压和通气显示条的操作,具体表现为:当按压或者通气值满足系统设定的条件时(初始状态为蓝色),按压或通气条显示绿色,否则为红色。具体如图4所示。

e.JPG

3 功能实现过程中遇到的问题
可以很好地满足设计功能需求,显示效果也比较满意,但是在具体实现过程中,遇到很多问题,比如,内核自带的ADC驱动的中断号和编写的ADC驱动的中断号冲突的问题;一些外扩的I/O口已经被占用的问题;与上位机通信过程中,数据包的传输问题;按压和同期进度条显示速率的问题等。通过以下步骤可以很容易地解决这些问题:
(1)根据用户手册,重新烧录Bootload时,要对I/O口进行重新配置,使之满足智能人控制箱的配置需要;
(2)如果不需要使用触摸屏的话,可以对S3C2440进行裁剪,卸载ADC触摸屏驱动;如果仍需要使用触摸屏,可以改用查询方式完成功能;
(3)对上位机和下位机设置同样的波特率,并建立链表,在满足条件的情况下,再进行数据的传输,避免传输数据有误造成的功能显示问题;
(4)对按压和通气进度条的传输数据进行参数调整,同时结合上位机的参数进行调试,设置加权系数,可以完善进度条显示速率问题。

4 结语
主要讨论了用S3C2440开发智能人控制箱和按压通气功能的实现,并介绍了上位机与下位机的通信,对在此过程中遇到的中断号冲突,进度条显示速率过慢等问题,也提出了相应的解决的方法。


上一页 1 2 3 4 下一页

关键词:S3C2440模拟

评论


相关推荐

技术专区

关闭