搞了二周終于讀取數(shù)據(jù)了
單片機源程序如下:
- #include "includes.h"//添加外部各種頭文件
- //#include "Globalvariable.h"//添加全局變量 // Device header
- int main(void)
- {
- u8 k=0;
- u16 AD1=0;
-
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設置中斷優(yōu)先級分組2
- uart_init(115200); //串口初始化為9600
-
- delay_init(); //延時函數(shù)初始化
- LED_Init(); //初始化與LED連接的硬件接口
- KEY_Init(); //初始化與按鍵連接的硬件接口
- I2C_GPIO_Config(); //IIC引腳初始化
-
- Adc_Init(); //ADC通道初始化
- // TIM1_PWM_Init(899,0); //不分頻。PWM頻率=72000/(899+1)=80Khz
- // TIM4_PWM_Init(7999,8999);//方波頻率1Hz
- TIM4_PWM_Init(899,0); //方波頻率1Hz
- delay_ms(10);
- Init_MPU6050(); //初始化MPU6050
- OLED_Init(); //初始化屏幕OLED
- InitBME280(); //初始化BME280
-
-
- OLED_P16x16Ch(0,0,0);//寫溫字
- OLED_P16x16Ch(16,0,1);//寫度字
- OLED_P8x16Str(32,0,":");//第一行 -- 8x16的顯示單元顯示ASCII碼
- OLED_P16x16Ch(96,0,6);//寫度字
-
- OLED_P16x16Ch(0,2,2);//寫濕字
- OLED_P16x16Ch(16,2,1);//寫度字
- OLED_P8x16Str(32,2,":");//第一行 -- 8x16的顯示單元顯示ASCII碼
- OLED_P8x16Str(96,2,"%");//第一行 -- 8x16的顯示單元顯示ASCII碼
-
- OLED_P16x16Ch(0,4,3);//寫高字
- OLED_P16x16Ch(16,4,1);//寫度字
- OLED_P8x16Str(32,4,":");//第一行 -- 8x16的顯示單元顯示ASCII碼
- OLED_P16x16Ch(96,4,7);//寫米字
-
- OLED_P16x16Ch(0,6,4);//寫氣字
- OLED_P16x16Ch(16,6,5);//寫壓字
- OLED_P8x16Str(32,6,":");//第一行 -- 8x16的顯示單元顯示ASCII碼
- OLED_P8x16Str(104,6,"hPa");//第一行 -- 8x16的顯示單元顯示ASCII碼
-
- while(1)
- {
-
- ////////////////---MPU6050---/////////////////////
- // READ_MPU6050(); //讀取MPU6050數(shù)據(jù)
-
- // x1=Single_Read(MPU6050_Addr,GYRO_XOUT_L);
- // x2=Single_Read(MPU6050_Addr,GYRO_XOUT_H);
- // x3 = (x2<<8)|x1;
- // x3 =(double)x3*250/327.68; //讀取計算X軸數(shù)據(jù)
-
- // printf("G_X1=:%d\n",x1);//回車加換行
- // printf("X3=:%d\r\n",x3);//回車加換行
-
- OLED_P8x16FLOAT(40,0,BMP280_Temperature()/100,2);//溫度
- if((0x01&BME280_readdata(0xF3))==1)
- {
- OLED_P8x16FLOAT(40,2,BMP280_humidity(),2);//濕度
- }
- OLED_P8x16FLOAT(40,4,BMP280_calcAltitude_AVE(BMP280_calcAltitude()),2);//高度
- OLED_P8x16FLOAT(40,6,BMP280_pressure()/100,2);//氣壓
-
- ////////////////---ADC---/////////////////////
-
- AD1=Get_Adc(0);//讀取PA0的模擬量輸入信號值
- //
- //////////////////---PWM---/////////////////////
- TIM_SetCompare1(TIM4,AD1);//占空比10%
- TIM_SetCompare2(TIM4,AD1);//占空比20%
- TIM_SetCompare3(TIM4,AD1);//占空比50%
- TIM_SetCompare4(TIM4,AD1);//占空比80%
-
- ////////////////---LED---/////////////////////
- LED_13=!LED_13;
-
- ////////////////---KEY---/////////////////////
- k=KEY_Scan(0); //得到鍵值
- switch(k)
- {
- case 1:
- LED_14=!LED_14;
- break;
- case 2:
- LED_15=!LED_15;
- break;
- case 3:
- LED_15=!LED_15;
- LED_14=!LED_14;
- break;
- default:
- delay_ms(10);
- }
- }
- }
復制代碼
所有代碼51hei附件下載:
STM32 F103-6050.7z
(210.25 KB, 下載次數(shù): 67)
2021-9-28 23:29 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|