| 请问:如何通过串口发送DS18B20数据至电脑?求助,上位机通过C#接收并且处理数据 我当前MCU的主要代码如下: 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数据至电脑?
关键词: DS18B20 串口 上位机
10楼
//此处代码怎么可以设置定时发送
SBUF=M;
while(TI==0);
TI=0;
SBUF=L;
while(TI==0);
TI=0;
1、如果能读到数据,那么需要另外一个串口上,先直接发送看看。
数据读取到一个数组里,然后循环发送下看看。
实际上,需要开一个中断, 然后监控上面数组是否有数据,有就发送。
回复
我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
| OK1126B-S开发板下多时段语音提示型电子时钟被打赏¥27元 | |
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |
我要赚赏金
