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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4176|回復: 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 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

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
回復

使用道具 舉報

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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 秋霞a级毛片在线看 | 国产高清在线观看 | 国产精品中文字幕在线 | 国产精品美女久久久久aⅴ国产馆 | 日韩在线中文字幕 | 国产日韩精品在线 | 欧美一区免费 | 日本在线一区二区 | 欧美精品久久久 | 久久久蜜桃 | 一区二区在线 | 四虎成人av | 国产玖玖 | 国产精品99久久久久久久vr | 亚洲五码久久 | 成人不卡 | 午夜精品久久久久久久 | 亚洲在线电影 | 521av网站 | 国产一区二区av | 国产精品毛片一区二区在线看 | 中文字幕一区在线 | 亚洲国产精品一区二区第一页 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 久久久亚洲成人 | 玖操| 国产精品一区二区久久久久 | 久久国产精品一区二区 | 久久av资源网 | 欧美精品一区二区三区在线 | 成人在线精品视频 | 精品av | 毛片一级片| 狠狠艹| 欧美日韩精品一区二区 | 男女视频在线免费观看 | 日本电影韩国电影免费观看 | 精品一区二区三区在线观看 | 国产探花在线精品一区二区 | 亚洲毛片在线观看 | 国产精品免费看 |