在这里粘贴main.c的程序,想发完整的文件 但是目前不太会 等我摸索好后 继续上传
#include "stm32f10x.h" //STM32头文件
#include "sys.h"
#include "delay.h"
#include "relay.h"
#include "oled0561.h"
#include "MPU6050.h"
#include "usart.h"
int main (void){//主程序
u8 a;
//初始化程序
u16 t[6]={0};
delay_ms(500); //上电时等待其他器件就绪
RCC_Configuration(); //系统时钟初始化
RELAY_Init();//继电器初始化
USART1_Init(115200); //串口初始化(参数是波特率)
I2C_Configuration();//I2C初始化
OLED0561_Init(); //OLED初始化
OLED_DISPLAY_8x16_BUFFER(0,(u8 *)" MPU6050 TEST "); //显示字符串
OLED_DISPLAY_8x16_BUFFER(2,(u8 *)"X: X: "); //显示字符串
OLED_DISPLAY_8x16_BUFFER(4,(u8 *)"Y: Y: "); //显示字符串
OLED_DISPLAY_8x16_BUFFER(6,(u8 *)"Z: Z: "); //显示字符串
MPU6050_Init(); //MPU6050初始化
while(1){
MPU6050_READ(t); //加速度
//其中t[0~2]是加速度ACCEL,t[3~5]是陀螺仪GYRO
OLED_DISPLAY_8x16(2,2*8,t[0]/10000 +0x30);//显示
OLED_DISPLAY_8x16(2,3*8,t[0]%10000/1000 +0x30);//显示
OLED_DISPLAY_8x16(2,4*8,t[0]%1000/100 +0x30);//
OLED_DISPLAY_8x16(2,5*8,t[0]%100/10 +0x30);//
OLED_DISPLAY_8x16(2,6*8,t[0]%10 +0x30);//
OLED_DISPLAY_8x16(2,11*8,t[3]/10000 +0x30);//显示
OLED_DISPLAY_8x16(2,12*8,t[3]%10000/1000 +0x30);//显示
OLED_DISPLAY_8x16(2,13*8,t[3]%1000/100 +0x30);//
OLED_DISPLAY_8x16(2,14*8,t[3]%100/10 +0x30);//
OLED_DISPLAY_8x16(2,15*8,t[3]%10 +0x30);//
OLED_DISPLAY_8x16(4,2*8,t[1]/10000 +0x30);//显示
OLED_DISPLAY_8x16(4,3*8,t[1]%10000/1000 +0x30);//显示
OLED_DISPLAY_8x16(4,4*8,t[1]%1000/100 +0x30);//
OLED_DISPLAY_8x16(4,5*8,t[1]%100/10 +0x30);//
OLED_DISPLAY_8x16(4,6*8,t[1]%10 +0x30);//
OLED_DISPLAY_8x16(4,11*8,t[4]/10000 +0x30);//显示
OLED_DISPLAY_8x16(4,12*8,t[4]%10000/1000 +0x30);//显示
OLED_DISPLAY_8x16(4,13*8,t[4]%1000/100 +0x30);//
OLED_DISPLAY_8x16(4,14*8,t[4]%100/10 +0x30);//
OLED_DISPLAY_8x16(4,15*8,t[4]%10 +0x30);//
OLED_DISPLAY_8x16(6,2*8,t[2]/10000 +0x30);//显示
OLED_DISPLAY_8x16(6,3*8,t[2]%10000/1000 +0x30);//显示
OLED_DISPLAY_8x16(6,4*8,t[2]%1000/100 +0x30);//
OLED_DISPLAY_8x16(6,5*8,t[2]%100/10 +0x30);//
OLED_DISPLAY_8x16(6,6*8,t[2]%10 +0x30);//
OLED_DISPLAY_8x16(6,11*8,t[5]/10000 +0x30);//显示
OLED_DISPLAY_8x16(6,12*8,t[5]%10000/1000 +0x30);//显示
OLED_DISPLAY_8x16(6,13*8,t[5]%1000/100 +0x30);//
OLED_DISPLAY_8x16(6,14*8,t[5]%100/10 +0x30);//
OLED_DISPLAY_8x16(6,15*8,t[5]%10 +0x30);//
for(a=0;a<6;a++)
{ printf("%d////", t[a]);
delay_ms(200); //延时(决定刷新速度)
}
}
}
【变量定义】
u32 a; //定义32位无符号变量a
u16 a; //定义16位无符号变量a
u8 a; //定义8位无符号变量a
vu32 a; //定义易变的32位无符号变量a
vu16 a; //定义易变的 16位无符号变量a
vu8 a; //定义易变的 8位无符号变量a
uc32 a; //定义只读的32位无符号变量a
uc16 a; //定义只读 的16位无符号变量a
uc8 a; //定义只读 的8位无符号变量a
#define ONE 1 //宏定义
delay_us(1); //延时1微秒
delay_ms(1); //延时1毫秒
delay_s(1); //延时1秒
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1)); //LED控制
*/
|