本系列教程均基于ART-PI开发板为硬件平台。stm32h750芯片+threadx。
互斥信号量的主要作用是对资源实现互斥访问,互斥量可以解决优先级翻转问题。
第一步:首先通过stm32cubeMX移植了threadx(参考第一篇文章)。
第二步:创建互斥量。在
int tx_application_define(VOID *first_unused_memory)里面创建信号量。
UINT status;
/* 创建互斥信号量 */
status=tx_mutex_create(&dynamic_mutex,"dynamic_mutex",TX_INHERIT);
if (status != TX_SUCCESS)
{
debug("create dynamic mutex failed.\r\n");
return -1;
}
第三步:编写互斥量线程和串口线程。
#define APP_CFG_TASK_UART_PRIO 6u
#define APP_CFG_TASK_UART_STK_SIZE 4096u
static TX_THREAD AppTaskUARTTCB;
static uint64_t AppTaskUARTStk[APP_CFG_TASK_UART_STK_SIZE/8];
static void AppTaskUART(ULONG thread_input);
#define APP_CFG_TASK_mutex_PRIO 8u
#define APP_CFG_TASK_mutex_STK_SIZE 4096u
static TX_THREAD