msp430串口接收函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

msp430串口接收函数

篇一:基于msp430串口接收中断

#include

void main

{

WDTCTL = WDTPW + WDTHOLD;

BCSCTL1 = CALBC1_1MHZ;

DCOCTL = CALDCO_1MHZ;

P1SEL |= BIT1 + BIT2;

P1SEL2 |= BIT1 + BIT2;//需要对照着手册来看UCA0CTL1 |= UCSSEL_2;//选择串口的校验位 UCA0BR0 = 104;//9600 波特率的计算一般都存在误差 UCA0BR1 = 0;

UCA0MCTL = UCBRS0;//校准波特率用所以要使用校准UCA0CTL1 &= ~UCSWRST;//让串口进行复位

IE2 |= UCA0RXIE;//开启接收中断

__bis_SR_register;

}

#pragma vector = USCIAB0RX_VECTOR

__interrupt void USART_RECEIVE

{

UCA0TXBUF = UCA0RXBUF+1;

while);//等待发送完毕可加可不加 }

篇二:MSP430串口收发程序

MSP430 标准库printf函数实现

20XX-08-02 21:22

关键是增加一个putchar函数。

代码如下:

#include

#include

void NOP10

{

_NOP ;

_NOP ;

_NOP ;

_NOP ;

_NOP ;

_NOP ;

_NOP ;

_NOP ;

_NOP ;

_NOP ;

}

int putchar//注意不要改参数的类型和返回值的类型,否则printf调用是就有问题了。

{

if

{

TXBUF1 = '\r';

while==0);

}

TXBUF1 = c;

while==0);

return c;

}

void InitalUart1

{

P4SEL |= 0x03; // P4.0,1 = USART1 TXD/RXDME2 |= UTXE1 + URXE1;// Enable USART1 TXD/RXDUCTL1 |= CHAR; // 8-bit characterUTCTL1 |= SSEL1; // UCLK = SMCLK UBR01 = 0x36; // 1MHz 19200

UBR11 = 0x00; // 1MHz 19200

UMCTL1 = 0x6B; // Modulation

UCTL1 &= ~SWRST; // Initalize USART state machine IE2 |= URXIE1; // Enable USART1 RX interrupt

//IFG2 |= UTXIFG1;

}

void main

{

unsigned char i;

i=0x10;

WDTCTL = WDTPW + WDTHOLD; // Stop WDT

FLL_CTL0 |= XCAP18PF;// Configure load capsInitalUart1 ;

_EINT ;

// LPM0;

while

{

// while ); // USART1 TX buffer ready?

// TXBUF1 = 'H';

//putchar;

//putchar;

printf;

NOP10 ;

}

}

#pragma vector=USART1RX_VECTOR

__interrupt void usart1_rx

{

while ); // USART1 TX buffer ready?TXBUF1 = RXBUF1; // RXBUF1 to TXBUF0//LPM0_EXIT;

msp430各模块函数整合

20XX-08-13 14:27

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

*

程序功能:控制8个LED闪烁,用于测试下载功能是否正常

测试说明:观察LED闪烁

***************************************************

/

#include

#include "EEPROM.c"

#include "LCD1602.c"

#include "DS18B20.c"

void LED_delay;

void KEY_delay;

void EEPROM_delay;

void sys_init;

void LED_Init;

void LED_Set;

unsigned char LED_Read_Status;

void LED_Test;

void KEY_Init;

unsigned char key;

void KEY_Test;

void SEG_Init;

void SEG_Show;

void EEPROM_Init;

void Write_EEPROM;

void Read_EEPROM;

void LCD1602_Init;

void LCD1602_Show;

void DS18B20_Init;

void TimerA_Delay_CFG;

float get_DS18B20_temperature;

unsigned char SEG_Table[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0 xf8,

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//0-f 段选信号,共阳 uchar UART_Rev_String[20]="\0";

uchar rev_string_count=0;

相关文档
最新文档