实验使用的开发板是ART-PI,stm32h750芯片+threadx。创建信号量,实现两个任务之间同步。
第一步:首先通过stm32cubeMX移植了threadx(参考第一篇文章)。
第二步:创建消息队列。在
int tx_application_define(VOID *first_unused_memory)里面创建消息队列。
/* 创建消息队列1 */
tx_queue_create(&MessageQueues1,
"MessageQueues1",
1, /* 每次消息队列发送的数据大小,单位32bit,范围1-16 */
(VOID *)MessageQueuesBuf1,
sizeof(MessageQueues1)); /* 消息队列大小,单位字节 */
第三步:创建任务控制块。
#define APP_CFG_TASK_queue_PRIO 8u
#define APP_CFG_TASK_queue_STK_SIZE 4096u
static TX_THREAD AppTaskqueueTCB;
static uint64_t AppTaskqueueStk[APP_CFG_TASK_queue_STK_SIZE/8];
static void AppTaskqueue(ULONG thread_input);
uint32_t MessageQueuesBuf1[10]; /* 定义消息队列缓冲1 */
static TX_QUEUE MessageQueues1;
<