单片机里I2C温度传感器采集的温度如何传到上位机?上位机怎么处理数据?

2025-05-13 23:25:19
推荐回答(4个)
回答1:

1、利用串口通讯将单片机采集的温度数据传给上位机,譬如上位机可以用VC++开发
2、上位机在串口接收数据事件中,可参考如下代码:
void CSCommTestDlg::OnComm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{
variant_inp=m_ctrlComm.GetInput(); //读缓冲区
safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize(); //得到有效数据长度
for(k=0;k safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
for(k=0;k {
BYTE bt=*(char*)(rxdata+k); //字符型
strtemp.Format("%d",bt); //将字符送入临时变量strtemp存放
m_strRXData=strtemp; //加入接收编辑框对应字符串
}
}
UpdateData(FALSE); //更新编辑框内容
}

回答2:

单片机串口发送给上位机,主要是你上位机上要编写相应的软件,怎么处理就看你的需要,编写不同的软件功能了

回答3:

利用PC机和单片机的外部接口,比如串口,网口,数据传递的格式可以定义,比如添加帧头帧尾校验码等等。数据的处理根据应用流程而定。

回答4:

单片机收到后通过232串口发到上位机。