各位大神帮我看一下,我在读串口寄存器的时候好像把要发送的数据读出来了
本帖最后由 yywf2021544699 于 2024-6-16 18:16 编辑我在读串口寄存器的时候好像把要发送的数据读出来了,我的温度数据要通过串口发送给WiFi模块上传到物联网,然后读取网站下发的反馈,但是不知道为啥读取的老是发送的数据,我看数据手册
void Esp_Red(){sbuf是有两个寄存器,一个负责接收,一个负责发送的。第一张图片里面左上角是读取的接收的数据,第二章图片是温度数据。照理来说第一张图片显示的是物联网平台反馈的数据,而不是温度数据。我都是用库来操作的发送数据用的是PrintString2。接收的函数是下面这一段,
u8 i;
if(COM2.RX_TimeOut > 0) //��ʱ����
{
if(--COM2.RX_TimeOut == 0)
{
if(COM2.RX_Cnt > 0)
{
Dat1_red.cnt =COM2.RX_Cnt;
for(i=0; i<COM2.RX_Cnt; i++) Dat1_red.Dat_Red=RX2_Buffer;
redsign =1;
}
Esp_manage( &Dat1_red);
COM2.RX_Cnt = 0;
}
}
}
求解答
提供信息有限不好判断,几行代码里面发现一个问题:
for(i=0; i<COM2.RX_Cnt; i++) Dat1_red.Dat_Red=RX2_Buffer;
如果是多字节数据转移应该用指针或者数组吧,例如:
for(i=0; i<COM2.RX_Cnt; i++) Dat1_red.Dat_Red=RX2_Buffer; 本帖最后由 yywf2021544699 于 2024-6-17 16:18 编辑
乘风飞扬 发表于 2024-6-17 10:39
提供信息有限不好判断,几行代码里面发现一个问题:
for(i=0; i
我原来的代码是这样的,复制过来搞错了
/c yywf2021544699 发表于 2024-6-17 16:17
我原来的代码是这样的,复制过来搞错了
通过硬件仿真看看程序运行情况
https://www.stcaimcu.com/plugin.php?id=x7ree_v:x7ree_v&code_7ree=1&id_7ree=63 乘风飞扬 发表于 2024-6-17 17:26
通过硬件仿真看看程序运行情况
https://www.stcaimcu.com/plugin.php?id=x7ree_v:x7ree_v&code_7ree=1&id ...
谢谢,没有仿真器能用吗
yywf2021544699 发表于 2024-6-17 22:03
谢谢,没有仿真器能用吗
普通的USB转串口工具就可以仿真
页:
[1]