MC9S12G128 内部flash与eeprom的读写配置

来源:互联网 发布:监听rpc服务器端口 编辑:程序博客网 时间:2024/04/30 23:04

MC9S12G128  的IOC有两种模式,

第一种是使用定时器累加的方式对捕获输入(只有ioc7可以实现这个功能),

第二种是对应引脚一有捕获就立即产生中断手动记数(所有的ioc引脚都可以实现这个功能)


第一种 自动累加(只有ioc7可以实现这个功能)

static void IOC_Init(void)
{   
    PACTL=0X50;// 使能累加器让
    TCTL3=0x80;TCTL4=0x00;//设定引脚捕捉何种类型的情况,有上升沿下降沿,还有一起。
    TIE_C7I  =0;//禁止ioc7中断
    TIOS_IOS7 =0;//设定ioc7为输入捕获
    TSCR1_TEN=1;//打开定时器模块 

设定完毕后只要去读取PACNT寄存器就可以得到累加器里面的值。

第二种 中断手动记数(所有的ioc引脚都可以实现这个功能)

void IOC_Init(void)
{  
  TSCR1_TEN=0;//关闭定时器模块
  TIOS_IOS6 =0;//设置ioc6为输入
  TCTL3_EDG6A = 0;//设置ioc6为输入捕获
  TCTL3_EDG6B = 1;//设置ioc6为输入捕获  
  TIE_C6I=1;///使能中断
  TSCR1_TEN=1;//打开定时器模块  
}  


#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt VectorNumber_Vtimch6 OSC_ISR(void)
{
   DisableInterrupts; 
  
     TFLG1_C6F=1;//清除中断标志位。
    
    
    EnableInterrupts;
}
#pragma CODE_SEG DEFAULT

0 0