📄 main.c
字号:
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#inclede <sci1.c>
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void TransmitT(char *text)
{unsigned char a;
a=SCI0SR1;
while (*text != '\0')
{while (!(SCI0SR1 & 0x80)); /* wait for output buffer empty */
SCI0DRL = *text++;}
}
void IniCOM(void)
{SCI0BDL=163; //6M晶镇,25M总线
SCI0CR1=0; //无奇偶校验,1个起始位8个数据位1个停止位
SCI0CR2 = 0x2c; //允许接收中断
}
void InitialRegs(void)
{
/*---------串口初始化------*/
IniCOM();
/*--------锁相环初始化-------*/
CLKSEL=0x00; //disable pll;
CLKSEL=0;
CLKSEL_PLLSEL = 0;
PLLCTL_PLLON = 0;
SYNR = 24; //6M晶镇获得25M总线
REFDV = 5;
PLLCTL = 192;
PLLCTL_PLLON = 1;
while(!CRGFLG_LOCK);
CLKSEL_PLLSEL = 1;
/*-------------------定时中断初始化----*/
RTICTL=0x1f; //产生定时中断
CRGINT_RTIE=1; //允许RTI中断
asm CLI;
DDRT_DDRT4=1;
DDRB_BIT0=1;
DDRP_DDRP3=1;
}
void main(void) {
InitialRegs();
/* put your own code here */
EnableInterrupts;
for(;;) {
TransmitT("The DG128 is OK\n");
} /* wait forever */
}
#pragma CODE_SEG NON_BANKED
interrupt void RTI_ISR (void) {
static i=0;
//闪烁小灯
i++;
if(i>100)
{
PTT_PTT4=PTP_PTP3;
PORTB_BIT0=~PORTB_BIT0;
PTP_PTP3=~PTP_PTP3;i=0;
}
CRGFLG_RTIF=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -