OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5434|回复: 3

关于 avr单片机串口的问题。

[复制链接]

6

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2013-10-23
在线时间
3 小时
发表于 2014-7-9 21:56:31 | 显示全部楼层 |阅读模式
5金钱
先上程序段如下:
#include<iom88.h>
#include<intrinsics.h>
#include<comp_a90.h>
#include"main.h"

uchar RX_Buffer = 0;
void Delay(uint del)
{
  uint i=0,j=0;
  for(i=0;i<del;i++)
    for(j=0;j<1000;j++)
      ;
}

void USART0_Init(void)
{
   UCSR0B = 1<<7|1<<4|1<<3;//使能接收中断,接收,发送使能
   UCSR0C = 0X06;
   UBRR0H = 0;
   UBRR0L = 207;//2400 bps
   
}

void USART_Send_Data(uchar *Data)
{                                                         //发送数据  
  while(*Data)
  {
    UDR0 = *Data++;
    while(!(UCSR0A&0X40));
    UCSR0A |= 0X40;    
  }

}
void main(void)
{
  DDRD_Bit2 = 1;
  USART0_Init();
  _SEI();
  while(1)
  {
    USART_Send_Data("你好。\r\n"); 
    PORTD_Bit2 = ~PORTD_Bit2;
    Delay(1500);
  }
}

#pragma vector =USART_RX_vect
__interrupt void USART_RX(void)
{
 
  RX_Buffer = UDR0;
  if(RX_Buffer == 0x01)
  {
    USART_Send_Data("收到!");
  }
}
描述如下:准备做个串口实验,单片机上电后就不停的向串口输出 “你好”。 当上位机向单片机 发送“0x01” 单片机则
转入 串口接收中断, 在接收中断里 发送“收到”。发送完后,继续不停的发送”你好“。
问题:  当单片机正想上位机发送”你好“的时候,上位机向单片机发送0x01,单片机只能回复”收到“。不能继续发送”你好“,原本主循环中闪烁的灯也不
闪烁了。求解,这是怎么回事。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-9 23:28:25 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2014-7-10 10:28:48 | 显示全部楼层
应该卡死在了接收中断里,你接收中断是否将 标志位清零。还有最好不要在接收中断里面发送数据。这样会占用中断的时间。可以在主循环测试下看,
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复

使用道具 举报

4

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-11-1
在线时间
8 小时
发表于 2014-7-23 23:27:52 | 显示全部楼层
接收完后要清除接收中断标志位吧
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-5 04:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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