本帖最后由 fourls 于 2017-3-15 15:31 编辑
小菜鸟的我最近在做一个传感器数据的无线传输,写了一个mpu6050的数据采集,然后用串口发回电脑,是没有问题的,但是把zigbee模块换上去之后,只要打开串口,不点开始就会自动发送一个错误的数据,检查程序之后发现是在发送函数执行之前的判断数据的代码没有得出我要的结果,但是串口发送的话是可以的,想请各位大神指教一下,感激不尽。代码如下
#include "public.h"
#include "sys
tick.h"
#include "
STM32f10x.h"
#include "mpu6050.h"
#include "myiic.h"
#include "usart.h"
s16 ave(unsigned char REG_Address);
int main()
{
char send_buf[8]={0xFE,0x05,0x91,0x90,0x01,0x00,0x00,0xFF};
char i;
s16 Ax,Ay;
usart_init();
IIC_Init();
SystemInit();
InitMPU6050();
while(1)
{
Ax=ave(ACCEL_XOUT_H);
Ay=ave(ACCEL_YOUT_H);
if((Ax<-6500)&&(Ay>-3500)&&(Ay<3500))
{
send_buf[6]=0x01;
}
else if ((Ax>6500)&&(Ay>-3500)&&(Ay<3500))
{
send_buf[6]=0x02;
}
if((Ay<-6500)&&(Ax>-3500)&&(Ax<3500))
{
send_buf[6]=0x03;
}
else if ((Ay>6500)&&(Ax>-3500)&&(Ax<3500))
{
send_buf[6]=0x04;
}
if((Ax>-3500)&&(Ax<3500)&&(Ay>-3500)&&(Ay<3500))
{
send_buf[6]=0x05;
}
delay_ms(100);
for(i=0;i<8;i++)
{
USART_SendData(USART1,send_buf
);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET);
}
i=0;
delay_ms(400);
}
}
-
-
STM32_MPU6050控制.rar
下载积分: 积分 -1 分
6.63 MB, 下载次数: 3, 下载积分: 积分 -1 分
那应该是你ZIGBEE模块问题 模块是不是可以配主模式 从模式 发送还是接受
是的,需要配置地址,还有数据格式
恩 那配置的地址 信道 频率 都要一样才能通讯哦
这个我都设置好的,后来我排查了一下,感觉可能是供电不足了
一周热门 更多>