微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 时钟中断怎么也进不了,sect30.inc 已经设置了向量

时钟中断怎么也进不了,sect30.inc 已经设置了向量

时间:10-02 整理:3721RD 点击:
/*********************************************************************/
/*                                                                     */
/*  FILE        :testtime.c                                            */
/*  DATE        :Tue, Apr 06, 2010                                     */
/*  DESCRIPTION :main program file.                                    */
/*  CPU GROUP   :1B                                                    */
/*                                                                     */
/*  This file is generated by Renesas Project Generator (Ver.4.17).    */
/*                                                                     */
/*********************************************************************/
#define  __NOP           asm("NOP")
#define  __Wait4NOP  asm("NOP\nNOP\nNOP\nNOP")
#define        __DisableInt    asm("FCLR I")
#define        __EnableInt        asm("FSET I")
#include "sfr_r81B.h"
void InitClock();
void SoftWait(unsigned int WaitTime);
void InitTimerX();
/*********************************************************************
*函数原型: TimerXInt
*功能 : TIMER X 中断 中断向量22   
*********************************************************************/
#pragma INTERRUPT TimerXInt() vect=22;
void TimerXInt(void)   
{
ir_txic=0;
////*用户程序*/
}


void main(void)
{
    unsigned  char temp;
    __DisableInt;
//    InitClock();
    InitTimerX();
    __EnableInt;
    while(1)
    {
        temp++;
        }
}
/*********************************************************************
*函数原型: void InitClock(void)
*功能 : 时钟初始化处理程序
*********************************************************************/
void InitClock()
{
prcr = 0x01;           //关闭和时钟相关的保护寄存器,允许修改时钟
cm14 = 0;
//hra00 = 1;             //高速内部振荡器振荡
//hra2=0;              //标准8MHz,出厂参数
hra00 = 1;
hra2 = 0;
SoftWait(100);      //等待
hra01 = 1;             //使用内部高速振荡器时钟(FRING-Fast)作为内部时钟(FRING)
ocd2 = 1;              //使用内部时钟作为系统时钟
cm16 = 0;              //CPU时钟不分频
cm17 = 0;
cm06 = 0;              //CPU时钟的分频比使用CM16,CM17进行设定
cm05 = 1;
cm13 = 0;
cm10 = 0;
prcr = 0;                //打开保护寄存器
}
/*********************************************************************
*函数原型: void SoftWait (unsigned int WaitTime)
*功能 : 短延时程序,约6US  @8MHz
*********************************************************************/
void SoftWait(unsigned int WaitTime)
{
while(0 != WaitTime)
{
  __Wait4NOP;
  WaitTime --;
}
}
/*********************************************************************
*函数原型: InitTimerX()
*功能 : 短延时程序,约1mS  @8MHz
*********************************************************************/
void InitTimerX()               // 定时器X
{
   txck0 = 1;
    txck1 = 0;
    prex=125;
    tx=125;
    txmr = 0x00;
    txic = 1;        // Interrupt priority level = 1
    ir_txic = 0;     // Interrupt request flag clear
    txs = 1;        // Timer X count start flag = start
}

时钟中断怎么也进不了,不知道哪里出了问题,sect30.inc 已经设置了向量。        
.glb _TimerXInt
          .lword  _TimerXInt
请大吓帮帮忙,不知道遗漏了什么/

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top