当前位置: 首页 > news >正文

企业网站php开源系统wordpress自动生成文章

企业网站php开源系统,wordpress自动生成文章,网页微博登录,短视频拍摄价目表一、 1.在用ReadFile和WriteFile读写串口时#xff0c;既可以同步执行#xff0c;也可以重叠执行#xff1a; 在同步执行时#xff0c;函数直到操作完成后才返回。这意味着同步执行时线程会被阻塞#xff0c;从而导致效率下降。 在重叠执行时#xff0c;即使操作…一、 1.在用ReadFile和WriteFile读写串口时既可以同步执行也可以重叠执行     在同步执行时函数直到操作完成后才返回。这意味着同步执行时线程会被阻塞从而导致效率下降。     在重叠执行时即使操作还未完成这两个函数也会立即返回费时的I/O操作在后台进行。 2.ReadFile和WriteFile函数是同步还是异步由CreateFile函数决定     如果在调用CreateFile创建句柄时指定了FILE_FLAG_OVERLAPPED标志那么调用ReadFile和WriteFile对该句柄进行的操作就应该是重叠的     如果未指定重叠标志则读写操作应该是同步的。 ReadFile和WriteFile函数的同步或者异步应该和CreateFile函数相一致。 3.ReadFile函数只要在串口 输入缓冲区 中读入指定数量的字符就算完成操作。   WriteFile函数不但要把指定数量的字符拷入到 输出缓冲区而且要 等 这些字符从串行口 送出去后才算完成操作。 如果操作成功这两个函数都返回TRUE。       需要注意的是当ReadFile和WriteFile 返回FALSE时不一定就是操作失败线程应该调用GetLastError函数分析返回的结果。         例如在重叠操作时如果操作还未完成函数就返回那么函数就返回FALSE而且GetLastError函数返回ERROR_IO_PENDING这说明重叠操作还未完成正在后台运行。 3.重叠I/O非常灵活它也可以实现阻塞例如我们可以设置一定要读取到一个数据才能进行到下一步操作。 有两种方法可以 等待 操作完成     一种方法是用像WaitForSingleObject这样的等待函数来等待OVERLAPPED结构的hEvent成员     另一种方法是调用GetOverlappedResult函数等待 二、串口通讯大致步骤 (一)、open()打开串口“读” 1、 打开串口函数(以异步(重叠)IO打开串口)m_hCommHandle标识通讯端口的句柄 m_hCommHandle CreateFile(szComm,          //COM口 GENERIC_READ | GENERIC_WRITE,   //允许读和写 0,                              //独占方式 NULL, OPEN_EXISTING,                  //打开而不是创建 FILE_FLAG_OVERLAPPED,           //重叠方式 NULL); 2、获取串口当前配置函数 GetCommState(m_hCommHandle, dcb); dcb.BaudRate dwBaudRate;//当前波特率 dcb.ByteSize byByteSize;//数据位数 dcb.Parity byParity;//奇偶校验 dcb.StopBits byStopBits;//停止位 3、配置串口函数(设置COM口的设备控制块) SetCommState(m_hCommHandle, dcb)) 4、将串口DTR线路升成高电位 EscapeCommFunction(m_hCommHandle, SETDTR); 要实现自己的流控制时。此时应用必须负责RTS和DTR信号线的状态改变。 5、设置串行口的输入和输出缓冲区的大小 SetupComm(m_hCommHandle, 4096, 4096)) 6、在读写串口之前要用PurgeComm()函数清空缓冲区终止正在进行的读写操作 PurgeComm(m_hCommHandle, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR))//清空缓冲区 7、创建一个线程用于接收串口的数据 8、线程函数中“实时读串口” 8.1 设置要监控的事件 SetCommMask(m_hCommHandle, EV_RXCHAR | EV_ERR); EV_RXCHAR输入缓冲区中已收到数据 8.2 等待串口通信事件的发生 WaitCommEvent(m_hCommHandle, dwMask, m_eventOverlapped)) GetOverlappedResult该函数返回重叠操作的结果用来判断异步操作是否完成 8.3 读串口 ReadFile()数据: GetOverlappedResult该函数返回重叠操作的结果用来判断异步操作是否完成 8.4 接收完成后进入RecvDataEvent响应函数(注册过SerialPort的类会实现RecvDataEvent函数) (二)、Send()发送数据写串口 9、写串口 9.1 立即终止异步发送清空发送缓存区 PurgeComm(m_hCommHandle, PURGE_TXABORT | PURGE_TXCLEAR); 9.2 写串口 WriteFile(m_hCommHandle, vpData, dwDataLen, dwWriteLen, m_writeOverlapped) GetOverlappedResult该函数返回重叠操作的结果用来判断异步操作是否完成 9.3 调用子类的回调函数SendDataEvent函数实现发送 (三)、close()关闭串口 10. 关闭串口 WaitForSingleObject(m_hThread, INFINITE);//等线程结束后关闭 CloseHandle(m_hThread);//关闭线程句柄 EscapeCommFunction(m_hCommHandle, CLRDTR);//将DTR线路降成低电位 PurgeComm(m_hCommHandle, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR); //终止读写/清空缓冲区函数 CloseHandle(m_hCommHandle);//关闭串口
http://www.w-s-a.com/news/107923/

相关文章:

  • 连山区网站建设seo简历
  • 自助建站系统官方版太仓高端网站制作
  • 怎样只做自己的网站建设银行唐山分行网站
  • 咸阳鑫承网站建设软件开发公司网站模板
  • 百度怎么免费做网站网站建设大作业有代码
  • 小说素材网站设计素材网站特点
  • 如何建设一个好的网站WordPress主题设置数据库
  • 网站被模仿十堰网站制作公司
  • 怎么样做免费网站个人网站备案幕布
  • 做ppt的动图下载哪些网站制作一个网站需要多少时间
  • 公司网站开发制作备案中的网站
  • 怎么看网站的收录网站开发先前台和后台
  • 合肥市做网站多少钱wordpress网站布置视频
  • 中国建设人才网信息网站软件外包公司好不好
  • 网站建设与管理 市场分析上海网站建设公司排名
  • 怎么将公司网站设成首页网址关键词查询网站
  • 怎么用ps做网站ui邱县专业做网站
  • 国开行网站毕业申请怎么做大连旅顺口旅游攻略
  • 鲜花店网站源码成都专做婚介网站的公司
  • 合肥企业网站建设工哈尔滨公告
  • 华强北 做网站互联网服务平台入口
  • vi设计案例网站微信导航网站 dedecms
  • 青浦区做网站设计图片手绘图片
  • 做网站的基本功制作网站公司推荐
  • 阿里云快速建站教程个人网站 费用
  • 广东购物网站建设微信公众号制作模板免费
  • 阿里国际站韩语网站怎么做让移动网站
  • 北京外包做网站如何报价中国几大网络推广公司
  • 中国建设部网站关于资质wordpress 建app
  • 程序员找工作的网站哈尔滨建设信息网站