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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32F103R8t6 FreeRTOS工程adc+flash模擬EEPROM源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:96313 發表于 2019-4-9 14:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
STM32單片機源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "FreeRTOS.h"
  6. #include "task.h"
  7. #include "ADC.h"
  8. #include "74HC595.h"
  9. #include "key.h"
  10. #include "stmflash.h"



  11. //const
  12. u8 TEXT_Buffer[]={"0123456789"};




  13. //任務優先級
  14. #define START_TASK_PRIO                1
  15. //任務堆棧大小        
  16. #define START_STK_SIZE                 128  
  17. //任務句柄
  18. TaskHandle_t StartTask_Handler;
  19. //任務函數
  20. void start_task(void *pvParameters);

  21. //任務優先級
  22. #define LED0_TASK_PRIO                2
  23. //任務堆棧大小        
  24. #define LED0_STK_SIZE                 50  
  25. //任務句柄
  26. TaskHandle_t LED0Task_Handler;
  27. //任務函數
  28. void led0_task(void *pvParameters);

  29. //任務優先級
  30. #define LED1_TASK_PRIO                3
  31. //任務堆棧大小        
  32. #define LED1_STK_SIZE                 50  
  33. //任務句柄
  34. TaskHandle_t LED1Task_Handler;
  35. //任務函數
  36. void led1_task(void *pvParameters);

  37. int main(void)
  38. {
  39.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//設置系統中斷優先級分組4         
  40.         delay_init();                                            //延時函數初始化         
  41.         uart_init(115200);                                        //初始化串口
  42.         LED_Init();                                                          //初始化LED
  43.         My_ADC_Init();
  44.         Display_74HC595_Init();
  45.         KEY_Init();
  46.         
  47.         if(EEPROM_dat1.MASK != 0x50)
  48.         {
  49.                 EEPROM_dat1.F_1=0;
  50.                 EEPROM_dat1.F_2=0;
  51.                 EEPROM_dat1.GL=0;
  52.                 EEPROM_dat1.P_offset=0;
  53.                 EEPROM_dat1.P_1=0;
  54.                 EEPROM_dat1.P_2=0;
  55.                 EEPROM_dat1.SL=0;
  56.                 EEPROM_dat1.MASK = 0x50;
  57.                 save_eeprom();
  58.         }
  59.           //創建開始任務
  60.     xTaskCreate((TaskFunction_t )start_task,            //任務函數
  61.                 (const char*    )"start_task",          //任務名稱
  62.                 (uint16_t       )START_STK_SIZE,        //任務堆棧大小
  63.                 (void*          )NULL,                  //傳遞給任務函數的參數
  64.                 (UBaseType_t    )START_TASK_PRIO,       //任務優先級
  65.                 (TaskHandle_t*  )&StartTask_Handler);   //任務句柄              
  66.     vTaskStartScheduler();          //開啟任務調度
  67. }

  68. //開始任務任務函數
  69. void start_task(void *pvParameters)
  70. {
  71.     taskENTER_CRITICAL();           //進入臨界區
  72.     //創建LED0任務
  73.     xTaskCreate((TaskFunction_t )led0_task,            
  74.                 (const char*    )"led0_task",           
  75.                 (uint16_t       )LED0_STK_SIZE,
  76.                 (void*          )NULL,                                
  77.                 (UBaseType_t    )LED0_TASK_PRIO,        
  78.                 (TaskHandle_t*  )&LED0Task_Handler);   
  79.     //創建LED1任務
  80.     xTaskCreate((TaskFunction_t )led1_task,   
  81.                 (const char*    )"led1_task",   
  82.                 (uint16_t       )LED1_STK_SIZE,
  83.                 (void*          )NULL,
  84.                 (UBaseType_t    )LED1_TASK_PRIO,
  85.                 (TaskHandle_t*  )&LED1Task_Handler);         
  86.     vTaskDelete(StartTask_Handler); //刪除開始任務
  87.     taskEXIT_CRITICAL();            //退出臨界區
  88. }

  89. int times=0;
  90. //LED0任務函數
  91. /*
  92. 修改之后保存,再讀;如果修改之后直接讀會覆蓋掉修改的內容。
  93. */
  94. void led0_task(void *pvParameters)
  95. {
  96. //        u8 datatemp[SIZE];
  97.         int i;
  98.     while(1)
  99.     {
  100. // LED0=~LED0;
  101.                            
  102.           vTaskDelay(300);

  103.                                     if(KEY3==0)
  104.                                   {        
  105.                                          EEPROM_dat1.F_1++;
  106.                                          vTaskDelay(100);
  107.                                   }
  108. //                                        times--;
  109. //                        
  110. //                                        //Half_show(times);
  111. //                                        printf("KEY_times:%d\r\n",times);
  112.                                        
  113.                                         if(KEY1==0)//KEY1??,??STM32 FLASH
  114.                                         {
  115.                                                  save_eeprom();
  116.                                                  printf("\r\nsave.............\r\n");
  117.                                         }
  118.                                          if(KEY2==0)        //KEY0??,????????
  119.                                         {
  120.                                                  read_eeprom();
  121.                                                 printf("F_1:%x ",EEPROM_dat1.F_1);//????????
  122.                                          
  123.                                         }
  124.                         
  125.     }
  126. }

  127. //LED1任務函數
  128. void led1_task(void *pvParameters)
  129. {
  130.         uint16_t i=0;
  131.          double   k=0.02;
  132.     while(1)
  133.     {
  134.         LED1=0;
  135.         vTaskDelay(100);
  136.         LED1=1;
  137.         vTaskDelay(100);
  138.                         
  139.                    i = ADC_Value();
  140.                    i =  i * (33000/4095);
  141.     //  printf("ADC_Vaule:%d\r\n",i);
  142.                   display_number(i/100,2);
  143.           //  printf("%lf\r\n",k);
  144.     }
  145. }
復制代碼

所有資料51hei提供下載:
FreeRTOS_DEMO 20190109V1.0.7z (319.74 KB, 下載次數: 159)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:377615 發表于 2020-7-18 15:59 | 只看該作者
我想問一下,確定這個是R8T6么?
回復

使用道具 舉報

板凳
ID:377615 發表于 2020-7-18 16:01 | 只看該作者
我想問一下確定這個是r8t6么?正點原子103的板子沒有用這個芯片的啊
回復

使用道具 舉報

地板
ID:700459 發表于 2021-5-22 03:09 | 只看該作者
thank u very much, it's so good
回復

使用道具 舉報

5#
ID:256945 發表于 2021-5-22 09:51 | 只看該作者
bouna 發表于 2021-5-22 03:09
thank u very much, it's so good

還有老外?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产福利视频 | 涩爱av一区二区三区 | 成人国产精品久久 | 99热欧美 | 欧美在线视频网站 | 99一级毛片 | 欧美一区二区三区在线播放 | 超碰在线播 | 日韩视频在线免费观看 | 久色| 亚洲国产aⅴ成人精品无吗 综合国产在线 | 成人免费福利视频 | 久久久久99 | 欧美日韩在线观看视频网站 | 美女在线视频一区二区三区 | 久久久久国产精品免费免费搜索 | 亚洲国产精品va在线看黑人 | 91免费在线播放 | 免费视频99 | 久久伊人久久 | 欧美日韩一区二区三区四区 | 亚洲狠狠| 一区二区三区在线播放 | 亚洲国产成人精品久久久国产成人一区 | 综合激情av| 九九综合九九 | 在线毛片网| 国产乱码精品1区2区3区 | 一区二区三区国产 | 九一视频在线播放 | 免费在线观看毛片 | 国产欧美精品区一区二区三区 | 一区二区不卡视频 | 亚洲精品国产第一综合99久久 | 中文av字幕 | 天天躁日日躁狠狠的躁天龙影院 | 久久美女网 | 欧美一区二区三区四区五区无卡码 | 成人综合视频在线观看 | 欧美综合国产精品久久丁香 | 久久免费视频观看 |