CC2530 zigbee RS485通讯

原创 2016年08月29日 16:27:49

 通讯是RS485,之前代码在115200波特率下能正常工作,后来改成9600居然异常。实测数据,是发送不完整,甚至只发送了一个字节的错误数据。

分析原因,是RS485发送接收硬件切换脚的使能,没有等到发送完成就切换了。原来由于速度快等待时间短。

串口收发用的是中断,这里只描述发送。

    发送函数:  P0_1 = 1;
      HalUARTWrite(0,buf,len);

1、 _hal_uart_isr.c 中, 

  if (isrCfg.txHead == isrCfg.txTail)
  {
    IEN2 &= ~UTXxIE;
    isrCfg.txMT = 1;
  },保持不变,原来的115200时,在中断函数里加了延时和RS485脚的切换,但9600时间长了,不合适加在中断里。

2、MT_UART.C中,串口初始化的回调函数里,增加:

  if(event &HAL_UART_TX_EMPTY){
     event &=(~HAL_UART_TX_EMPTY);
  //    P0_1 = 0;
    osal_start_timerEx(SampleApp_TaskID,SEND_TIME_RS485_EVENT,SEND_TIME_RS485MAX); 
  },其实我想在这个函数中直接将RS485使能脚改为接收,但还是会出现最后一个字节发送不完整。因此,增加了延时使能的串口事件,不在此直接延时等待。

3、SanmpleApp.c中,uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events )函数里,增加:

  if ( events & SEND_TIME_RS485_EVENT )
  {
    P0_1 = 0;
    return (events ^ SEND_TIME_RS485_EVENT);
  } 

至此,整个发送完成。SEND_TIME_RS485MAX经调试,2毫秒即可,推算,发送完成标志置位,还有一个字节没有传输完,并且传输完后还需要稳定时间,9600发送完后1毫秒多点。

版权声明:本文为博主原创文章,未经博主允许不得转载。

CC2530 芯片的UART转485通信的实现

应用: UART控制485硬件 需求:该485设备是半双工的通信方式,因此需要使用另外的IO口来控制转换芯片MAX3485的收发工作。 实现原理: 代码贴了。基本方式就是在使用UART发送...
  • huangmeimao
  • huangmeimao
  • 2016年03月07日 16:50
  • 2120

关于RS485总线通信协议开发注意事项

关于RS485总线通信协议开发注意事项 1       前言 近段时间发现我们系统在进行设备组态时,采用的串口复用方式在同一个RS485串口上挂载多个智能设备进行通信、监控。而往往在系统组态的时候就会...
  • shjhuang
  • shjhuang
  • 2013年07月23日 18:41
  • 19872

CC2530 zigbee RS485通讯

通讯是RS485,之前代码在115200波特率下能正常工作,后来改成9600居然异常。实测数据,是发送不完整,甚至只发送了一个字节的错误数据。 分析原因,是RS485发送接收硬件切换脚的使能,没有等...
  • wlm802003
  • wlm802003
  • 2016年08月29日 16:27
  • 858

CC2530 zigbee RS485通讯

通讯是RS485,之前代码在115200波特率下能正常工作,后来改成9600居然异常。实测数据,是发送不完整,甚至只发送了一个字节的错误数据。 分析原因,是RS485发送接收硬件切换脚的使能,没有等...
  • wlm802003
  • wlm802003
  • 2016年08月29日 16:27
  • 858

ZigBee-CC2530学习心得(1) --------ZigBee开发工具

首先,我是只是一个大学应届毕业生,本人也是因为参加了挑战杯这个项目,所学也专业包涵单片机内容,所以才开始我的ZigBee之旅,写了2个月左右,项目的基本要求大致是达到了。写这篇博客主要是总结这2个月所...
  • qq811616536
  • qq811616536
  • 2014年10月15日 18:50
  • 7254

ZigBee TI ZStack CC2530 4.2 基本网络参数设置

(配套源码、软件、开发板等资源,可移步博客同名QQ群:拿破仑940911)一、基本的网络参数配置(参考《Z-Stack Sample Applications.pdf》)1、Device Types(...
  • m0_38064214
  • m0_38064214
  • 2017年08月21日 23:03
  • 810

ZigBee TI ZStack CC2530 4.18 绑定通信02-实验验证

(配套源码、软件、开发板等资源,可移步博客同名QQ群:拿破仑940911)上一节中,我们简要介绍了ZigBee的第四种无线通信方式——绑定的基本概念;本节中,我们将对ZigBee的绑定通信(握手绑定)...
  • m0_38064214
  • m0_38064214
  • 2017年09月22日 22:56
  • 416

CC2530中常用的控制寄存器

P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外设功能  D7 D6 D5 D4 D3 D2 D1 D0  P0_7功能  ...
  • internet_of_things
  • internet_of_things
  • 2013年02月20日 14:06
  • 1752

ZigBee组播通信原理

组播通信原理 组播通信:在Zigbee网络,模块可以分组来标记,发送的模块如果组号和网络里面标记模块的组号相对应,那么这些模块就可以 拿到这些无线数据包。 组播的特点: 1,分组中的编...
  • PZ0605
  • PZ0605
  • 2017年03月16日 17:39
  • 1097

CC2530模块/Zigbee模块

CC2530模块支持802.15.4、Zigbee2007、Zigbee Pro和Zigbee RF4CD等标准。模块采用CC2530F256芯片,配合5dbi天线,收发数据户外可视距离达200米。模...
  • zhaofaohua
  • zhaofaohua
  • 2011年03月16日 10:28
  • 2129
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CC2530 zigbee RS485通讯
举报原因:
原因补充:

(最多只允许输入30个字)