这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» 如何通过串口发送DS18B20数据至电脑?

共14条 1/2 1 2 跳转至

如何通过串口发送DS18B20数据至电脑?

工程师
2021-09-09 22:15:52 打赏
请问:如何通过串口发送DS18B20数据至电脑?求助,上位机通过C#接收并且处理数据


我当前MCU的主要代码如下:


/*串口初始化,比特率9600*/
void UART_Init()
{
SM0 = 0; SM1 = 1;//串口工作方式1,8位UART波特率可变
TR1 = 1;//启动定时器1
TMOD |= 0x20;//定时器1,工作模式2 8位自动重装
TH1 = 0xfd;
TL1 = 0xfd;//设置比特率9600
}

void main()
{

uint i;
uchar L, M;
UART_Init(); //串口初始化
TI = 1;//使用printf()puts()前都应软件置位TI = 1;

ds_init();//初始化DS18B20
write_byte(0xcc);//发送跳跃ROM指令
write_byte(0x44);//发送温度转换指令
Delay_Ms(1000);
while(1)
{
ds_init();//初始化DS18B20
write_byte(0xcc);//发送跳跃ROM指令
write_byte(0x44);//发送温度转换指令
ds_init();//初始化DS18B20
write_byte(0xcc);//发送跳跃ROM指令
write_byte(0xbe);//读取DS18B20暂存器值
L = read_byte();
M = read_byte();
i = M;
x[0]=M;
x[1]=L;
i <<= 8;
i |= L;
i = i * 0.625 + 0.5;

Display(i); //数码管显像


//此处代码怎么可以设置定时发送
SBUF=M;
while(TI==0);
TI=0;
SBUF=L;
while(TI==0);
TI=0;
}
}





关键词: DS18B20 串口 上位机

专家
2021-09-10 00:03:06 打赏
2楼

感谢楼主的分享,很实用了。


专家
2021-09-10 08:20:01 打赏
3楼

这个帖子不错


高工
2021-09-10 08:51:00 打赏
4楼

看看


专家
2021-09-10 08:51:42 打赏
5楼

学习


专家
2021-10-08 09:01:20 打赏
6楼

不错,值得学习,谢谢分享


高工
2021-10-08 09:06:00 打赏
7楼

不错,值得学习,谢谢分享


高工
2021-10-08 09:14:53 打赏
8楼

ok


院士
2021-10-08 09:22:06 打赏
9楼

谢谢分享


专家
2021-10-08 09:24:38 打赏
10楼

//此处代码怎么可以设置定时发送
SBUF=M;
while(TI==0);
TI=0;
SBUF=L;
while(TI==0);
TI=0;


1、如果能读到数据,那么需要另外一个串口上,先直接发送看看。

数据读取到一个数组里,然后循环发送下看看。


实际上,需要开一个中断, 然后监控上面数组是否有数据,有就发送。


共14条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]