📄 sci.c
字号:
#include "REGISTER.H"
int x,y,k=0,key;
void inline disable()
{
asm(" setc INTM");
asm(" setc SXM");
}
//
void inline enable()
{
asm(" clrc INTM");
}
//
void initial()
{
PBDATDIR=PBDATDIR|0x0FF00; // IOPB端口设置为输出方式
PBDATDIR=(PBDATDIR&0XFF00)|0x0055; //LED的值
PADATDIR=PADATDIR&0x0FFEF; // IOPA4=0
PADATDIR=PADATDIR|0x1010; // IOPA4 设置为输出方式,且IOPA4=1
PADATDIR=PADATDIR&0x0FFEF; // IOPA4=0
IFR=0xFFFF;
SCSR1=0x81FE;//sysclk=40M
WDCR=0xE8;
SCICCR=0x7;
SCICTL1=0x13;
SCICTL2=0x3;
SCIHBAUD=0x02 ;
SCILBAUD=0x08; //波特率为9600
SCICTL1=0x33;
SCIPRI=0x64;
MCRA=0x3;
PADATDIR=0x100;
MCRB=MCRB&0X0FFFE;
PCDATDIR=PCDATDIR|0x0101;
IMR=0x10;
enable();
// SCITXBUF=0x55;
}
//
main()
{
disable();
initial();
while(1)
{
;
}
}
void UartSent()
{
SCITXBUF=0x0012;
IFR=0x0010;
enable();
return;
}
//
void UartRec()
{
PBDATDIR=PBDATDIR|0x0FF00; // IOPB端口设置为输出方式
PBDATDIR=(PBDATDIR&0XFF00)|SCIRXBUF; //LED的值
PADATDIR=PADATDIR&0x0FFEF; // IOPA4=0
PADATDIR=PADATDIR|0x1010; // IOPA4 设置为输出方式,且IOPA4=1
PADATDIR=PADATDIR&0x0FFEF; // IOPA4=0
IFR=0x0010;
enable();
}
void interrupt uarttr()
{
switch(PIVR)
{
case 6:UartRec();break;
// case 7:UartSent();break;
default:break;
}
return;
}
void interrupt nothing()
{
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -