中级会员
 
- 积分
- 247
- 金钱
- 247
- 注册时间
- 2017-4-4
- 在线时间
- 17 小时
|

楼主 |
发表于 2017-4-9 21:14:53
|
显示全部楼层
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "mpu6050.h"
#include "usmart.h"
#include "inv_mpu.h"
#include "inv_mpu_dmp_motion_driver.h"
int main(void)
{
char unStepCount=0;
unsigned long unStepCountTmp=0;
int rt;
int juli=0;
short temp;
char bushu;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
LCD_Init(); //LCD初始化
MPU_Init(); //mpu6050初始化
KEY_Init(); //按键初始化
POINT_COLOR=RED; //设置字体为红色
LCD_ShowString(30,50,200,24,24,"Pedometer");
LCD_ShowString(50,90,200,24,24,"Powered by yang");
POINT_COLOR=BLUE; //设置字体为蓝色
LCD_ShowString(30,200,200,16,16," Temp: . C");
LCD_ShowString(30,220,200,16,16," bushu: ");
LCD_ShowString(30,240,200,16,16," juli: . m");
while(mpu_dmp_init())
{
LCD_ShowString(30,130,200,16,16,"mpu6050 error");
delay_ms(200);
LCD_Fill(30,130,239,130+16,WHITE); //剩余位置lcd颜色填充
delay_ms(200);
}
LCD_ShowString(30,130,200,16,16,"mpu6050 ok"); //dmp初始化
dmp_set_pedometer_step_count(unStepCount); //设置计步器步数初值
while(1)
{
temp=MPU_Get_Temperature(); //得到温度值
if(temp<0)
{
LCD_ShowChar(30+48,200,'-',16,0); //显示负号
temp=-temp; //转为正数
}else LCD_ShowChar(30+48,200,' ',16,0); //去掉负号
LCD_ShowNum(30+48+8,200,temp/100,3,16); //显示整数部分
LCD_ShowNum(30+48+40,200,temp%10,1,16); //显示小数部分
rt=dmp_get_pedometer_step_count(&unStepCountTmp);
if(rt == 0)
{
if(unStepCountTmp!=unStepCount)
{
bushu=unStepCountTmp;
//unStepCount = unStepCountTmp;
LCD_ShowNum(30+48+8,220,bushu,3,16); //显示整数部分
juli = 0.7 * bushu;
LCD_ShowNum(30+48+8,240,juli,3,16); //显示整数部分
}
}
}
}
|
|