timer.c

来自「下位机程序」· C语言 代码 · 共 42 行

C
42
字号
#include "myapp.h"

//just for test
static unsigned char chen=0;

void __irq timer4_ISR(void);

void timer4_init(void)
{

  
  rTCFG0=rTCFG0&(~(0xff<<8));
  rTCNTB4=(temer4_f/sampal)&0xffff;
  rTCFG0=rTCFG0|((sys_pclk/2/temer4_f)<<8);
  rTCFG1=rTCFG1&(~(0xf<<16));
  rTCFG1=rTCFG1|(0<<16);    //div=2
  
  //init for intertupt
  pISR_TIMER4=(unsigned int)timer4_ISR;
  rSRCPND=rSRCPND|BIT_TIMER4;
  rINTPND=rINTPND|BIT_TIMER4;
  EnableIrq(BIT_TIMER4);//enable timer4 interupt
}

void timer4_start(void)
{
  rTCON=rTCON&(~(0x7<<20));
  rTCON=rTCON|(1<<20)|(1<<21)|(1<<22);
  rTCON=rTCON&(~(1<<21));
}

void __irq timer4_ISR(void)
{
  unsigned int temp;
  //chen++;
  //send_byte_uart0(chen);
  temp=read_AD();
  send_byte_uart0((unsigned char)(temp>>8)&0x00ff);
  send_byte_uart0((unsigned char)(temp&0x00ff));
  rSRCPND=rSRCPND|BIT_TIMER4;
  rINTPND=rINTPND|BIT_TIMER4;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?