背景:
下载器:stlink-v2
MDK:V5.38
FREERTOS:
- logic analyzer怎么添加引脚(若是要观测自定义的变量呢)?

例:观测GPIOB.14
按网上查的写成 PORTB.14提示错误



程序里有创建了两个任务,怎么看这任务的状态之类的。
- 延时时长,一个定义为(5),一个定义为(500),(5)的延时断点都能命中,(500)的延时断点都不能命中是什么问题,如果将(500)改成(5)也能命中?


[C] 纯文本查看 复制代码 #include "sys_freertos_demo.h"
#include "sys_led_tip.h"
#define START_TASK_PRIO 1
#define START_STK_SIZE 120
void start_task(void * pvParameters); //任务函数
TaskHandle_t StartTask_Handler; //任务句柄
#define TASK1_TASK_PRIO 2
#define TASK1_STK_SIZE 120
void task1_task(void * pvParameters);
TaskHandle_t Task1Task_Handler; //任务句柄
#define TASK2_TASK_PRIO 3
#define TASK2_STK_SIZE 120
void task2_task(void * pvParameters);
TaskHandle_t Task2Task_Handler; //任务句柄
[size=6] int _freertos_demo()是放在main中的函数中,类似[/size]
[size=6]int main()[/size]
[size=6]{[/size]
[size=6]...[/size]
[size=6]while(1)[/size]
[size=6]{[/size]
[size=6] [/size][size=6]_freertos_demo();[/size]
[size=6]}[/size]
[size=6]}
[/size]int _freertos_demo(){
// delay_init(168);
// uart_init(9600);
HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
// printf("Start !\r\n");
// LED_Init();
xTaskCreate((TaskFunction_t ) start_task,
(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)
{
//创建Task1
taskENTER_CRITICAL(); /* 进入临界区 */
xTaskCreate((TaskFunction_t ) task1_task,
(char* ) "task1_task",
(uint16_t ) TASK1_STK_SIZE,
(void * ) NULL,
(UBaseType_t ) TASK1_TASK_PRIO,
(TaskHandle_t* ) &Task1Task_Handler);
//创建Task2
xTaskCreate((TaskFunction_t ) task2_task,
(char* ) "task2_task",
(uint16_t ) TASK1_STK_SIZE,
(void * ) NULL,
(UBaseType_t ) TASK2_TASK_PRIO,
(TaskHandle_t* ) &Task2Task_Handler);
vTaskDelete(StartTask_Handler); //NULL
taskEXIT_CRITICAL(); /* 退出临界区 */
}
void task1_task(void * pvParameters){
while(1){
// LED1(1);
sys_led_toggle();
vTaskDelay(500);//延时函数
// LED1(0);
}
}
void task2_task(void * pvParameters){
while(1){
// LED2(1);
vTaskDelay(5);
// LED2(0);
//sys_led_toggle();
}
}
FREERTOSconfig.h
[C] 纯文本查看 复制代码 /*
* FreeRTOS V202212.01
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* [url]https://www.FreeRTOS.org[/url]
* [url]https://github.com/FreeRTOS[/url]
*
*/
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
/*-----------------------------------------------------------
* Application specific definitions.
*
* These definitions should be adjusted for your particular hardware and
* application requirements.
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*
* See [url]http://www.freertos.org/a00110.html[/url]
*----------------------------------------------------------*/
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned long ) 16000000 )
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
#define configMAX_PRIORITIES ( 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 17 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 1
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_vTaskPrioritySet 1
#define INCLUDE_uxTaskPriorityGet 1
#define INCLUDE_vTaskDelete 1
#define INCLUDE_vTaskCleanUpResources 0
#define INCLUDE_vTaskSuspend 1
#define INCLUDE_vTaskDelayUntil 1
#define INCLUDE_vTaskDelay 1
/* This is the raw value as per the Cortex-M3 NVIC. Values can be 255
(lowest) to 0 (1?) (highest). */
#define configKERNEL_INTERRUPT_PRIORITY 255
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
See [url]http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html.[/url] */
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 191 /* equivalent to 0xb0, or priority 11. */
/* This is the value being used as per the ST library which permits 16
priority values, 0 to 15. This must correspond to the
configKERNEL_INTERRUPT_PRIORITY setting. Here 15 corresponds to the lowest
NVIC value of 255. */
#define configLIBRARY_KERNEL_INTERRUPT_PRIORITY 15
#endif /* FREERTOS_CONFIG_H */
|