yeastyanis 发表于 2016-12-28 01:17:39

跪求大神!!arduino串口接收传感器数据的问题

小弟新刚刚上手arduino没多久,现在打算用arduino UNO r3接收一个倾角传感器的数据,收到的数据很奇怪
下面是传感器的通信协议(应答命令里面数据域是3byte,图片上面标错了)
数据格式: 16进制
标示符:固定为77
数据长度:从数据长度到校验和(包括校验和)的长度
地址码:采集模块的地址,默认为00
数据域:根据命令字不同内容和长度相应变化。
校验和:数据长度、地址码、命令字和数据域的和不考虑进位
命令结束符:0D 0A


下面是代码,现在的情况是串口收到的数据完全是混乱的,连标示符都收不到,求大神帮忙
#include <SoftwareSerial.h>
SoftwareSerial Serial1(10,11);
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
Serial1.write(0x77);
Serial1.write(0x04);
Serial1.write((byte)0x00);
Serial1.write(0x01);
Serial1.write(0x05);
Serial1.write(0x0D);
Serial1.write(0x0A);//给传感器发送指令,让其工作,发送数据。
delay(1000);
}

byte jieshou;
byte flag=0;
byte inByte;

void loop() {
if (Serial1.available() > 0&&flag==0)
{
    delay(10);
    if(inByte==0x77)//检验标识符
    {
      for(int i=0;i<9;i++)
      {
      if(Serial1.available()>0) jieshou=Serial1.read();
      delay(10);
      }
      if(jieshou==0x0D&&jieshou==0x0A)flag=1;//检验命令结束符
   }            
}
if(flag==1)
{
    int a=jieshou;//符号部分,0为正,1为负
    int b=jieshou;//整数部分
    int c=jieshou;//小数部分
    float jiaodu=b+c/100;
    if(a==0){Serial.print(jaodu);}
    else{Serial.print(jaodu);}
    for(int i=0;i<9;i++)
    {
      jieshou=0x00;
    }
    flag=0;
   }
}

PINKWALKMAN 发表于 2016-12-28 08:22:01

巧了这个倾角传感器我用过。但是程序已经忘记怎么写了,需要找找原文件。
这个传感器好像是北微牌的,哈哈……看通讯协议很熟。

yeastyanis 发表于 2016-12-28 12:29:24

本帖最后由 yeastyanis 于 2016-12-28 12:31 编辑

PINKWALKMAN 发表于 2016-12-28 08:22
巧了这个倾角传感器我用过。但是程序已经忘记怎么写了,需要找找原文件。
这个传感器好像是北微牌的,哈哈 ...

对的,就是北微的倾角传感器:D,求大神帮忙看一下

PINKWALKMAN 发表于 2016-12-29 08:04:13

给我个邮箱找个时间把程序发给你。

yeastyanis 发表于 2016-12-29 17:08:50

PINKWALKMAN 发表于 2016-12-29 08:04
给我个邮箱找个时间把程序发给你。

没办法私信,直接在这里回复了
我的邮箱是[email protected]
非常感谢~:D

PINKWALKMAN 发表于 2016-12-30 08:08:40

已发送,由于传感器发送的数据字节是固定,我这采用的是循环位移接收的方式,你看看。

hhhwwwyyy 发表于 2017-3-21 11:03:17

PINKWALKMAN 发表于 2016-12-29 08:04
给我个邮箱找个时间把程序发给你。

大神!!也给我一份这个的代码吧![email protected]   感激不尽!!!

cyqq 发表于 2017-7-3 09:28:40

PINKWALKMAN 发表于 2016-12-29 08:04
给我个邮箱找个时间把程序发给你。

大神,跪求一份 [email protected]

PINKWALKMAN 发表于 2017-7-3 11:33:53

cyqq 发表于 2017-7-3 09:28
大神,跪求一份

已经发到你的QQ邮箱。

PINKWALKMAN 发表于 2017-7-3 11:34:14

hhhwwwyyy 发表于 2017-3-21 11:03
大神!!也给我一份这个的代码吧!   感激不尽!!!

已经发到你的QQ邮箱。

duanyz 发表于 2018-1-10 19:47:48

PINKWALKMAN 发表于 2017-7-3 11:34
已经发到你的QQ邮箱。

求兄弟发一份资料给我,万分感谢,邮箱:[email protected]

bigpandagd 发表于 2018-4-23 11:58:18

PINKWALKMAN 发表于 2016-12-29 08:04
给我个邮箱找个时间把程序发给你。

我也碰到问题了,请帮忙也发一份[email protected],谢谢!

w6629078 发表于 2019-7-22 14:08:54

PINKWALKMAN 发表于 2016-12-28 08:22
巧了这个倾角传感器我用过。但是程序已经忘记怎么写了,需要找找原文件。
这个传感器好像是北微牌的,哈哈 ...

大神!!能给我也发一份吗?[email protected]
页: [1]
查看完整版本: 跪求大神!!arduino串口接收传感器数据的问题