4989|11

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

小白求教msp430的rs485串口通信问题 [复制链接]

#include


//                   系统时钟初始化,外部8M晶振
void Clock_Init()
{
  uchar i;
  BCSCTL1&=~XT2OFF;                 //打开XT2振荡器
  BCSCTL2|=SELM1+SELS;              //MCLK为8MHZ,SMCLK为8MHZ
  do{
    IFG1&=~OFIFG;                   //清楚振荡器错误标志
    for(i=0;i<100;i++)
       _NOP();
  }
  while((IFG1&OFIFG)!=0);           //如果标志位1,则继续循环等待
  IFG1&=~OFIFG;
}
//*************************************************************************
//               MSP430串口初始化
//*************************************************************************
void UART_Init()
{
  P5DIR |= BIT2;                        //P52口为RS485控制口,输出模式
  P5OUT &= ~BIT2   ;                  //置低P52  RS485接收状态

  P3SEL|= BIT6 + BIT7;                //设置IO口为第二功能模式,启用UART功能
  U1CTL|=SWRST + CHAR;                //复位SWRST,8位数据模式
  U1TCTL|=SSEL1;                      //SMCLK为串口时钟
  U1BR1=0x00;                       
  U1BR0=0x03;                       
  U1MCTL=0x4A;                        //波特率9600bps
  ME2|=UTXE1;                         //UART1发送使能
  ME2|=URXE1;                         //UART1接收使能
  U1CTL&=~SWRST;
  IE2|=URXIE1;                        //打开接收中断  
}
//*************************************************************************
//           主函数
//*************************************************************************
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗
  Clock_Init();                       //系统时钟设置
  UART_Init();                        //串口设置初始化
  for (;;)
  {
  _BIS_SR(LPM3_bits + GIE);       //  进入 LPM3 模式/允许总中断
  while (!(IFG2 & UTXIFG1));       // USART0 发送缓冲器是否准备?
    P5OUT |= BIT2 ;                //  使发送   
    U1TXBUF = U1RXBUF;            //  从接收缓冲器写入发送缓冲器
    delay_ms(5);
   P5OUT &= ~BIT2 ;              // 使接收
  }
}

// UART1 接收中断将从 LPM3 模式退出
#pragma vector=UART1RX_VECTOR
__interrupt void usart1_rx (void)
{
  _BIC_SR_IRQ(LPM3_bits);                                      //  退出 LPM3

}

串口调试助手始终收不到数据  求教!!!

最新回复

先分析你的UART运转正常不正常嘛,测试要一步步来不要以为一下子搞的定。Saleae Logic逻辑分析仪也有便宜够用的小玩意,买了不后悔!  详情 回复 发表于 2015-4-19 14:52
 
点赞 关注

回复
举报

1193

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
上逻辑分析仪,判断MAX485输入端的信号是否正确,再排查原因。
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
qiushenghua 发表于 2015-4-17 15:14
上逻辑分析仪,判断MAX485输入端的信号是否正确,再排查原因。

没有这个条件

点评

上TB买个吧,话说你得RS485的传输速率多大的??  详情 回复 发表于 2015-4-17 20:45
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

4
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

5
 

上TB买个吧,也有比较便宜的,话说你得RS485的传输速率多大的??
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

6
 
强仔00001 发表于 2015-4-17 20:45
上TB买个吧,也有比较便宜的,话说你得RS485的传输速率多大的??

跟这个还有关系吗

点评

太高了普通的30几块的逻辑仪会采集不出来,除非用很贵的逻辑仪  详情 回复 发表于 2015-4-18 14:36
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

7
 
moximei 发表于 2015-4-18 08:49
跟这个还有关系吗

太高了普通的30几块的逻辑仪会采集不出来,除非用很贵的逻辑仪

点评

30几块的逻辑分析仪带宽是24M的,串口通信的速率才多少呀?怎么会采不出来呢! 程序看上去没有什么问题,大概逻辑是430收到串口数据之后将其原封不动发回去。 现在需要确定是串口有没有收到数据,是没有数据传  详情 回复 发表于 2015-4-18 23:25
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

8
 
强仔00001 发表于 2015-4-18 14:36
太高了普通的30几块的逻辑仪会采集不出来,除非用很贵的逻辑仪

哦 领教了 谢谢啊  那你觉得程序有问题么

点评

现在看不出,好久没摸430了  详情 回复 发表于 2015-4-18 23:20
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

9
 
moximei 发表于 2015-4-18 15:37
哦 领教了 谢谢啊  那你觉得程序有问题么

现在看不出,好久没摸430了
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

10
 
强仔00001 发表于 2015-4-18 14:36
太高了普通的30几块的逻辑仪会采集不出来,除非用很贵的逻辑仪

30几块的逻辑分析仪带宽是24M的,串口通信的速率才多少呀?怎么会采不出来呢!

程序看上去没有什么问题,大概逻辑是430收到串口数据之后将其原封不动发回去。

现在需要确定是串口有没有收到数据,是没有数据传过来还是已经发回了,但是在485端没有收到。

点评

这也是,我有个100M的逻辑仪,用看和写时序方便多了  详情 回复 发表于 2015-4-18 23:28
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

11
 
qiushenghua 发表于 2015-4-18 23:25
30几块的逻辑分析仪带宽是24M的,串口通信的速率才多少呀?怎么会采不出来呢!

程序看上去没有什么问题,大概逻辑是430收到串口数据之后将其原封不动发回去。

现在需要确定是串口有没有收到数据,是没有数据传过来还是已经发回了,但是在485端没有收到。

这也是,我有个100M的逻辑仪,用看和写时序方便多了
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

12
 
先分析你的UART运转正常不正常嘛,测试要一步步来不要以为一下子搞的定。Saleae Logic逻辑分析仪也有便宜够用的小玩意,买了不后悔!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表