Windows nginx linux命令 php centos apache google Python wordpress 微软 开源 linux HTML5 Android Firefox shell 程序员 Ubuntu java mysql

开发串口应用程序


   Linux操作系统对串行口提供了很好的支持,Linux系统中的串口设备被当作一个字符设备处理。pc安装Linux系统后在/dev目录下有若干个ttysx设备文件。tyys0对应第一个串口。也就是windows系统下的串口设备com1,以此类推。

  操作串口的方法与文件类似,可以使用与文件操作相同的方法打开和关闭串口,读写,以及使用select函数监听串口。不同的是,串口是个字符设备,不能使用seek之类的文件定位函数。此外,串口是个硬件设备,还可以设置串口设备的属性。

  MSComm控件一般就是用事件驱动方式从串口接收数据,也就是消息处理,当串口有事件发生时,程序调用消息消息函数来处理数据。该函数代码的主要任务是从串口接收数据并显示在接收编辑框中。
在这里不得不说的是我们会经常碰到的程序错误:“ const char* 与LPCTCTR类型不匹配 ”、“ const char 和 const wchar_t 类型不匹配”。在这里,我们利用“-T()”函数处理就好了。

  程序的main函数中,使用open函数打开串口,方法与打开普通文件相同,并且制定了读写程序,打开串口设备后,判断文件句柄的值是否正确,如果正确将打印打开串口成哥的信息,最后使用close函数关闭串口。串口的打开和关闭和文件相同。利用MSComm进行串口程序开发大大提高了编程效率!关键在于串口消息的实时监控,并设定适当的消息处理函数。最典型的就是获得串口接收到的数据(当然了也包括这些数据的算法处理)。

   void CSerialCommDlg::OnClickedButtonManualsend()
{
    UpdateData(TRUE);
    m_ctrlComm.put_Output(COleVariant(m_strEditTxData));//发送数据

延伸阅读

评论