求个单片机通过串口发送字符串数组的程序,上位机通过串口调试助手接受,谢谢,波特率9600

标题打错了,是浮点数组。谢谢。... 标题打错了,是浮点数组。谢谢。 展开
 我来答
休闲居大伟
2014-02-06 · TA获得超过5419个赞
知道大有可为答主
回答量:6865
采纳率:91%
帮助的人:1.1亿
展开全部
#include<stdio.h>
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char flag;
unsigned char s1[]="ABCDEFG HIJKLMN OPQRST UVWXYZ",i;
unsigned char slen=sizeof(s1);
void delay(uint x)
{
while(x--);
}
void main()
{
TMOD=0x20; //设置T1为工作方式2
TH1=0xfd; //装入初值,比特率为9600bps
TL1=0xfd;
TR1=1; //开启T1
REN=1; //接收允许
SM0=0; //方式1
SM1=1;
EA=1; //开全局中断
ES=1; //开串口中断
flag=0;
while(1)
{
if(flag==1)
{
ES=0;
flag=0;
for(i=0;i<slen;i++)//若接收到,则发送相关字符串
{
SBUF=s1[i];
while(!TI);
TI=0;
}
ES=1; //串口中断允许
}
}
}
void ser() interrupt 4
{
RI=0; //清除标志
P2=~P2; //LED闪烁
//P0=SBUF;
flag=1; //发送标志
}
这只是一个简单的串口发送字符串程序,通过串口助手发送任意数据,单片机接收到数据后即返回事先定义的字符串内容
百度网友cc21aee
2014-02-06 · TA获得超过2044个赞
知道小有建树答主
回答量:1273
采纳率:100%
帮助的人:1221万
展开全部
你好,可以使用printf和gets,重定义下
char putchar (char ch)
{
while(!TI);
TI = 0;
SBUF = ch;
return ch;
}
使用printf时注意要禁用串口中断,详细的可以百度51使用printf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式