?? msp430dayii_dma_03.c
字號:
//******************************************************************************
// MSP-430-Day II Demo - DMA0 Repeated Block UART0 9600, TBCCR2, ACLK
//
// Description; DMA0 is used to transfer a string byte-by-byte as a repeating
// block to U0TXBUF. Timer_B operates in 12-bit mode at 32768Hz with TBCCR2IFG
// triggering DMA0. "Hello World" is TX'd via 9600 baud UART0.
// ACLK = TBCLK = 32768 = UCLK, MCLK = SMCLK = default DCO =1048576
// Baud rate divider with 32768hz XTAL @9600 = 32768Hz/9600 = 3.41 (000Dh 4Ah )
// //*An external watch crystal on XIN XOUT is required for ACLK*//
// //*MSP430FG439 Device Required*//
//
// MSP430FG439
// -----------------
// /|\| XIN|-
// | | | 32KHz
// --|RST XOUT|-
// | |
// | P2.4|------------> "Hello World"
// | | 9600 - 8N1
//
// M.Buccini
// Texas Instruments, Inc
// February 2004
// Built with IAR Embedded Workbench Version: 2.21B
//******************************************************************************
#include <msp430xG43x.h>
static char string1[] = { "Hello World\r\n" };
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog
FLL_CTL0 |= XCAP14PF; // Set load capacitance
P2SEL = 0x30; // P2.4,5 = USART0 TXD/RXD
ME1 |= UTXE0; // Enabled UART0 TXD
U0CTL |= CHAR; // 8-bit char, SWRST=1
U0TCTL |= SSEL0; // UCLK = ACLK
U0BR0 = 0x03; // 9600 from 32768Hz
U0BR1 = 0x00;
U0MCTL = 0x4A; // Modulation
U0CTL &= ~SWRST; // Enable USART
DMACTL0 = DMA0TSEL_2; // TBCCR2IFG
DMA0SA = (unsigned int)string1; // Source block address
DMA0DA = U0TXBUF_; // Dest single address
DMA0SZ = sizeof string1-1; // Block size
DMA0CTL = DMADT_4 + DMASRCINCR_3 + DMASBDB + DMAEN;// Rpt, inc src, enable
TBCTL = CNTL_1 + TBSSEL_1 + MC_2; // 12-bit, ACLK, cont-mode
_BIS_SR(LPM3_bits + GIE); // Enter LPM3 w/ interrupt
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -