wulin 发表于 2018-5-8 05:53 非常感谢 |
z173475779 发表于 2018-5-7 22:46 只发送一次 #include <reg51.h> #define uint unsigned int #define uchar unsigned char uchar table[]="0123456789ABCDEFGHIJKLMNOPQ\n"; void main() { uint j; TMOD=0x20;//定时器1方式2(8位重载) TH1=0xfd;//定时器1重载 TL1=0xfd;//定时器1重载 TR1=1; //开定时器1 // REN=1; //允许串行接收 SM0=0; //设置串口方式1(8位UART波特率可变) SM1=1; //设置串口方式1(8位UART波特率可变) for(j=0;j<28;j++) { SBUF=table[j]; //发送字符串 while(!TI); //等待发送中断请求标志位为1(已发送) TI=0; //发送中断请求标志位清0 } while(1); } |
小猫猫爱吃鱼 发表于 2018-5-7 10:31 谢谢 在串口助手接收缓冲区显示一个字符串。 |
690405473 发表于 2018-5-7 09:59 谢谢 就是在串口助手里边,打开串口后,不需要在发送缓冲区输入,接收缓冲区直接显示一个字符串 |
|
#include <reg51.h> #define uint unsigned int #define uchar unsigned char uchar table[]="0123456789ABCDEFGHIJKLMNOPQ\n"; void main() { uint i,j; TMOD=0x20;//定时器1方式2(8位重载) TH1=0xfd;//定时器1重载 TL1=0xfd;//定时器1重载 TR1=1; //开定时器1 // REN=1; //允许串行接收 SM0=0; //设置串口方式1(8位UART波特率可变) SM1=1; //设置串口方式1(8位UART波特率可变) while(1) { i++; if(i>=50000) //约1S间隔发送一次 { i=0; for(j=0;j<28;j++) { SBUF=table[j]; //发送字符串 while(!TI); //等待发送中断请求标志位为1(已发送) TI=0; //发送中断请求标志位清0 } } } } |
| 不是很明白问什么 |