S485噪声模块驱动代码

首先要先通过数据发送口发送获取码:

u8 ask_buf[8]={0x01,0x03,0x00,0x00,0x00,0x01,0x84,0x0A};
            for(i=0;i<8;i++)
            {
                USART_SendData(USART3,ask_buf[i]);
                while( USART_GetFlagStatus(USART3,USART_FLAG_TC) != SET);
            }

由于是S485通信,半双工,且有限制该传感器需要100ms才能返回数据,所以激活后的100ms内不能再次发送查询码

delay_ms(100);

然后读取噪声数据:

u16 rdata;
 u8 i=0;
 u8 rbuf[7];

if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET) 
        {
        
        rbuf[i] =USART_ReceiveData(USART3);   
            
        if(i == 4)
        {
            rdata = rbuf[3]<<8|rbuf[4];
        }
            
        i++;
        if(i == 7)i = 0;
        
     } 

float noise_Data(void)
{    
    
            float clo = 0;
            clo = rdata/256*256;
            rdata = rdata%256;
            clo = clo+(rdata/16*16)+(rdata%16);
            clo = clo/10.0;
            return clo;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鸿蒙小开

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

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

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

打赏作者

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

抵扣说明:

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

余额充值