找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 816|回复: 0
打印 上一主题 下一主题
收起左侧

关于51单片机串口通信的问题

[复制链接]
跳转到指定楼层
楼主
ID:689260 发表于 2020-2-21 10:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 164161297 于 2020-2-21 10:36 编辑

有一个任务要求用串口助手输入一个字符串,单片机接收到后执行相应动作。但是我不知道怎么接收字符串,我这个程序就是输入m1然后单片机一个LED灯亮,为什么我在串口助手要点四次发送数据才能让它亮?有什么办法点一次就可以吗?
#include <reg52.h>
#include <intrins.h>
#include <stdio.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
  
sbit key_s2 = P3^0;
void UARTInit();
void main()
{
UARTInit();
while(1);
}
void UARTInit()
{
EA = 1;
ES = 1;
REN = 1;
TMOD = 0x20;
TR1 = 1;
SM0 = 0; SM1 = 1;
TH1 = 0xfd;
TL1 = 0xfd;
}
void UART() interrupt 4
{
uchar sz[] = {"m1"};
uchar *a;
if(RI)
{
  RI = 0;
  *a = SBUF;
  while(!RI);
  a++;
  if(strcmp(sz,a)==0)
  {
   P1 = 0xfe;
  }
}
if(TI)
{
  TI = 0;
}
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表