msp430f149单片机串口C程序

)的混合信号处理器(Mixed Signal Processor)。

msp430f149是基于闪存或 ROM 的超低功耗 MCU,提供 8MIPS,工作电压为 1.8V – 3.6V,具有高达 60KB 的闪存和各种高性能模拟及智能数字外设。

超低功耗低至:

0.1μA RAM (保持模式) 0.7μA (实时时钟模式) 200μA/MIPS (工作模式) 在 6μs 之内快速从待机模式唤醒

器件参数:

闪存选项:1KB – 60KB ROM 选项:1KB – 16KB RAM 选项:512B – 10KB GPIO 选项:14、22、48 引脚 ADC 选项:10 和 12 位斜率 SAR 其它集成外设:模拟比较器、DMA、硬件乘法器、SVS、12 位 DAC

(以上资料摘自于百度百科)

C语言程序(采用IAR for 430):

#include <msp430x14x.h>typedef unsigned char uchar;typedef unsigned int uint;uchar RecBuf[256];uchar Windex;uchar Rindex; void Send1Char(uchar sendchar);void PutString(uchar *ptr);void com_init();//串口初始化void com_init(){unsigned int i;/*下面六行程序关闭所有的IO口*/P1DIR = 0XFF;P1OUT = 0XFF;P2DIR = 0XFF;P2OUT = 0XFF;P3DIR = 0XFF;P3OUT = 0XFF;P4DIR = 0XFF;P4OUT = 0XFF;P5DIR = 0XFF;P5OUT = 0XFF;P6DIR = 0XFF;P6OUT = 0XFF;WDTCTL = WDTPW + WDTHOLD;// 关闭看门狗P6DIR |= BIT2;P6OUT |= BIT2;//关闭电平转换P6DIR |= BIT7;P6OUT &=~ BIT7;//关闭电平转换P3SEL |= 0x30;// 选择P3.4和P3.5做UART通信端口BCSCTL1 &= ~XT2OFF;// XT2ondo{IFG1 &= ~OFIFG;// Clear OSCFault flagfor (i = 0xFF; i > 0; i–);// Time for flag to set}while ((IFG1 & OFIFG));// OSCFault flag still set?BCSCTL2 |= SELM_2 + SELS;// MCLK = SMCLK = XT2 (safe)ME1 |= UTXE0 + URXE0;// 使能USART0的发送和接受UCTL0 |= CHAR;// 选择8位字符UTCTL0 |= SSEL1;// UCLK = SMCLKUBR00 = 0x45;// 波特率115200UBR10 = 0x00;//UMCTL0 = 0x00;// ModulationUCTL0 &= ~SWRST;// 初始化UART状态机IE1 |= URXIE0;// 使能USART0的接收中断_EINT();//打开全局中断Windex = 0;Rindex = 0;}/*******************************************函数名称:UART0_RXISR功 能:UART0的接收中断服务函数,在这里唤醒CPU,使它退出低功耗模式参 数:无返回值 :无********************************************/#pragma vector = UART0RX_VECTOR__interrupt void UART0_RXISR(void){if(RXBUF0 == 0x0d) LPM1_EXIT;else{RecBuf[Windex++] = RXBUF0;Windex &= 0x7f;//when Windex=0x80,changed to 0x00;}}/*******************************************函数名称:Send1Char功 能:向PC机发送一个字符参 数:sendchar–要发送的字符返回值 :无********************************************/void Send1Char(uchar sendchar){while (!(IFG1 & UTXIFG0)); //等待发送寄存器为空TXBUF0 = sendchar; }/*******************************************函数名称:PutSting功 能:向PC机发送字符串参 数:ptr–指向发送字符串的指针返回值 :无********************************************/void PutString(uchar *ptr){while(*ptr != '\0'){Send1Char(*ptr++);// 发送数据}while (!(IFG1 & UTXIFG0));TXBUF0 = 0x0d;while (!(IFG1 & UTXIFG0));TXBUF0 = 0x0a;//发送换行指令}/********************主函数********************/void main(void){com_init();PutString("welcome to my blog");PutString("I am meizumx4!");while(1){LPM1;}}——————————————————-通信格式:N.8.1, 115200无校验,8个数据位,,1个停止位,波特率115200——————————————————

但我自信,我能点亮心烛,化解心灵的困惑。

msp430f149单片机串口C程序

相关文章:

你感兴趣的文章:

标签云: