Compare commits
No commits in common. "testsOtherWaitingFlagsOptions" and "master" have entirely different histories.
testsOther
...
master
32
main.c
32
main.c
@ -19,19 +19,13 @@
|
|||||||
|
|
||||||
GPIO_InitTypeDef GPIO_InitStruct;
|
GPIO_InitTypeDef GPIO_InitStruct;
|
||||||
|
|
||||||
osThreadId_t idTask1, idTask2;
|
osThreadId_t idTask1;
|
||||||
osEventFlagsId_t evt_id;
|
osEventFlagsId_t evt_id;
|
||||||
|
|
||||||
const osThreadAttr_t AttrTask1 = {
|
const osThreadAttr_t AttrTask1 = {
|
||||||
.stack_size = 512, // Create the thread stack size
|
|
||||||
.priority = osPriorityHigh, //Set initial thread priority to high
|
|
||||||
.name = "Task 1"
|
|
||||||
};
|
|
||||||
|
|
||||||
const osThreadAttr_t AttrTask2 = {
|
|
||||||
.stack_size = 512, // Create the thread stack size
|
.stack_size = 512, // Create the thread stack size
|
||||||
.priority = osPriorityNormal, //Set initial thread priority to high
|
.priority = osPriorityNormal, //Set initial thread priority to high
|
||||||
.name = "Task 2"
|
.name = "Task 1"
|
||||||
};
|
};
|
||||||
|
|
||||||
void init_button(void)
|
void init_button(void)
|
||||||
@ -65,24 +59,11 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_PIN)
|
|||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
* Thread 1
|
* Thread 1
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
__NO_RETURN static void task1(void *argument) {
|
__NO_RETURN static void taskCounter(void *argument) {
|
||||||
|
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
osEventFlagsWait(evt_id, 0x1U, osFlagsNoClear, osWaitForever);
|
osEventFlagsWait(evt_id, 0x1U, osFlagsWaitAny, osWaitForever);
|
||||||
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
|
||||||
* Thread 2
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
__NO_RETURN static void task2(void *argument) {
|
|
||||||
|
|
||||||
|
|
||||||
for (;;) {
|
|
||||||
osEventFlagsWait(evt_id, 0x1U, osFlagsNoClear, osWaitForever);
|
|
||||||
osEventFlagsClear(evt_id, 0x1U);
|
|
||||||
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9, 0);
|
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -136,9 +117,8 @@ int main (void) {
|
|||||||
|
|
||||||
osKernelInitialize(); // Initialize CMSIS-RTOS
|
osKernelInitialize(); // Initialize CMSIS-RTOS
|
||||||
|
|
||||||
idTask1 = osThreadNew(task1, NULL, &AttrTask1);
|
idTask1 = osThreadNew(taskCounter, NULL, &AttrTask1);
|
||||||
idTask2 = osThreadNew(task2, NULL, &AttrTask2);
|
|
||||||
|
|
||||||
//events
|
//events
|
||||||
evt_id = osEventFlagsNew(NULL);
|
evt_id = osEventFlagsNew(NULL);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user