📄 main.c
字号:
#pragma sfr
#pragma ei
#pragma di
#pragma nop
#pragma interrupt INTSR6 uart6rec
void debugset(void);
void oscset(void);
void UART6_Init(void);
void uart6send(unsigned char *psend,unsigned char num);
void main(void);
volatile unsigned char RxTXbuf[10];
volatile unsigned char numr;
unsigned char FLAG_RD;
void main(void)
{
oscset();
WDTM = 0x7f;
EI();
debugset();
FLAG_RD = 0;
UART6_Init();
numr=0;
while(1)
{
NOP();
NOP();
if(0xaa == FLAG_RD)
{
//RXE6 = 0;
NOP();
NOP();
//TXE6 = 1;
NOP();
NOP();
FLAG_RD = 0;
uart6send(RxTXbuf,10);
//TXE6 = 0;
NOP();
NOP();
//RXE6 = 1;
NOP();
NOP();
}
NOP();
NOP();
}
}
void debugset(void)
{
PMK3 = 0;
PM4.1 = 1;
INTM1 = 1;
}
void oscset(void)
{
PCC = 0;
PPCC = 0;
OSTS = 0;
}
void UART6_Init(void)
{
P4.3 = 1;
P4.4 = 1;
PM4.3 = 0;
PM4.4 = 1;
ASIM6 = 1;
CKSR6 = 1;
BRGC6 = 208;
ASIM6.4 = 0;
ASIM6.3 = 0;
ASIM6.2 = 1;
ASIM6.1 = 0;
ASIM6.0 = 1;
ASICL6.1 = 1;
ASICL6.0 = 0;
SRIF6 = 0;
SRMK6 = 0;
STIF6 = 0;
STMK6 = 1;
POWER6 =1;
RXE6 = 1;
TXE6 = 1;
}
void uart6rec(void)
{
RxTXbuf[numr++] = RXB6;
if(numr>9)
{
numr=0;
FLAG_RD = 0xaa;
}
}
void uart6send(unsigned char *psend,unsigned char num)
{
unsigned char i;
STIF6 = 0;
for(i=0;i<num;i++)
{
TXB6 = *(psend+i);
while(STIF6==0);
STIF6 = 0;
NOP();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -