Compare commits
	
		
			1 Commits
		
	
	
		
			master
			...
			testsOther
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| eaf764636d | 
							
								
								
									
										30
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								main.c
									
									
									
									
									
								
							| @@ -19,15 +19,21 @@ | |||||||
|  |  | ||||||
| GPIO_InitTypeDef GPIO_InitStruct; | GPIO_InitTypeDef GPIO_InitStruct; | ||||||
|  |  | ||||||
| osThreadId_t idTask1; | osThreadId_t idTask1, idTask2; | ||||||
| osEventFlagsId_t evt_id;    | osEventFlagsId_t evt_id;    | ||||||
|  |  | ||||||
|  const osThreadAttr_t AttrTask1 = { |  const osThreadAttr_t AttrTask1 = { | ||||||
|   .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 = osPriorityHigh, //Set initial thread priority to high | ||||||
| 	.name = "Task 1" | 	.name = "Task 1" | ||||||
| }; | }; | ||||||
|   |   | ||||||
|  |  const osThreadAttr_t AttrTask2 = { | ||||||
|  |   .stack_size = 512,          // Create the thread stack size  | ||||||
|  | 	.priority = osPriorityNormal, //Set initial thread priority to high | ||||||
|  | 	.name = "Task 2" | ||||||
|  | }; | ||||||
|  |   | ||||||
| void init_button(void) | void init_button(void) | ||||||
| { | { | ||||||
| 	/* Configure GPIO pin: PI2 (BTN_0) as interrupt */ | 	/* Configure GPIO pin: PI2 (BTN_0) as interrupt */ | ||||||
| @@ -59,11 +65,24 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_PIN) | |||||||
| /*---------------------------------------------------------------------------- | /*---------------------------------------------------------------------------- | ||||||
|  * Thread 1 |  * Thread 1 | ||||||
|  *---------------------------------------------------------------------------*/ |  *---------------------------------------------------------------------------*/ | ||||||
| __NO_RETURN static void taskCounter(void *argument) { | __NO_RETURN static void task1(void *argument) { | ||||||
|  |  | ||||||
| 	 | 	 | ||||||
| 	for (;;) { | 	for (;;) { | ||||||
| 		osEventFlagsWait(evt_id, 0x1U, osFlagsWaitAny, osWaitForever); | 		osEventFlagsWait(evt_id, 0x1U, osFlagsNoClear, 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); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @@ -117,7 +136,8 @@ int main (void) { | |||||||
|   |   | ||||||
|   osKernelInitialize();                 // Initialize CMSIS-RTOS |   osKernelInitialize();                 // Initialize CMSIS-RTOS | ||||||
|  |  | ||||||
| 	idTask1 = osThreadNew(taskCounter, NULL,  &AttrTask1); | 	idTask1 = osThreadNew(task1, NULL,  &AttrTask1); | ||||||
|  | 	idTask2 = osThreadNew(task2, NULL,  &AttrTask2); | ||||||
|  |  | ||||||
| 	//events | 	//events | ||||||
| 	evt_id = osEventFlagsNew(NULL); | 	evt_id = osEventFlagsNew(NULL); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user