📄 urat1.c
字号:
#include "msp430x16x.h"
void Init_Clock() {
unsigned char i;
BCSCTL1=0x00;//XT2--ON
do {
IFG1&=~OFIFG;
for(i=0;i<20;i++);
}while((IFG1&OFIFG)==OFIFG);
BCSCTL2=SELM1+SELS;//XT2--SMCLK,XT2--MCLK
}
void Init_Port() {
P5DIR=BIT5; //配置LED
P5OUT=BIT5;
P1DIR=BIT0+BIT1;
P1OUT=BIT0;
P1OUT&=~BIT1;
}
void Init_Urat1() {
U1BR0=0x22;//4M--SMCLK 波特率115200
U1BR1=0x00;
U1MCTL=0xed;
U1CTL=CHAR;//数据宽度8bit
U1TCTL=SSEL1;
ME2=URXE1+UTXE1;//使能接收与发送
P3SEL=BIT6+BIT7;//使能TXD与RXD引脚
P3DIR=BIT6;//TXD输出
}
void Send(char val) {
U1TXBUF=val;//写数据
while(!(IFG2&UTXIFG1));//等待发送完毕
P1OUT^=0x03;
}
char Get_Char() {
while(!(IFG2&URXIFG1));//等待数据接收
return U1RXBUF;
}
void Init_System() {
WDTCTL=WDTPW+WDTHOLD;//关闭WDT
Init_Clock();//初始化系统时钟
Init_Port();//初始化端口
Init_Urat1();//初始化串口
}
void main()
{
Init_System();
while(1)Send(Get_Char());//将接收数据发送回去
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -