|
如果只有这12位可以不用Tab,直接发两个字节就好了。 |
ll66m 发表于 2020-7-11 11:16 会放了。 |
hsl32 发表于 2020-7-11 08:14 怎样把我测得的十二位数据放在Tab里啊 |
hsl32 发表于 2020-7-11 08:14 好的,我试试 |
ll66m 发表于 2020-7-10 17:57 你不是读了温度,在LCD1液晶上显示了嘛,把这个温度发出去就好了。MAX6675读出来的温度是12位的,一般占用2个字节,而串口一次只能发送一个字节,所以要发两次。先发高还是低字节自己定义。串口不是一直发数据,而是读出MAX6675的温度一次,就发一次数据,我要一个读好标志是因为读温度和串口发送是独立分开的,所以要一个标志告诉串口发送程序可以发送了(标志要清除,不然会一直发不停)。如果读温度和串口发送合在一起就不用标志了,也就是读温度程序和串口发送都放在while()里面(还有LCD显示),读温度然后接着串口发送,一直循环。 |
2个蛋骗鸡加载同一个程序,本程序甲乙蛋骗鸡互发数字在数码管中显示。
|
hsl32 发表于 2020-7-10 17:21 温度读好用代码怎么表示呀,还有温度低字节,高字节,清温度读好标志, |
|
如果不想保存在单片机内部的话可以直接将得到的数据直接通过串口发出去 void Send(unsigned char 采集到的数据) { SUBF=采集到的数据; while(TI==0); TI=0; } 将send函数放到你程序中的while(1)函数中不断轮询,串口初始化就不用再说了,在程序初始化时加上 |
| void Send(unsigned char dat) { SUBF=dat; while(TI==0); TI=0; } |
|
如果数据比较多,可以保留Tab[],数据放Tab[]里面 while(温度读好) { //清温度读好标志; for=(i=0;i<个数;i++) { Send(Tab[i]); // 你的文件少了 [i] dely(); } } |
| 这是发送程序,接收的? |
|
// 1.不要 Tab[] // 2 while(1) 改成: while(温度读好) { //清温度读好标志; P23 = 1; //置485发送模式 Send(温度低字节); dely(); Send(温度高字节); } // 接收那边 U3P20 = 0 ; 置485发送模式 // 串口接收数据,2个字节,判断一下高低字节。送显示。 // 这个只是简单的通讯测试。实际应用是要有通讯协议的,一般RS485用Modebus通讯协议。 |