C#串口数据读取,cc2431通过串口将数据包传送给pc,我希望通过c#编写一个串口通信程序读取传送过来的数据

C#中有一个serialport类应该是可以实现我所希望的功能,我用readline()函数程序会卡住,用readexisting()读出来为空,DataReceived... C#中有一个serialport类应该是可以实现我所希望的功能,我用readline()函数程序会卡住,用readexisting()读出来为空,DataReceived事件编程不会用,我不知道cc2431传感器传过来的具体数据格式是什么,不过我用串口调试工具comtools会得到如 04C0E0D8273B0323E4D8003B002004C00407FC04C32320042024FF这样的数据(hex接收,assci接收则为乱码),如果有谁能给我一个可用的源程序,我将继续加分 展开
 我来答
FabKiller
2013-10-04 · TA获得超过586个赞
知道小有建树答主
回答量:676
采纳率:0%
帮助的人:479万
展开全部

由于我电脑主板没有COM口,无法测试,但是,这种COM口的操作,就如你说的,使用serialport类来实现。

SerialPort Port = new SerialPort();

Port.Open();

byte[] bufferRead = new byte[Port.BytesToRead];

Port.Read(bufferRead, 0, bufferRead.Length - 1);

Port.DataReceived += Port_DataReceived;//可以不用

Port.Close();
void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
   //当然,这事件也没什么意思,可以不写。
}

不要使用readline,readexisting

其实,你用comtools得到的也是byte缓冲区的字节呀。

追问
我希望能够实现这样的一个过程,就是一个button 点击 然后串口发过来的数据(希望的数据如我提问的那样是一连串十六进制数)就保存在一个text里,或者不保存也行,通过字符串能显示在textbox上也行,您给的那个read()函数最后读出来的就是十六进制吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迪凯特科技(北京)有限公司
2023-07-28 广告
要从电脑的一个串行口接收数据并将其从另一个串行口发送出去,你可以使用以下步骤:1. 确定你要使用的两个串行口。在大多数计算机上,串行口通常被称为COM1、COM2等。确保你了解每个串行口的名称或编号。2. 编写一个程序来读取来自一个串行口的... 点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
cjj796
2013-10-04 · TA获得超过8702个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3379万
展开全部
你好!!
你的这个程序,首先,要分析出cc2431串口发送的内容;
cc2431 发送的是16进制,单片机的程序是你自己写的吗
更多追问追答
追问
不是我写的,我是用comtools才知道cc2431发送过来的是什么数据,会不会comtools这个软件包含了对数据的解析?之前我接收04C0E0D8273B0323E4D8003B002004C00407FC04C32320042024FF这样的数据也是在那个软件上选了hex接收方式才得到的,所以我想如果我自己编程想得到这样的数据,应该还涉及什么编码啊,转换成十六进制的过程,您能帮我解答一下吗
追答
你收到的这一串数据,就是编码格式;
cc2431发送的时候,已经做了16进制的处理,所以你收到的就是16进制;

你想要解析收到的数据包,还是要很费周折的,要不你就去找你的cc2431的技术资料
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caroy2009
2013-10-04 · 超过21用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:55.8万
展开全部
用seriaport现实串口通讯互交最好的还是用提供的DataReceived事件,如果要自己控制接受数据的话用《FabKiller》说的可以实现,不过之间的接受时间需要注意一下,要最好保证下位机数据已经发完一次性读取,这个时间就要看下位机的发送间隔了
追问
cc2431是一个移动传感器,它不断更新自己的位置信息,也不断地往pc发送数据,程序要求实现的是来多少就接多少的功能,并能在实时显示出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式