打印

真心求助MSP430的串口问题,调了一周没调通,快哭了。

[复制链接]
885|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangziqidai|  楼主 | 2015-4-10 12:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人小硕一枚,现在在做一个数据采集系统,用MSP430F247采集惯性敏感元件(MPU6050)的数据,采集到的数据通过串口发送出来。现在问题是采集到的数据存在数组里,通过串口发的时候发不出来,用示波器看UCA0TXD也没有信号。程序如下,请大家帮忙看看,谢谢。有做这块的也可以加Q交流一下,共同成长,进步。int main(void)
{      
    WDTCTL = WDTPW + WDTHOLD;  //关闭看门狗
    Init_CLK();     //初始化时钟
    Init_Port();
    Init_UART();
    Init_IIC();    //IIC初始化
    MPU9255_Init();    // //MPU9255初始化
    _EINT();  //打开全局中断控制  
    while(1)
        {
                MPU9255ReadAcc(Accel);
                Uart_Putchar(Accel[0]);
                Uart_Putchar(Accel[1]);
                Uart_Putchar(Accel[2]);
                MPU9255ReadGyro(Gyro);
                Uart_Putchar(Gyro[0]);
                Uart_Putchar(Gyro[1]);
                Uart_Putchar(Gyro[2]);
        }      
}
void Init_UART()
{
  UCA0CTL0 = 0;
  UCA0CTL1 |= UCSWRST;                      // Set SW Reset
  UCA0CTL1 |= UCSSEL_2;                         // Use SMCLK
  UCA0BR0 = 0xA0;                             // 4MHz/416=9600KHz
  UCA0BR1 = 0x01;                             //9600
  UCA0MCTL=0xC0;
  P3SEL |= 0x30;                      //P3.1 3.3作为IIC的SDA和SCL端口,P3.4 P3.5作为调试串口的TXD和RXD端口
  P3DIR |= BIT4;
  P3DIR &=~BIT5;                      //Setting P3.5 input
  UCA0CTL1 &= ~UCSWRST;                     // Resume operation
  IFG2 &=~UCA0TXIFG;        //因为UCA0TXIFG默认为1,如果不置0,下面的发送中断使能会直接进入中断函数
  __bis_SR_register(GIE);        
}
void Uart_Putchar(unsigned char c)
{

while((IFG2 & UCA0TXIFG));  //待发送为空
  UCA0TXBUF=c;
  IE2 |= UCA0TXIE;
}




#pragma vector = USCIAB0TX_VECTOR  
__interrupt void USCIAB0TX_ISR(void)
{
  IFG2 &=~UCA0TXIFG;
  IE2 &= ~UCA0TXIE;
}
目的很简单,就是把Accel,Gyro里面的数据通过串口发送到PC机显示出来,是不是我对430串口的理解不到位,欢迎各位批评指正。

相关帖子

沙发
zmszsh| | 2015-4-10 14:47 | 只看该作者
官网有例程啊, 照着来就行!

使用特权

评论回复
板凳
wangziqidai|  楼主 | 2015-4-10 15:00 | 只看该作者
zmszsh 发表于 2015-4-10 14:47
官网有例程啊, 照着来就行!

你看下我这程序到底哪里有问题啊,官网的例程好像没有发送的,我实在是没招了

使用特权

评论回复
地板
xyz549040622| | 2015-4-11 09:03 | 只看该作者
官网没串口的例程?不可能吧,网上那么多例程,最好找个例程烧进去看看
给你传两个例程
19504868c.rar (63.17 KB)
34391337uscia0_uart_9600.rar (1.27 KB)

使用特权

评论回复
5
comeon201208| | 2015-4-12 21:02 | 只看该作者
这个先注意两边的波特率的吧。

使用特权

评论回复
6
quray1985| | 2015-4-13 21:49 | 只看该作者
串口调试不通,楼主下载个例程看看吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝