找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STC8单片机串口接收发送字符串 求指点实现思路

[复制链接]
跳转到指定楼层
楼主
ID:475845 发表于 2019-7-17 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在都是用的STC8单片机,我想要的目的是在串口调试助手里面发送一串字符指令,然后单片机返回一串字符,这个我现在不会弄,没什么头绪。
想让大家指点一下,谢谢了

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

使用道具 举报

沙发
ID:183159 发表于 2019-7-17 17:06 | 只看该作者
自学单片机还是买个板子然后找配套例程吧,跟着例程学两遍就会了。51的串口配置大概如下:配置串口通信的寄存器,设置好波特率,然后开中断,在中断处理函数里触发返回。
回复

使用道具 举报

板凳
ID:155507 发表于 2019-7-17 18:18 | 只看该作者
我给你来个手册里的程序试试

  1. #include "reg51.h"
  2. #include "intrins.h"

  3. #define FOSC            11059200UL
  4. #define BRT             (256 - FOSC / 115200 / 32)

  5. sfr     AUXR        =   0x8e;

  6. bit busy;
  7. char wptr;
  8. char rptr;
  9. char buffer[16];

  10. void UartIsr() interrupt 4
  11. {
  12.     if (TI)
  13.     {
  14.         TI = 0;
  15.         busy = 0;
  16.     }
  17.     if (RI)
  18.     {
  19.         RI = 0;
  20.         buffer[wptr++] = SBUF;
  21.         wptr &= 0x0f;
  22.     }
  23. }

  24. void UartInit()
  25. {
  26.     SCON = 0x50;
  27.     TMOD = 0x20;
  28.     TL1 = BRT;
  29.     TH1 = BRT;
  30.     TR1 = 1;
  31.     AUXR = 0x40;
  32.     wptr = 0x00;
  33.     rptr = 0x00;
  34.     busy = 0;
  35. }

  36. void UartSend(char dat)
  37. {
  38.     while (busy);
  39.     busy = 1;
  40.     SBUF = dat;
  41. }

  42. void UartSendStr(char *p)
  43. {
  44.     while (*p)
  45.     {
  46.         UartSend(*p++);
  47.     }
  48. }

  49. void main()
  50. {
  51.     UartInit();
  52.     ES = 1;
  53.     EA = 1;
  54.     UartSendStr("Uart Test !\r\n");

  55.     while (1)
  56.     {
  57.         if (rptr != wptr)
  58.         {
  59.             UartSend(buffer[rptr++]);
  60.             rptr &= 0x0f;
  61.         }
  62.     }
  63. }




复制代码
回复

使用道具 举报

地板
ID:975054 发表于 2021-12-10 12:07 | 只看该作者
angmall 发表于 2019-7-17 18:18
我给你来个手册里的程序试试

你这个只是标准串口只发送数据到上位机电脑代码吧,
他是想往串口调试助手里面发送一串字符指令到单片机,然后单片机返回一串字符显示到串口助手接收栏.
有不少参考程序(我暂时也只需要显示接收到的数据就好.,无需  双机通信.
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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