导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→Interrupt Vector 格式错,应这样编写

* 33370: AVR单片机:[求助]IAR下编译出错问题

   guest 
guest发表的帖子 

 Interrupt Vector 格式错,应这样编写
/* Serial Port application for 8XC196KB 
$Revision: 1.1 $
Copyright 1995-1999 IAR Systems. All rights reserved. */

#include "stdio.h"
#include "intrins.h"
#include "io196_kb.h"
#pragma  language=extended

sfrb int_mask = 0x08;
sfrb int_mask1 = 0x13;
sfrb int_pend = 0x09;
sfrb int_pend1 = 0x12;
sfrb serial_port_status = 0x11;
sfrb wsr = 0x14;
sfrb receive_register = 0x7;
sfrb transmit_register = 0x7;

static char buff[20];
static char index;

/* Transmit interrupt routine: */  

void interrupt [0x30] TI_interrupt(void)
{
  if(index != 0)
  {
   wsr = 0; /* set wsr send byte */
   transmit_register  = buff[index]; /* send it out again */
   index--;
  }
}
  
/* Receive interrupt routine: */  

void interrupt [0x32] RI_interrupt(void)
{
  char shadow;

  wsr = 0; /* set wsr to read incoming byte and status register:*/
  shadow = serial_port_status;
  if(index >   19) /* if the buffer is full, start over. */
    index = 0;   
  buff[index] = receive_register;
  /* wsr is set to send byte */
  transmit_register  = buff[index]; /* send it out again */
  index++;
}

void main(void)
{
 /* Initially, our buffer is empty */
 index = 0;
 /* Allow receive and transmit interrupt: */
 int_mask1 = 0x03; 
 /* Enable interrupts:*/
 enable_interrupt();

 /* Wait for an incoming byte: */
 while(1);
}


发表时间:2003年6月5日10:06:30

  
回复该帖

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

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

  103374.[详细]我也遇到了Pe065的问题,哪位大虾可以给点建议吗
摘要:如题......(4字)
- [freeray][837次] 2007年3月14日

[上一篇帖子]:这样不行,一定按照模拟比较器的方式操做:P1.0 and P1.1 i
[下一篇帖子]:谢谢,硬件方案如下我的硬件设计采用的是LC震荡电路,他没有一个固定的频率点,震荡频率会根据线圈电感量