您的位置 首页 技术

MSP430G2553测验程序(串口程序,USCI形式)

//******************************************************************************//HWUART(J4)!!!!!!特别

//******************************************************************************

// HW UART(J4)!!!!!! 特别注意,板子上J4有2个跳线要竖放,设为HW UART形式
// MSP430G2xx3 Demo – USCI_A0, 9600 UART Echo ISR, DCO SMCLK
//
// Description: Echo a received character, RX ISR used. Normal mode is LPM0.
// USCI_A0 RX interrupt triggers TX Echo.
// Baud rate divider with 16MHz
// ACLK = n/a, MCLK = SMCLK = CALxxx_16MHZ = 16MHz
//
// MSP430G2xx3
// —————–
// /|\| XIN|-
// | | |
// –|RST XOUT|-
// | |
// | P1.2/UCA0TXD|————>
// | | 9600 – 8N1
// | P1.1/UCA0RXD|<------------
//
// 修正http://jiwm.blog.163.com

//串口调试帮手,下载地址:http://www.sudt.com/download/AccessPort137.zip
// Texas Instruments Inc.
// February 2011
// Built with IAR Embedded Workbench Version: 5.40
//******************************************************************************
#include “msp430g2553.h”

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BCSCTL1 = CALBC1_16MHZ; // Set DCO
DCOCTL = CALDCO_16MHZ;
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2 = BIT1 + BIT2;
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 0x82; // 16MHz 9600 UCA0BRX=1666=0x0682
UCA0BR1 = 0x06; // 16MHz 9600
UCA0MCTL = UCBRS2 + UCBRS1; // Modulation UCBRSx = 6
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt

__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
}

// Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/274313.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部