标题:
STC8单片机串口接收发送字符串 求指点实现思路
[打印本页]
作者:
Ty78619120
时间:
2019-7-17 10:05
标题:
STC8单片机串口接收发送字符串 求指点实现思路
现在都是用的STC8单片机,我想要的目的是在串口调试助手里面发送一串字符指令,然后单片机返回一串字符,这个我现在不会弄,没什么头绪。
想让大家指点一下,谢谢了
作者:
xujing
时间:
2019-7-17 17:06
自学单片机还是买个板子然后找配套例程吧,跟着例程学两遍就会了。51的串口配置大概如下:配置串口通信的寄存器,设置好波特率,然后开中断,在中断处理函数里触发返回。
作者:
angmall
时间:
2019-7-17 18:18
我给你来个手册里的程序试试
#include "reg51.h"
#include "intrins.h"
#define FOSC 11059200UL
#define BRT (256 - FOSC / 115200 / 32)
sfr AUXR = 0x8e;
bit busy;
char wptr;
char rptr;
char buffer[16];
void UartIsr() interrupt 4
{
if (TI)
{
TI = 0;
busy = 0;
}
if (RI)
{
RI = 0;
buffer[wptr++] = SBUF;
wptr &= 0x0f;
}
}
void UartInit()
{
SCON = 0x50;
TMOD = 0x20;
TL1 = BRT;
TH1 = BRT;
TR1 = 1;
AUXR = 0x40;
wptr = 0x00;
rptr = 0x00;
busy = 0;
}
void UartSend(char dat)
{
while (busy);
busy = 1;
SBUF = dat;
}
void UartSendStr(char *p)
{
while (*p)
{
UartSend(*p++);
}
}
void main()
{
UartInit();
ES = 1;
EA = 1;
UartSendStr("Uart Test !\r\n");
while (1)
{
if (rptr != wptr)
{
UartSend(buffer[rptr++]);
rptr &= 0x0f;
}
}
}
复制代码
作者:
ax6808
时间:
2021-12-10 12:07
angmall 发表于 2019-7-17 18:18
我给你来个手册里的程序试试
你这个只是标准串口只发送数据到上位机电脑代码吧,
他是想往串口调试助手里面发送一串字符指令到单片机,然后单片机返回一串字符显示到串口助手接收栏.
有不少参考程序(我暂时也只需要显示接收到的数据就好.,无需 双机通信.
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1