久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1954|回復: 0
打印 上一主題 下一主題
收起左側

運動手表主程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:916996 發表于 2021-5-7 14:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
int main(void)
{
        float ole_roll,diff_roll_value;
        USER_DATA_t time_infor;
        char str1[10];
        //variables to calculate the on-board LED brightness that reflects the heartbeats
        uint32_t un_min, un_max, un_prev_data;  
        int i;
        int32_t n_brightness;
        float f_temp;
        u8 temp_num=0;
        u8 temp[6];
        u8 str[100];
        u8 dis_hr=0,dis_spo2=0;

       

        /* Configure the Priority Group to 2 bits */
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
       
        OLED_Init();                        //初始化OLED  
        OLED_Clear();   //OLED  清屏
        delay_ms(500);
        USART1_Config();  //串口1(電腦)配置
        Bluetooth_Init(); //藍牙初始化
        Rtc_Init();        //RTC初始化(用于顯示時間和日期、鬧鐘)
        Beep_Init();       //鬧鐘提醒
        LED_Init();      //LED燈初始化
        MPU_Init();      //MPU6050初始化(用于抬手喚醒屏幕、計步)
    TIM4_Int_Init(5000,8400);//500ms
        KEY_EXIT_Init();
        delay_ms(1863);
       
       
       
        while(mpu_dmp_init())
        {
                printf("MPU6050 ERROR \r\n");
                delay_ms(500);
        }
        GPIO_Keyboard_Configuration(); //游戲方向控制鍵盤
        GUI_Init();//游戲界面初始化
       
       
        TIM_Cmd(TIM2,ENABLE);//打開定時器2,用于判斷20秒無操作熄滅屏幕
        while(1)
        {       
                /*計步*/
                dmp_get_pedometer_step_count(&STEPS); //MPU6050自帶計步功能,并且從第7步才可以讀取的到數據
                sprintf(str1,"步數:%ld",STEPS);
                printf("%s\r\n",str);
                OLED_ShowCHinese(0,6,0);//步
                OLED_ShowCHinese(18,6,1);//數
                OLED_ShowCHinese(36,6,2);//:
                if(STEPS>=10)
                {
                        OLED_ShowNum(40,6,STEPS,3,16);
                }
                else
                {
                        OLED_ShowNum(40,6,0,3,16);
                        //printf("dsgkhsd kjhdksahgkljfahglkfadhgkldfag\r\n");
                }
               
                if(BLUETOOTH_STATE==1)
                {
                        OLED_DrawBMP(0,0,127,2,BLUETOOTH_ON);
                }
                else
                {
                        OLED_DrawBMP(0,0,127,2,BLUETOOTH_OFF);
                }
               
                /*顯示時間、日期和手機修改時間、日期、鬧鐘*/
                Clock_Infor_display(time_infor);
               
                /*操作20秒無操作,熄滅oled*/
                if(operrate_flag > 50)
                {
                        operrate_flag = 0;
                        TIM_Cmd(TIM2,DISABLE);//關閉定時器2,停止計數
                        OLED_Display_Off(); //關閉oled顯示
                }
               
                /*游戲*/
                if(g_key0_flag==1)
                {
                        g_key0_flag=0;
                        g_key2_flag=0;
                        operrate_flag = 0;
                        TIM_Cmd(TIM2,DISABLE);//關閉定時器2,停止計數
                        OLED_Display_On();
                        OLED_DrawBMP(0,0,128,8,STARTGAME);//開頭動畫
                        delay_s(2);
                        while(1)
                        {
                                 Get_Command();
                                 Show_Score();
                                 GUI_Refresh(map);//刷新地圖
                                 if(GameOver())
                                 {
                                   OLED_Clear();
                                   OLED_DrawBMP(0,0,128,8,GAMEOVER);
                                 }
                                 if(g_key2_flag==1)
                                 {
                                         g_key2_flag=0;
                                         OLED_Clear();
                                         break;
                                 }
                                 
                         }
                         TIM_Cmd(TIM2,ENABLE);//開啟定時器2,停止計數
                }
               
                /*抬手喚醒*/
                if(res==0)
                {
                diff_roll_value = abs(ole_roll-roll);//取絕對值
                        if(diff_roll_value >= 9)
                        {       
                                diff_roll_value=0;
                                operrate_flag = 0;
                                TIM_Cmd(TIM2,DISABLE);//關閉定時器2,停止計數
                                OLED_Display_On();
                                TIM_Cmd(TIM2,ENABLE);//開啟定時器2,停止計數
                        }
                        ole_roll = roll;
                        printf("pitch=%f,roll=%f,yaw=%f\r\n",pitch,roll,yaw);
                       
                        delay_ms(1000);
                        res=1;
                }
                delay_s(5);
        }          
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲激情自拍偷拍 | 国产乱码精品一区二区三区中文 | 国产成人精品一区二区三区在线 | 欧美日韩在线视频一区二区 | 国产馆| 国产精品v | 99爱在线观看 | 黄色一级毛片免费看 | 91电影| 精品一区在线看 | 欧美日日| 国产精品久久久久久久粉嫩 | 国产大学生情侣呻吟视频 | 日本三级电影在线观看视频 | 特黄色一级毛片 | 欧美激情精品久久久久久 | 国产精品特级毛片一区二区三区 | 欧美国产日韩在线 | 爽爽免费视频 | 国产成人精品一区二区三区网站观看 | 操操日| 国产精品视频久久久久 | 国产高清在线观看 | 国产成人av电影 | 国产一区二区在线免费观看 | 日韩中文字幕免费 | 视频一区二区中文字幕日韩 | 成人国产a | 亚洲91 | 亚洲免费网址 | 国产精品无码专区在线观看 | 日韩在线视频一区 | 国产一区二区在线免费播放 | 午夜国产羞羞视频免费网站 | 欧美区在线 | 又黄又爽的网站 | 久久精品在线 | 久久综合久久久 | 精品三区 | 欧美日韩国产一区二区三区 | 国产精品久久久久久久久久三级 |