MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。
MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。
MicrosoftCommunicationsControl(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。
具体的来说,它提供了两种处理通信问题的方法:一是事件驱动(Event-driven)方法,一是查询法。
  1.MSComm控件两种处理通讯的方式  MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。
  1.1事件驱动方式  事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。
在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者CarrierDetect(CD)或RequestToSend(RTS)线上一个字符到达或一个变化发生时。
在这些情况下,可以利用MSComm控件的OnComm事件捕获并处理这些通讯事件。
OnComm事件还可以检查和处理通讯错误。
所有通讯事件和通讯错误的列表,参阅CommEvent属性。
在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。
这种方法的优点是程序响应及时,可靠性高。
每个MSComm控件对应着一个串行端口。
如果应用程序需要访问多个串行端口,必须使用多个MSComm控件。
  1.2查询方式  查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。
在程序的每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误。
如果应用程序较小,并且是自保持的,这种方法可能是更可取的。
例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。
  2.MSComm控件的常用属性  MSComm控件有很多重要的属性,但首先必须熟悉几个属性。
CommPort设置并返回通讯端口号。
Settings以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。
PortOpen设置并返回通讯端口的状态。
也可以打开和关闭端口。
Input从接收缓冲区返回和删除字符。
Output向传输缓冲区写一个字符串。
2025/3/19 16:28:33 58KB CommPort Settings Outpu
1
目录11Qt概述31.1什么是Qt31.2Qt的发展史41.3支持的平台41.4Qt版本41.5Qt的安装5LinuxHost5OSXHost5WindowsHost51.6Qt的优点52创建Qt项目62.1使用向导创建62.2手动创建92.3.pro文件102.4一个最简单的Qt应用程序123信号和槽机制133.1信号和槽133.2自定义信号槽15自定义信号槽需要注意的事项18信号槽的更多用法183.3Lambda表达式194Qt窗口系统214.1Qt窗口坐标体系21坐标体系214.2QWidget214.2.1对象模型214.3QMainWindow234.3.1菜单栏244.3.2工具栏254.3.3状态栏254.4资源文件264.5对话框QDialog294.5.1基本概念294.5.2标准对话框304.5.3自定义消息框314.5.4消息对话框334.5.5标准文件对话框364.6常用控件394.6.1QLabel控件使用394.6.2QLineEdit414.6.3其他控件434.7布局管理器434.7.1水平/垂直/网格布局444.7.2自定义控件465Qt消息机制和事件505.1事件505.2event()525.3事件过滤器555.4总结595.5不规则窗体626绘图和绘图设备636.1QPainter636.2绘图设备656.2.1QPixmap、QBitmap、QImage666.2.2QPicture697文件系统707.1基本文件操作717.2二进制文件读写737.3文本文件读写758Socket通信768.1TCP/IP77服务器端77客户端798.2UDP81广播82组播828.3TCP/IP和UDP的区别839多线程839.1线程介绍849.2多线程的使用879.3使用线程绘图8910数据库操作9110.1数据库操作9110.2使用模型操作数据库97查询操作97插入操作98更新操作99删除操作10010.3可视化显示数据库数据10011Qt程序打包1021Qt概述
2025/3/5 10:31:35 1.27MB qt
1
事件触发控制simulink仿真。
基于自适应控制和反步设计方法。
仿真是基于不确定非线性系统自适应反步控制方法来设计的触发控制方案,即在反步法的实际控制与plant之间加上触发机制。
你可以先学习一下自适应反步法控制方法(相关SCI论文很多)。
然后在控制器u加上触发机制代码即可,运用简单的if语句。
1
BAME,Networks,BHM,Event,Report.pdf
2025/2/22 17:37:29 3.83MB 平等 blacklifematter
1
自述文件用户テーブル柱子类型选项姓名细绳null:假电子邮件细绳null:假密码细绳null:假协会has_many:users_eventshas_many:events,通过:users_events活动テーブル柱子类型选项姓名细绳null:假年整数null:假月整数null:假天整数null:假start_hour整数null:假start_minute整数null:假投文本null:假地方细绳null:假price_future细绳price_today细绳null:假票务链接细绳协会has_many:users_eventshas_many:users,通过:users_eventsusers_eventsテーブル柱子类型选项用户参考null:fa
2025/1/17 10:22:39 2.23MB Ruby
1
用Java编写的图形用户界面通讯录packagemyaddressbody;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.Date;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjavax.swing.JButton;publicclassDemonstrationacctionimplementsActionListener{ publicvoidactionPerformed(ActionEvente){ if(((JButton)e.getSource()).getText().equals("显示查询结果")){ Stringdburl="jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ=main.mdb"; Stringsql; Connectioncon; Statementstmt; Stringnm,sx,mp,ph,em,ca,ha,nb,gp,lbMQ,all; booleanbdr; Datebd; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(java.lang.ClassNotFoundExceptione2){ System.err.print("ClassNotFoundException:"); System.err.println(e2.getMessage()); } try{ con=DriverManager.getConnection(dburl,"",""); stmt=con.createStatement(); sql="SELECT*FROMaddress"; ResultSetws=stmt.executeQuery(sql); while(ws.next()){ nm=ws.getString(1); sx=ws.getString(2); bd=ws.getDate(3); mp=ws.getString(4); ph=ws.getString(5); ca=ws.getString(6); em=ws.getString(7); ha=ws.getString(8); gp=ws.getString(9); nb=ws.getString(10); lbMQ=ws.getString(11); all="姓名:"+nm+"性别:"+sx+"生日:"+bd +"移动电话:"+mp+"固定电话:"+ph+"MSN/QQ:" +lbMQ+"公司地址:"+ca+"EMail:"+em +"家庭地址:"+ha+"组别"+gp+"备注:"+nb +"\n"; Demonstrationaframe.lbdem.append(all); } stmt.close(); con.close(); }catch(Exceptionex) { System.out.println("Exception:"+ex.getMessage()); } } if(((JButton)e.getSource()).getText().equals("退出全部查询")){ Demonstrationaframe.lbdem.setText(""); Demonstrationaframe.demFrame.setVisible(false); } }}
2025/1/14 9:56:29 99KB Java通讯录
1
as3.0雪花随机飘落:package{importflash.display.MovieClip;importflash.events.*;publicclassSNOWextendsMovieClip{varspeedx:Number=0;varspeedy:Number=0;publicfunctionSNOW(){speedx=5*Math.random()-0.5;speedy=5*Math.random();this.addEventListener(Event.ENTER_FRAME,Mot);//constructorcode}functionMot(e:Event){this.x+=speedx;this.y+=speedy;if(this.y>400){init();}}functioninit(){this.y=0;this.x=Math.random()*550;}}}
2024/12/28 15:53:27 9KB as3.0 雪花飘落
1
这个文档是超级有用的噻。
列出部分的目录Overview1.1Scope1.2Purpose2.NormativeReferences3.Definitions,Acronyms,andAbbreviations3.1Definitions3.2AcronymsandAbbreviations4.ClassesandUtilities5.BaseClasses5.1uvm_void5.2uvm_object5.3uvm_transaction5.4uvm_root5.5uvm_port_base6.ReportingClasses6.1uvm_report_object6.2uvm_report_handler6.3uvm_report_server6.4uvm_report_catcher7.FactoryClasses7.1uvm_*_registry7.2uvm_factory8.PhasingClasses8.1uvm_phase8.2uvm_domain8.3uvm_bottomup_phase8.4uvm_task_phase8.5uvm_topdown_phase8.6UVMCommonPhasesUVM1.1ClassReferenceFront-48.7UVMRun-TimePhases8.8User-DefinedPhases9.ConfigurationandResourceClasses9.1uvm_resource9.2uvm_resource_db9.3uvm_config_db10.SynchronizationClasses.10.1uvm_event10.2uvm_event_callback10.3uvm_barrier10.4uvm_objection10.5uvm_heartbeat
2024/12/18 8:03:21 3.54MB uvm 验证 class
1
该ts分析工具以Tree的形式,显示解析码流中的PAT,PMT,SDT,EIT及Subtitle的PES包Tree的结构基本和各SI包的数据结构一一对应,帮助你以实例学习TS结构相比其他软件相比,多解析了LCN数据和Subtitle数据同时,会将Subtitle数据仿真显示出来1、双击Tree中的Subtitle的PES节点,右侧会显示该Subtitle图片2、仿真搜台过程,将结果显示在右边的列表中3、实现仿真EPG4、双击EIT表,可以讲所有的EIT表存成网页的格式,打开parsing_result.html就可以看到结果5、当解析完成后,点击HTML按键,会将PAT,PMT,SDT,NIT存成网页格式,打开parsing_result.html就可以看到结果6、双击EIT中的eventid,会自动打开一个窗口显示该EIT中的event的详细数据内容7、解析的码流大小不受限制稍后,我会公布源码,方便初学者学习ts原理该软件是我在公司为了方便分析码流,解决客户问题,以及帮助公司新人快速掌握dtv原理而耗费了2个月时间写成的下一版本将会支持1.0版本的teletext解析
1
本程序实现了视频文件的解码和显示(支持HEVC,H.264,MPEG2等)。
是最简单的FFmpeg视频解码方面的教程。
通过学习本例子可以了解FFmpeg的解码流程。
项目包含6个工程:simplest_ffmpeg_player:标准版,FFmpeg学习的开始。
simplest_ffmpeg_player_su:SU(SDLUpdate)版,加入了简单的SDL的Event。
simplest_ffmpeg_decoder:一个包含了封装格式处理功能的解码器。
使用了libavcodec和libavformat。
simplest_ffmpeg_decoder_pure:一个纯净的解码器。
只使用libavcodec(没有使用libavformat)。
simplest_video_play_sdl2:使用SDL2播放YUV的例子。
simplest_ffmpeg_helloworld:输出FFmpeg类库的信息。
1
共 45 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡