物联网关键技术心得
通过学习了物联网关键技术这门课程的学习,也是认识到了串口助手的作用。学会设置串口协议,做出了手动发送和接收,自动接收和发送。做出了低频卡门禁卡系统,做了高频卡停车场收费系统。而我接下来介绍的是自动接收数据。
自动接收口数据
将原来已经设计好的手动接收串口数据,改为自动接收串口数据,使用的方法有两种。
第一种是采用 Timer 定时器自动接收数据,相当于单片机中的扫描法,该方法简单易用,但是需要处理器实时扫描接收缓冲区数据,效率低,增加开销,可以简单练习,不建议项目设计采用。
第二种方法是采用串口接收数据事件,此方法相当于单片机的串口接收中断法,当接收缓冲区接收到的数据大于设定的警报值,则向处理器发出信号 (中断请求),我们可以根据请求调用相应的处理函数该方法由于出现跨线程操作,需要使用委托 delegate 操作解决相关问题。该方法操作比较复杂,理解有一定难度,但由于不需要处理器实时扫描效率高,开销小,适合真实项目开发。
而我这次采用的是定时自动接收口数据的方法,这个比较简单对于刚开始接触练习可以用这个方法,但是如果我们要用到真实项目中还是推荐方法二。
步骤:
- 先在自己的设计项目中添加 timer 控件
也可以通过 timer 类建立一个 timer1对象。
private void Form1 Load(object sender, EventArgs e)Timer timer2 = new Timer() .
2.在timer1属性中设置好Intervel,控制扫描时间·Interval代表间隔时间,1000=1S
3.先将 timer1 属性 Enable 设为 false,表示关闭 timer1·只有等到串口打开后才可以使用timer1.
4.使用timer1_Tick 方法调用串口接收医数
常见问题分析:
1、在串口打开的相关函数内部,没有打开 timer1.Enable=true;同时在关闭串口时,没有让timer1Enable=false:
2、在 RadioButton 控件中的属性 Checked=true;
这样我们的定时自动接收就算是做好了。