搜索
bottom↓
回复: 0

MSP430F44X串口问题,请积高手们指点指点

[复制链接]

出0入0汤圆

发表于 2010-6-26 15:34:38 | 显示全部楼层 |阅读模式
这是一个简单的串口发送程序,可是老是出问题,不能发送数据,或者发送错的数据,请各位高手们指点一下
#include <msp430x44x.h>
#include <sor/config.h>

void USART_Init(void);
void Send_String(unsigned char *ptr);

void main(void)
{
    unsigned char *str = "abcdef";
   
    WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗
    //Port_init();                    //IO口初始化
    P2SEL = 0xFF;       //设置为外围器件
    P2DIR = 0x10;         //P2.4作为UTXD0,P2.5作为URXT0
    P2OUT = 0x00;
    USART_Init();                   //串口初始化
    _EINT();                        //全局中断使能
        
    while(1)
    {
        Send_String(str);
        delay_ms(1);
    }
}

//发送中断服务子程序
#pragma vector = UART0TX_VECTOR
__interrupt void Uart_Transmit_isr(void)
{
    while ((IFG1 & UTXIFG0) != 0)
        ; // 当发送缓存为空时
    TXBUF0 = RXBUF0; //发送数据到串口
    P1OUT  = 0x0F;   //进入中断服务子程序标识

}

//*************************************************
//**函数(模块)名称:USART_Init
//**功          能:初始化UART
//**输入      参数:无                                      
//**输出      参数:无         
//**函数返回值说明:无                
//**使用的资源:                  
//**其它说明:
//*************************************************

void USART_Init(void)
{
    FLL_CTL0 |= XCAP14PF;
    UTCTL0   |= SSEL0;                           //UCLK = ACLK;
    UCTL0     = SWRST + CHAR;                     //8位数据传输
   
    UBR00     = 0x0D;                             //波特率为2400
    UBR10     = 0x00;
    UMCTL0    = 0x6B;                             //波特率调整器设置                       
   
    ME1      &= ~(URXE0+UTXE0);
    IE1      |= URXIE0;                           //使能USART0 RX中断;
}
/*******************************************
函数名称:Send_String
功    能:向PC机发送字符串
参    数:无
返回值  :无
********************************************/
void Send_String(unsigned char *ptr)
{
      while(*ptr != '\0')
      {
            while (!(IFG1 & UTXIFG0));             // TX缓存空闲?
            TXBUF0 = *ptr++;                       // 发送数据
      }
      while (!(IFG1 & UTXIFG0))
          ;
      TXBUF0 = '\n';
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-28 16:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表