📄 sys_init.c
字号:
/**************************************
* *
* *
* inital system *
* auther: chen kaihua Sine Inc *
**************************************/
#include "..\uc_os_II\includes.h"
/*****************************
* inital uart0 for printf and puts
******************************/
void SerialInitial()
{
/* set TI to 1, set TR1 to 1 */
SCON0 = 0x52;/* SM0 SM1 =1 SM2 REN TB8 RB8 TI RI */
TMOD = 0x20;/* GATE=0 C/T-=0 M1 M0=2 GATE C/T- M1 M0 */
TH1 = 0xE6; /* TH1=E6 4800bit/s when at 24MHz, TH1=F3,9600bit/s,24MHz */
PCON = 0x80; /* UART0 bode rate double(function 1--3) */
TCON = 0x40; /* 0100 0000 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT */
}
void InterruptInitial()
{
/* set timer. 50ms, THTL = 3caf when cpu at 12MHz */
TMOD |= 0x01; /* T0 is 16conter */
TH0 = 0x70; /* tick = 50Hz T = 0.02s */
TL0 = 0x00;
/* TR0 is set in OSStart() Switch of T0 */
ET0 = 1;
}
void F020Config(void)
{
int i;
WDTCN = 0x07; // Watchdog Timer Control Register
WDTCN = 0xDE; // Disable WDT
WDTCN = 0xAD;
OSCICN = 0x05; /* internal oscillator 2MHz */
for (i=0; i < 256; i++) ; // XTLVLD blanking interval (>1ms)
CKCON = 0xF8; /* All timer use system clock= crystal */
XBR0 = 0x04;
XBR2 = 0x44;
P0MDOUT = 0x05; // Output configuration for P0
P1MDOUT = 0x00; // Output configuration for P1
P2MDOUT = 0x00; // Output configuration for P2
P3MDOUT = 0x00; // Output configuration for P3
P74OUT = 0x00; // Output configuration for P4-7
P1MDIN = 0xFF; // Input configuration for P1
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -