⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usart0,4mhz,9600.c

📁 包含了msp430单片机上的ADC、定时器A、定时器B、基础时钟、看门狗的初始化及中断程序。基本示例程序
💻 C
字号:
/**********************************************************/
//MSP430 Advanced Developping Components - [BaseComponents_42.C]
////USART0, UART 9600 Echo ISR, HF XTAL SMCLK
////->>> http://www.dutzm.cn
////->>> tel :(0)13130044096
/**********************************************************/
//MSP430高级实验开发组件 - USART0,4MHz,9600
//时钟设置:
////SMCLK = MCLK = UCLK0 = LFXT1 = 4MHz
////@9600 = 4M/9600 = 416.66
//当前演示程序功能描述:
////模拟接收端,在RX中断程序中将接收到的数据发送回去
/*********************************************************/

#include <msp430x14x.h>

void main(void) {
	unsigned char i;
	WDTCTL = WDTPW + WDTHOLD;		//停止看门狗
	
	P3SEL |= (BIT4 + BIT5);			//P34,P35 USART0 TXD/RXD
	
    BCSCTL1 &= ~XT2OFF;    //XT2 = HF XTAL
    do
    {
        IFG1 &= ~OFIFG;
        for (i=0xFF;i>0;i--);
    } while((IFG1&OFIFG));
    BCSCTL2 |= (SELM1 + SELS);   //MCLK = XT2,SMCLK = XT2
	
	ME1 |= UTXE0 + URXE0;			//允许USART0 TXD/RXD
	UCTL0 |= CHAR;				//8-bit
	UTCTL0 |= SSEL0 + SSEL1;			//UCLK = MCLK
	UBR00 = 0x9F;
	UBR10 = 0x01;
	UMCTL0 = 0xB5;				//Modulation
	UCTL0 &= ~SWRST;			//初始化USART状态机
	IE1 |= URXIE0;				//允许USART0 RX中断
	
	_BIS_SR(GIE);
}

#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void) {
	while(!(IFG1&UTXIFG0));			//等待
	TXBUF0 = RXBUF0;			//将收到的数据发送出去
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -