3211|5

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

菜鸟入门 求助 F149的串口和PC的串口助手通信 收到的字符不对啊 [复制链接]


#include  <msp430x14x.h>

#define DRE_out     P5DIR |= BIT3     //连接485芯片的DE,RE端口的IO设置为输出状态
#define DE          P5OUT |= BIT3     //设置485芯片处于发送状态
#define RE          P5OUT &= ~BIT3    //设置485芯片处于接收状态

void UART1(void);

/****************主函数****************/
void main(void)
{
   unsigned i;
    WDTCTL = WDTPW + WDTHOLD;                 //关闭看门狗
   
    DRE_out;
   
    UART1();
    P2DIR = 0X03;
    P2OUT = 0X00;
    while (1)
    {
      RE;
      _NOP();
    
   _BIS_SR(LPM3_bits + GIE);
  DE;
   _NOP();
     P2OUT = 0X02;
        TXBUF1 = 0xaa;
        while(!(IFG2 & UTXIFG1));               //等待发送结束
        IFG2 &= ~UTXIFG1;
       for(i=0;i<20000;i++);
      
    }
}




void UART1(void)
{
    P3SEL |= 0xC0;                            //将P3.6,P3.7选做UART1的通信端口
    ME2 |= UTXE1 + URXE1;                     //使能USART1的TXD和RXD
    UCTL1 |= CHAR;                            //选择8-bit字符
    UTCTL1 |= SSEL0;                          //驱动时钟选择ACLK
    UBR01 = 0x0D;                             //波特率2400
    UBR11 = 0x00;
    UMCTL1 = 0x6B;                            //调整
    UCTL1 &= ~SWRST;                          //初始化UART状态机
    IE2 |= URXIE1;                            //使能接受中断
}

#pragma vector = UART1RX_VECTOR
__interrupt void UART1_RX_ISR(void)
{
 
  P2OUT = 0X01;
_BIC_SR_IRQ(LPM3_bits);
}


我用串口助手收到的是 ff  可是我的TXBUF1 = 0xaa   我将 TXBUF1中的值换位其他数值也是一样
按道理说是应该收到aa   小弟刚入门请各位前辈指教一二 。

最新回复

把串口助手的波特率调整一下,看看收到的东西有什么变化。串口助手的显示使用HEX。 一般情况,波特率不一致的可能性最大。  详情 回复 发表于 2013-5-15 13:00
 
点赞 关注

回复
举报

424

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
建议:程序设计可以参考TI的例程,另外检查一下波特率,停止位,极性等等,430与PC的设置应当一致。
 
 

回复

5015

帖子

13

TA的资源

裸片初长成(初级)

板凳
 
如果能接收到一般是MSP430和PC的设置的串口参数不一致,多半是波特率和校验位的问题
 
 
 

回复

41

帖子

0

TA的资源

一粒金砂(中级)

4
 
对照TI的C例程    官方写的例程很简洁明了     我遇到问题一般首先想到的是对照官方例程    很有用的
接受不到字符有很多原因   有时候硬件也会发生很多问题     总之可以先在程序上面纠错     然后再检查硬件问题     祝你成功!!
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

5
 
跟踪是否进入中断??
 
 
 

回复

1万

帖子

25

TA的资源

裸片初长成(高级)

6
 
把串口助手的波特率调整一下,看看收到的东西有什么变化。串口助手的显示使用HEX。

一般情况,波特率不一致的可能性最大。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表