desk1983 发表于 2010-7-12 21:38:49

哪位大虾用过MSP430F135调通过串口程序,可以帮看一下下面的程序不??谢谢

/******************************************************
程序功能:发送给PC机 固定字符串
-------------------------------------------------------
通信格式:N.8.1,9600
         无校验,8个数据位,1个停止位,波特率9600
------------------------------------------------------

*******************************************************/
#include<msp430x13x.h>

char data={0x6a,0x02,0x03,0x04,0x05};//"xia lao shi ni hao!"
void delay(unsigned int i);
//系统初始化
void Sys_Init(void);
unsigned int x=0;

/********************主函数********************/
void main(void)
{
    WDTCTL = WDTPW + WDTHOLD;// 关闭看门狗   
    Sys_Init();
   
    while(1)
    {      
                while((U0TCTL&0x01)==0);
                TXBUF0 =0x03;
   }
}

//系统初始化
void Sys_Init(void)
{
   unsigned char i;
   
   // 先定义系统的各功能模块的时钟源
    BCSCTL1 &=~(XT2OFF+XTS);//基础时钟控制寄存器BCSCTL1的第7 位置0,使XT2启 动
    BCSCTL2 = SELS + DIVS1 + DIVS0; //基础时钟控制寄存器BCSCTL2 设置,
                                    //第3 位置1 ,选择 XT2CLK 作为SMCLK 时钟;
                                    //将第2 和第1位置1,使分频比为8
    BCSCTL2 &=~SELS;
       
    do
    {
      IFG1&=~OFIFG;
      for(i=0xff;i>0;i--);
    }
    while((IFG1&OFIFG)!=0);

        U0CTL|= SWRST;      // Set the reset bit to hold inactive

        U0BR0|= 0x60;
        U0BR1|= 0x00;
        U0MCTL |= 0x00;         // Modulation 00000000

        U0CTL|= CHAR;         // P=none, 8 bits, 1 stop
        U0TCTL |= SSEL1;      // SMCLK
        //U0RCTL = 0;            // wake on all correct rx
        ME1   |= URXE0 +UTXE0; // Enable the module
P3SEL |= 0x30;         // P3.4,5 special function
P3DIR |= 0x10;         // P3.4   TX output
//P3DIR &= ~0x20;      // P3.5   RX input
U0CTL &= ~SWRST;       // Release the UART to operation
       
       
        _DINT();
}


/**************************************************************
这个程序我下载了以后什么都不显示,用手一摸3232的芯片凡会显示乱码,请问是怎么回事呀??
页: [1]
查看完整版本: 哪位大虾用过MSP430F135调通过串口程序,可以帮看一下下面的程序不??谢谢