完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 fourls 于 2017-3-15 15:31 编辑
小菜鸟的我最近在做一个传感器数据的无线传输,写了一个mpu6050的数据采集,然后用串口发回电脑,是没有问题的,但是把zigbee模块换上去之后,只要打开串口,不点开始就会自动发送一个错误的数据,检查程序之后发现是在发送函数执行之前的判断数据的代码没有得出我要的结果,但是串口发送的话是可以的,想请各位大神指教一下,感激不尽。代码如下 #include "public.h" #include "systick.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); } }
|
|
相关推荐
6个回答
|
|
你这是协议问题,你ZIGBEE程序怎么写的?
|
|
|
|
zigbee我是买的某宝走好的模块的,就是把地址和数据包格式烧进去,就可以通信了,而且另外一个程序,PC发送数据,单片机可以接受的,但是单片机使用zigbee发送就不行了。。 |
|
|
|
fourls 发表于 2017-3-15 21:09 那应该是你ZIGBEE模块问题 模块是不是可以配主模式 从模式 发送还是接受 |
|
|
|
是的,需要配置地址,还有数据格式 |
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32CUBEMX(13)--SPI,W25Q128外部Flash移植
1134 浏览 0 评论
OV7670摄像头使用串口发送数据到另一个板子上的lcd,出现花屏
1520 浏览 1 评论
849 浏览 0 评论
720 浏览 0 评论
STM32CUBEMX(12)--IIC,12864OLED(0.96寸)移植
866 浏览 0 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-5 17:05 , Processed in 0.732742 second(s), Total 87, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号