导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→程序在这,请指教[原创]

* 62744: 关于ATMEGA162的双串口

   guest 
guest发表的帖子 

 程序在这,请指教[原创]
//串口初始化程序 中断方式 ICC AVR 编译通过 

#pragma interrupt_handler USART0_Interrupt_R:20 
#pragma interrupt_handler USART0_Interrupt_T:24 
#pragma interrupt_handler USART1_Interrupt_R:21 
#pragma interrupt_handler USART1_Interrupt_T:25 

//串口0 
void USART0_Init(void) 

 UBRR0H = 0x00; 
 UBRR0L = 0x2f; //set baud rate =9600KBPS 
 UCSR0C|= 0x8e; // 1 stop bits,8 bits data 
 UCSR0A = 0x00; // 
 UCSR0B = 0xF8;//MY_UCSR0B; // 
  

//串口1 
void USART1_Init(void) 

 ACSR |= ( 1   <  < ACD );//这一行是想关闭模拟比较器,不知道有没有这个必要 
 UBRR1H = 0x00; 
 UBRR1L = 0x2f; //set baud rate =9600KBPS 
 UCSR1C|= 0x8e; //1 stop bits,8 bits data 
 UCSR1A = 0x00; //disable 
 UCSR1B = 0xF8;//MY_UCSR1B; //disable 
  

void USART0_Interrupt_T( void )//Usart0发送 

//略 

void USART0_Interrupt_R( void )//Usart0接收 

//略 

void USART1_Interrupt_T( void )//Usart1发送 

//略 

void USART1_Interrupt_R( void )//Usart1接收 

//略 

本来usart0和usart1的初始化和中断函数都是放在两个头文件里的,单独使用其中的一个是没有问题的,但是将两个头文件全部加近来,编译通过,但是在单片机运行是,收发都没有反映,好像根本没有引起中断。我也是过将两个头文件合并成一个头文件,两个串口一起初始化(我想其实是一样的)结果一样,还是不行。 


发表时间:2004年9月18日15:02:01

  
回复该帖

本主题共有 5 帖,分页:>>>>>该主题的所有内容[5]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  62747.[详细]老大看了没有啊,我在等着呢
摘要:老大看了没有啊,我在等着呢......(25字)
- [乱码][827次] 2004年9月18日

  62849.[详细]分析一下
摘要:UCSR1B = 0xF8; 那么UDRIE在一开始就被置高,程序不是会马上就进入中断了吗?......(72字)
- [Love单片机][910次] 2004年9月20日

[上一篇帖子]:诚聘英才,能力=收获,厦门西特吉渴望你与我们共同来完成西特吉的明天! 地处美丽的海岛城市,厦
[下一篇帖子]:AVR!如果你想用单片机来做的话,建议你还是用AVR吧,8M的AVR相当于224M的80C51(用C