找回密码
 立即注册

QQ登录

只需一步,快速开始

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

用串口调节助手发送字符串,代码如下,但是接收不到,这是为什么呢,波特率没错

[复制链接]
跳转到指定楼层
楼主
ID:501200 发表于 2019-4-5 09:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void InterruptUART() interrupt 4
{
static unsigned int *ptr;
static unsigned int tmr = 0;
static unsigned char i = 0;
static unsigned char cnt = 0;
unsigned char ptm = 20;
if(RI)
{
  while(ptm--)
  {
   RI = 0;
   RxdByte[i] = SBUF;
   i++;
   if(i > 6)
   {
    i = 0;
    break;
   }         
  }
  ptr = RxdByte;
  for(i = 0; i < 6; i++)
  {
   if(*ptr >= 'a' && *ptr <= 'z')
   {
    rest = *ptr;
    if(tmr >= 1000)
    {
    tmr = 0;
    ptr = ptr + 1;
    }
   }
   else
    continue;
  }
}
if(TI)
{
  if(cnt < 6)
  {
   SBUF = RxdByte[cnt];
   cnt++;   TI = 0;
  }
}
}


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

使用道具 举报

沙发
ID:501200 发表于 2019-4-5 12:01 | 只看该作者
各位大佬,帮帮忙
回复

使用道具 举报

板凳
ID:32490 发表于 2019-4-5 14:10 | 只看该作者
请不要在中断函数里面处理数据,谢谢!
回复

使用道具 举报

地板
ID:501200 发表于 2019-4-5 16:41 | 只看该作者
wtf3505 发表于 2019-4-5 14:10
请不要在中断函数里面处理数据,谢谢!

将处理数据的代码去掉之后,还是只能发送,接收不到数据
回复

使用道具 举报

5#
ID:32490 发表于 2019-4-6 06:43 | 只看该作者
yingzhen 发表于 2019-4-5 16:41
将处理数据的代码去掉之后,还是只能发送,接收不到数据

unsigned char cSbuf;
void usart(void) interrupt 4        
{        
   if(1==RI)  
   {
        RI = 0;
        cSbuf=SBUF;
   }
   else
   {
        TI = 0;     
   }                                                      
}  
先不搞那么复杂,这样能否收发?
回复

使用道具 举报

6#
ID:501200 发表于 2019-4-6 08:45 | 只看该作者
wtf3505 发表于 2019-4-6 06:43
unsigned char cSbuf;
void usart(void) interrupt 4        
{        

还是只能发送,不能接收
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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