为什么我的串口助手不读取数据,显示没有数据

irfan13 2017-04-24 03:32:48
#include <Wire.h>
int YPR[3];
unsigned char Re_buf[8],counter=0;
unsigned char sign=0;
int led = 13;




//-----------------------------------------------------------
void setup()
{
Serial.begin(115200);
delay(2000);
Serial.write(0XA5);
Serial.write(0X52); //初始化GY25,连续输出模式
}
//-------------------------------------------------------------
void loop() {
if(sign)
{
sign=0;
if(Re_buf[0]==0xAA && Re_buf[7]==0x55) //检查帧头,帧尾
{
YPR[0]=(Re_buf[1]<<8|Re_buf[2])/100; //合成数据,去掉小数点后2位
YPR[1]=(Re_buf[3]<<8|Re_buf[4])/100;
YPR[2]=(Re_buf[5]<<8|Re_buf[6])/100;
Serial.print("YPR:\t");
Serial.print(YPR[0], DEC); Serial.print("\t"); //显示航向
Serial.print(YPR[1], DEC); Serial.print("\t"); //显示俯仰角
Serial.println(YPR[2], DEC); //显示横滚角
delay(10);
}
}
}
//---------------------------------------------------------------
void serialEvent() {
while (Serial.available()) {
Re_buf[counter]=(unsigned char)Serial.read();
if(counter==0&&Re_buf[0]!=0xAA) return; // 检查帧头
counter++;
if(counter==8) //接收到数据
{
counter=0; //重新赋值,准备下一帧数据的接收
sign=1;
}
}
}






...全文
1527 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyeluoqing 2017-07-15
  • 打赏
  • 举报
回复
没发现main函数呀。要不就发送单个数据看是不是接收正常,逐步排除问题。
eestfan 2017-07-15
  • 打赏
  • 举报
回复
一般是串口助手设置的波特率问题,再者是串口是否选择正确,若是自己搭建的电路,需要检查电路是否出问题。
of123 2017-06-14
  • 打赏
  • 举报
回复
用数字示波器抓一下,一目了然。
farmanlinuxer 2017-06-12
  • 打赏
  • 举报
回复
先查硬件连接,RX、TX线的连接是不是没有正确配对。
入门工作者 2017-05-06
  • 打赏
  • 举报
回复
一般波特率和COM口设置好肯定能接收数据
ckc 2017-04-26
  • 打赏
  • 举报
回复
是不是波特率什么的没设置好?

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧