以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何用定时器接收串口数据及操作图表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175482) |
||||
-- 作者:hbjzhht -- 发布时间:2022/3/6 22:23:00 -- 如何用定时器接收串口数据及操作图表 各位老师: 第一次接触狐表,用的试用版,不能使用串口监视器,采用定时器接收。本次timetick事件有两个问题需要请教 1,运行时报错:给定的端口名称未以 COM/com 开头或未解析为有效的串行端口。 2 定时器画图表时,每秒画一个点,不是一次画10个点或几百个点,该如何编程 请各位老师帮忙指点,谢谢
timetick事件为: Dim PortName As String = e.Form.Controls("cmbPort").Value \'获得用户选择的串口名称 Dim cnt As Integer = Ports(PortName).BytesToRead If cnt > 0 Then \'缓冲区是否有数据 Dim Val(cnt - 1) As Byte Ports(PortName).Read(val,0,cnt) End If Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 \'Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表 \'Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = 500 \'新增图系包括10个数据点 If count <500 Then count = count +1 Series.X(count) = count \'指定水平坐标 Series.Y(count) = 100 \'垂直坐标用随机数生成 End If |
||||
-- 作者:有点蓝 -- 发布时间:2022/3/6 22:36:00 -- 1、串口只有COM1、COM2、..这种名称,确保窗口已经插上设备,并且可以正常访问,且没有其它程序在使用这个串口 2、图表功能只能一次性全部输出,无法每秒画一个点
|
||||
-- 作者:hbjzhht -- 发布时间:2022/3/7 11:20:00 -- 嗯,好的,有点明白了,我再试试 谢谢您的指点 |