目前WinCE嵌入式与MSP430
单片机在仪器仪表、工业控制、移动设备等有着广泛的应用。在很多复杂的应用场合比如多点温度采集、多点转速采集,一个单片机不能满足要求,需要多台单片机协同工作,此时,多台单片机通信是实现的关键。以基于WinCE嵌入式设备为核心,取代传统意义上的PC机,采用TCP/IP通信机制搭建的串口通信系统,结合嵌入式设备和网络技术的优点,将各独立系统复杂的通信协议、数据格式进行统一的转化,特别适用于远程、多机串口通信,具有重要的使用价值和应用前景。
1 硬件平台
1)WinCE嵌入式采用友善之臂mini2440开发板作为硬件平台,mini2440开发板主要的硬件资源包括:SamsungS3C2440A,主频400MHz,最高533 MHz;1个100 M以太网RJ-45接口(采用DM9000网络芯片),1个通用异步串行口(UART);2个USB数据接口;1个LCD控制器;1个64MSDRA-M;1个SD卡接口;以及键盘接口和IDE接口等,利用上述的核心硬件资源,根据需要定制相关的内核,在EVC集成开发环境中编写应用程序。
2)MSP430F149单片机是TI公司芯片,它具有集成度高、外围设备丰富、超低功耗、1.8~3.6 V的低电压供电范围,5种可选的低功耗模式,低于6μs的唤醒时间等优点,是设计电池供电系统的极佳选择。由于具有16位RISC结构,16位寄存器和常数寄存器,MSP430达到了最大的代码效率。数字控制的振荡器提供快速从所有低功耗模式苏醒到活动模式的能力,时间少于6ms。MSP430F149带有2个16位定时器(带看门狗功能)、速度极快的8通道12位A/D转换器(ADC)(带内部参考电压、采样保持和自动扫描功能)、1个内部比较器和2个通用同步/异步发射接收器,硬件乘法器提高了单片机的性能并使单片机在编码和硬件上可兼容,所以在很多领域得到了广泛的应用。
3)PC机与WinCE嵌入式通过100 M/S以太网接口连接,WinCE嵌入式与MSP430F149通过RS232进行通信,串口通信总体框图如下图1所示。
1)打开端口并进行初始化 在EVC中把设备当做文件来处理,故使用CreateFile来打开端口。如果打开成功,则会返回打开串口的句柄。成功打开一个端口之后,需要对端口进行初始化。调用串口通信函数SetupComm,设置COM的发送和接收缓冲区的大小。分配好缓冲区以后,调用CetCommTimeouts函数对读写串口进行超时设置。然后调用GetCommState函数获取当前串口的默认参数并返回一个DCB结构体地址,通过给这个DCB结构体各成员赋值来重新设定串口状态。最后调用PurgeComm函数清空串口的发送接收缓冲区。
2)对串口进行读写操作 成功配置好串口参数后即可调用函数ReadFile和WriteFile对串口进行读写操作。在通信的过程中可能出现通信错误导致程序无法继续进行,一般需要调用ClearCommError清除这些错误。
3)关闭串口 使用完串口后必须关闭串口。串口不能像文件一样被共享,不释放别的应用程序不能使用。关闭串口只需使用CloseHandle即可。WinCE串口流程图如图3所示。
一周热门 更多>