JN5139挂载传感器 485调试

工作总结

(1)在原来基础上加了485芯片,DE和RE端接到了DIO8,其余接到5139的串口1,485通信是要控制好,DIO8高电平使能发送数据,DIO8低电平使能接收数据。

在调试485芯片时遇到麻烦,主要问题是DIO8接到了485的DE和RE,对于DIO8的控制没有做好,特别是要保证足够时间的延时。

最终调试成功:

           OUTINIT ;//DIO8设置为输出
            DELAY_TIME(5);//延时5ms
            IO8_OUTH ;//DIO8输出高电平
            DELAY_TIME(5);
            vPutC1(0x01);
            vPutC1(0x03);
            vPutC1(0x1b);
            vPutC1(0x58);
            vPutC1(0x00);
            vPutC1(0x10);
            vPutC1(0xc3);
            vPutC1(0x31);

            DELAY_TIME(5);//延时5S解决了最后发送的数据出错的问题
            IO8_OUTL;//DIO8设置低电平
            DELAY_TIME(50);
            vSendData(receive,0x01);

(2)对于串口中断接收数据的处理

由于返回数据量大,完全接收不现实,所以对数据进行判断很重要,既保证数据的正确又提取了有用的数据。

对于在串口中断中不要添加过多程序,以免造成数据堵塞。

解决数据堵塞问题可以加一个flag,在中断外部判断flag,再进行相应的数据处理。

例子:

   if(flag==1)//在中断里flag置位
      {
            flag=0;//清零
            OUTINIT ;//DIO8设置为输出
            DELAY_TIME(5);//延时5ms
            IO8_OUTH ;//DIO8输出高电平
            DELAY_TIME(5);
            vPutC1(data);
            vPutC1(0x01);
            DELAY_TIME(5);
           IO8_OUTL;//DIO8设置低电平
           DELAY_TIME(5);
      }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ANTRK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值