|
本帖最后由 kaillen 于 2020-9-25 01:28 編輯
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)
51hei.png (14.05 KB, 下載次數: 60)
下載附件
2020-9-24 01:51 上傳
圖1
二,調整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)
2.png (155.6 KB, 下載次數: 73)
下載附件
2020-9-24 01:40 上傳
圖2
3.png (145.61 KB, 下載次數: 76)
下載附件
2020-9-24 01:40 上傳
圖3
4.png (136.72 KB, 下載次數: 76)
下載附件
2020-9-24 01:40 上傳
圖4
三,點擊Source Code標簽。(如下圖5所示)
5.png (114.91 KB, 下載次數: 92)
下載附件
2020-9-24 01:41 上傳
圖5
四,編輯main.c Proteus8.9 VSM Studio Keil編譯器仿真freeRTOS_STM32F103R6_系列001_跑馬燈 (如下圖6所示)
五,Main.c 代碼:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "lcd1602.h"
#include "FreeRTOS.h"
#include "task.h"
//任務優先級
#define START_TASK_PRIO 1
//任務堆棧大小
#define START_STK_SIZE 128
//任務句柄
TaskHandle_t StartTask_Handler;
//任務函數
void start_task(void *pvParameters);
//任務優先級
#define LED0_TASK_PRIO 2
//任務堆棧大小
#define LED0_STK_SIZE 50
//任務句柄
TaskHandle_t LED0Task_Handler;
//任務函數
void led0_task(void *pvParameters);
//任務優先級
#define LED1_TASK_PRIO 3
//任務堆棧大小
#define LED1_STK_SIZE 50
//任務句柄
TaskHandle_t LED1Task_Handler;
//任務函數
void led1_task(void *pvParameters);
int main(void)
{
NVIC_Configuration();
delay_init();
USART1_Init(57600); //串口初始化(參數是波特率)
LED_Init(); //初始化LED端口 if(USART_RX_STA&0x8000)
xTaskCreate((TaskFunction_t )start_task, //任務函數
(const char* )"start_task", //任務名稱
(uint16_t )START_STK_SIZE, //任務堆棧大小
(void* )NULL, //傳遞給任務函數的參數
(UBaseType_t )START_TASK_PRIO, //任務優先級
(TaskHandle_t* )&StartTask_Handler); //任務句柄
vTaskStartScheduler(); //開啟任務調度
}
//開始任務任務函數
void start_task(void *pvParameters)
{
taskENTER_CRITICAL(); //進入臨界區
//創建LED0任務
xTaskCreate((TaskFunction_t )led0_task,
(const char* )"led0_task",
(uint16_t )LED0_STK_SIZE,
(void* )NULL,
(UBaseType_t )LED0_TASK_PRIO,
(TaskHandle_t* )&LED0Task_Handler);
vTaskDelete(StartTask_Handler); //刪除開始任務
taskEXIT_CRITICAL(); //退出臨界區
}
//LED0任務函數
void led0_task(void *pvParameters)
{
while(1)
{
LED0=~LED0;
printf("LED0變換!\r\n");
delay_us(50000);
LED1=~LED1;
printf("LED1變換!\r\n");
delay_us(50000);
}
}
六,點擊構建工程按鈕,編譯工程。(如下圖6所示)
6.png (131.83 KB, 下載次數: 66)
下載附件
2020-9-24 01:41 上傳
圖6
七,點擊窗口左下方仿真按鈕,可見虛擬LED顯示。 (如下圖7,8,9所示)
7.png (145.52 KB, 下載次數: 79)
下載附件
2020-9-24 01:41 上傳
圖7
8.png (92 KB, 下載次數: 71)
下載附件
2020-9-24 01:41 上傳
圖8
9.png (148.3 KB, 下載次數: 67)
下載附件
2020-9-24 01:41 上傳
圖9
八,選擇release,點擊構建工程按鈕,編譯工程生成Hex文件。(如下圖10所示)
10.png (131.83 KB, 下載次數: 66)
下載附件
2020-9-24 01:41 上傳
圖10
附件Proteus8.9 VSM Studio Keil編譯器仿真freeRTOS_STM32F103R6_系列001_跑馬燈在已安裝Proteus8.9的計算機文件夾中打開即可
需要進一步了解,請加入QQ群:976235464
|
-
-
freeRTOS_01_跑馬燈_04pt.rar
2020-9-25 01:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
942.75 KB, 下載次數: 71, 下載積分: 黑幣 -5
在已安裝Proteus8.9的計算機文件夾中打開即可
評分
-
查看全部評分
|