amobbs.com 阿莫电子技术论坛

标题: NEC-V850/ES 外部中断 [打印本页]

作者: wanghengzhi    时间: 2012-2-23 09:23
标题: NEC-V850/ES 外部中断
编译环境 IAR for NEC 仿真器 MiniCube2 MCU:70f3630

先上代码:
=================================================
void main(void)
{
    // 这里是设置一个LED,初始化让其亮,进入中断让其灭
    PMC9L_bit.no4 = 0 ;  // 设置为端口模式
    PM9L_bit.no4  = 0 ;  // 设置端口方向为输出
    P9L_bit.no4   = 1 ;  // 设置端口电平为高
   
    //这里是设置外部中断的寄存器
    __DI();              // 关全局中断
    INTF0_bit.no4 = 1 ;  // 设置使能下降沿
    INTR0_bit.no4 = 0 ;  // 设置禁止上升沿
    PMC0_bit.no4  = 1 ;  // 设置端口为第二功能模式
    PFCE0_bit.no4 = 0 ;
    PFC0_bit.no4  = 0 ;
    PIC1  = 0x07 ;       // 设置清中断标置,开启外部中断,并且优先级设置为最低
    PMK1 = 0 ;           // 开外部中断1       
    __EI();              // 开全局中断
   
   while(1);
}

#pragma vector = INTP1_vector
__interrupt void MD_INTP1(void)
{
  P9L_bit.no4  = 0 ;
  PIF1 = 0;       
}
=================================================
用软件仿真调试的时候,可以进入中断,但是用硬件仿真就怎么也进不去了,
请大家一起看看,我看网上有关于设置MCU 的OptionBytes的文章。
我这里需要设置么?
用MiniCube2仿真普通IO口操作是可以的,到了中断这样的内容还需要进行什么具体的设置么?
作者: wanghengzhi    时间: 2012-2-25 21:13
放上去两天了,还没有回音连一个回复都没有,自己自问自答吧。
只要在工程里包含这么一个文件就可以了。
下面是文件的内容:

;/*
;*****************************************************************************
;*  Global define
;*****************************************************************************
;*/


#define        CG_OPTION7A                0x00
#define        CG_OPTION7B                0x80
#define        OPT7C                        0x00
#define        OPT7D                        0x00
#define        OPT7E                        0x00
#define        OPT7F                        0x00

;/*
;*****************************************************************************
;*  This is the default initialization string of the Option Byte(s).     
;*  For details about valid values and their meaning,                  
;*  please have a look into the device User's manual                    
;*****************************************************************************
;*/
      COMMON INTVEC:CODE:ROOT(2)
      ORG 7AH
`OPTBYTES`:
      DB CG_OPTION7A
      DB CG_OPTION7B
      DB OPT7C
      DB OPT7D
      DB OPT7E
      DB OPT7F
      END

//================================================================
然后要在main函数里开始加上关闭看门狗定时器的语句:  WDTM2 = 0x1F ;
剩下的事情就按照用户手册来操作寄存器就OK了。
作者: sinc_mark    时间: 2017-6-14 17:24
wanghengzhi 发表于 2012-2-25 21:13
放上去两天了,还没有回音连一个回复都没有,自己自问自答吧。
只要在工程里包含这么一个文件就可以了。
下 ...

楼主有没有用到V850 can总线的,能提供一个can例子来研究么?




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4