求大神把avr单片机程序改成51单片机的,对串口不熟悉,研究好久,不会。。。 10

#include"stm32f10x.h"#include"delay.h"#include"sys.h"#include"usart.h"#include"MY_tim... #include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "MY_time_Conf.h"
#include "string.h"
#define led_PB12 PBout(12)
float a[3],w[3],angle[3],T;
extern unsigned char Re_buf[11],temp_buf[11],counter;
extern unsigned char sign;
int main(void)
{
unsigned char Temp[11];
RCC_Configuration(); //初始化时钟
GPIO_Configuration(); //初始化IO端口
delay_init(72); //初始化延时函数
NVIC_Configuration(); //中断优先级初始化

USART1_Config(); //初始化 配置USART1
USART2_Config(); //初始化 配置USART2 (用于接收MPU6050数据)

delay_ms(200);

while (1)
{
if(sign)
{
memcpy(Temp,Re_buf,11);
sign=0;
if(Re_buf[0]==0x55) //检查帧头
{
switch(Re_buf[1])
{
case 0x51: //标识这个包是加速度包
a[0] = ((short)(Temp[3]<<8 | Temp[2]))/32768.0*16; //X轴加速度
a[1] = ((short)(Temp[5]<<8 | Temp[4]))/32768.0*16; //Y轴加速度
a[2] = ((short)(Temp[7]<<8 | Temp[6]))/32768.0*16; //Z轴加速度
T = ((short)(Temp[9]<<8 | Temp[8]))/340.0+36.25; //温度
break;
case 0x52: //标识这个包是角速度包
w[0] = ((short)(Temp[3]<<8| Temp[2]))/32768.0*2000; //X轴角速度
w[1] = ((short)(Temp[5]<<8| Temp[4]))/32768.0*2000; //Y轴角速度
w[2] = ((short)(Temp[7]<<8| Temp[6]))/32768.0*2000; //Z轴角速度
T = ((short)(Temp[9]<<8| Temp[8]))/340.0+36.25; //温度
break;
case 0x53: //标识这个包是角度包
angle[0] = ((short)(Temp[3]<<8| Temp[2]))/32768.0*180; //X轴滚转角(x 轴)
angle[1] = ((short)(Temp[5]<<8| Temp[4]))/32768.0*180; //Y轴俯仰角(y 轴)
angle[2] = ((short)(Temp[7]<<8| Temp[6]))/32768.0*180; //Z轴偏航角(z 轴)
T = ((short)(Temp[9]<<8| Temp[8]))/340.0+36.25; //温度

//printf("X轴角度:%.2f Y轴角度:%.2f Z轴角度:%.2f\r\n",angle[0],angle[1],angle[2]);
break;
default: break;
}
printf("X角度:%.2f Y角度:%.2f Z角度:%.2f X速度:%.2f Y速度:%.2f Z速度:%.2f\r\n",angle[0],angle[1],angle[2],w[0],w[1],w[2]);
}

}
delay_ms(50);
}
波特率需要改成9600
展开
 我来答
Oan365
2016-07-30 · TA获得超过372个赞
知道小有建树答主
回答量:417
采纳率:100%
帮助的人:213万
展开全部
你应该就是修改下串口通信吧 , http://www.51hei.com/bbs/dpj-22298-1.html 你看下这个帖子 下面的串口实例,非常实用,串口通信就按照这种方式写,然后可以用CRC校验,通信波特率的话帖子里也有说明的, 接收到的数据处理你可以按照你发的这个程序里处理
cjj796
2016-07-30 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3467万
展开全部
你好!说一下你要实现的功能?直接可以写 51 的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式