|
void MX_FREERTOS_Init(void) {
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* USER CODE BEGIN RTOS_MUTEX */
/* add mutexes, ... */
/* USER CODE END RTOS_MUTEX */
/* USER CODE BEGIN RTOS_SEMAPHORES */
/* add semaphores, ... */
/* USER CODE END RTOS_SEMAPHORES */
/* USER CODE BEGIN RTOS_TIMERS */
/* start timers, add new ones, ... */
/* USER CODE END RTOS_TIMERS */
/* Create the thread(s) */
/* definition and creation of defaultTask */
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 96);
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
/* definition and creation of myTask02 */
osThreadDef(myTask02, StartTask02, osPriorityIdle, 0, 96);
myTask02Handle = osThreadCreate(osThread(myTask02), NULL);
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
/* Create the queue(s) */
/* definition and creation of myQueue01 */
/* what about the sizeof here??? cd native code */
osMessageQDef(myQueue01, 256, uint8_t);
myQueue01Handle = osMessageCreate(osMessageQ(myQueue01), NULL);
/* definition and creation of myQueue02 */
/* what about the sizeof here??? cd native code */
osMessageQDef(myQueue02, 32, uint8_t);
myQueue02Handle = osMessageCreate(osMessageQ(myQueue02), NULL);
/* USER CODE BEGIN RTOS_QUEUES */
/* add queues, ... */
/* USER CODE END RTOS_QUEUES */
}
/* USER CODE BEGIN Header_StartDefaultTask */
/**
* @brief Function implementing the defaultTask thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartDefaultTask */
void StartDefaultTask(void const * argument)
{
/* USER CODE BEGIN StartDefaultTask */
/* Infinite loop */
for(;;)
{
//HAL_GPIO_WritePin(GPIOB, LED_R_Pin|LED_G_Pin|BELL_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, BELL_Pin,GPIO_PIN_SET);
osMessagePut(myQueue02Handle,0x1,200);
HAL_Delay(200);
HAL_GPIO_WritePin(GPIOB, BELL_Pin,GPIO_PIN_RESET);
osDelay(400);
}
/* USER CODE END StartDefaultTask */
}
/* USER CODE BEGIN Header_StartTask02 */
/**
* @brief Function implementing the myTask02 thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartTask02 */
void StartTask02(void const * argument)
{
/* USER CODE BEGIN StartTask02 */
osEvent retvalue;
/* Infinite loop */
for(;;)
{
HAL_GPIO_WritePin(GPIOB, LED_G_Pin|LED_R_Pin,GPIO_PIN_SET);
//HAL_GPIO_TogglePin(GPIOB, LED_G_Pin|LED_R_Pin);
retvalue=osMessageGet(myQueue02Handle,200);
HAL_Delay(200);
HAL_GPIO_WritePin(GPIOB, LED_G_Pin|LED_R_Pin,GPIO_PIN_RESET);
osDelay(400);
}
/* USER CODE END StartTask02 */
}
/* Private application code --------------------------------------------------*/
/* USER CODE BEGIN Application */
/* USER CODE END Application */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
-
FREERTOS相关配置
-
正常起来后,这个断点一直不执行,它上边的和下边的语句都能执行
|