打印

AVR中断问题

[复制链接]
1424|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cainiao402|  楼主 | 2008-9-11 09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AVR, ce, AN, CSR, TE
各位大虾:我是刚学AVR单片机的。
现在用到AVR的串行中断问题。我的本意是想在电脑上通过COM软件向AVR单片机输入什么字节,然后单片机就反馈相同的字节回到电脑。
我现在碰到的问题是我在电脑上输入的是0x55但单片机却返回的是0xC0.我一直是以为波特率的问题。但我算了在算波特率还是这个。并根据资料上的说明也是这个波特率。我电脑上的软件的波特率设置是没问题的。我现在有点怀疑是不是我的学习板的硬件上有问题了。我的程序如下。请各位大虾们分析下。我的软件是否有问题。
#include<iom16v.h>
#include<macros.h>

#define uchar unsigned char 
#define uint unsigned int
#pragma interrupt_handler Receive_data:12
//#pragma interrupt_handler Tran_data:14
uchar tran_complete, received_complete,receive_data;
void Delayms(uint time)
{
 uint i;
 for(;time>0;time--)
   {for(i=0;i<124;i++);}
}
void Tran_data(uchar data1) 
{
 while(!(UCSRA&(1<<UDRE)));
  UDR=data1;  //发送完成标志
}
void Receive_data()
{
 receive_data=UDR;
 Tran_data(receive_data);
 PORTB=0x7f;
}

void Ini_sysm()
{
 
 DDRB=0xff;//B口全部用作输出控制LED
 PORTB=0xff;//全部灯灭


 /*************初始化串行口********/
 tran_complete=0x55;
 received_complete=0x55;
 receive_data=0x00;
 UCSRB=0x00;
 UCSRA=0x00;
 
 UCSRC=BIT(URSEL)|0x06;//(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);//选择异步通信模式、禁止奇偶校验、一个
                                        //停止位、8位数据位
 UBRRL=0x2f;
 UBRRH=0x00;//设置波特率为9600
 
 UCSRB=0x98;//(1<<RXEN)|(1<<TXEN);//允许接收、发送完成中断
 //UCSRA=0x00;                                                 //允许接收发送 
}                                       

void main()
{
 CLI();
 
 Ini_sysm();
 MCUCR=0x00;
 GICR=0x00;
 TIMSK=0x00;
 SEI();
 while(1)
   {
    PORTB=0xfe;
    Delayms(500);
    PORTB=0xff;
    Delayms(500);
    
   }
}

相关帖子

沙发
cainiao402|  楼主 | 2008-9-11 14:02 | 只看该作者

怎么没人回答啊

怎么没人回答啊?
程序太乱了吗?

使用特权

评论回复
板凳
cainiao402|  楼主 | 2008-9-14 02:25 | 只看该作者

在顶

在把贴顶下。
希望有人看到问题所在。

使用特权

评论回复
地板
benxiaoyu4| | 2008-9-14 15:36 | 只看该作者

楼主用的多大的晶振

使用特权

评论回复
5
NE5532| | 2008-9-14 15:42 | 只看该作者

你为什么不能先调发送呢?

固定发0x00-0xFF不行吗?

使用特权

评论回复
6
jeaper| | 2008-9-15 17:58 | 只看该作者

程序有点乱

楼主的程序是有点乱,建议你重新编排一下

使用特权

评论回复
7
dandywang| | 2008-9-17 14:24 | 只看该作者

首先看看熔丝位选择正确否?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

238

帖子

2

粉丝