mian函数 C代码的入口 初始化一些硬件后
osThreadDef(USER_Thread, StartThread, osPriorityNormal, 0, configMINIMAL_STACK_SIZE);
osThreadCreate (osThread(USER_Thread), NULL);
/* Start scheduler */
osKernelStart(NULL, NULL);
定义了一个 线程 USER_Thread 然后启动OS
注意 osThreadDef 是一个宏 定义一个用于描述 线程的结构体 并不是执行函数
宏的第二项参数 StartThread 为线程 入口函数地址。
- /* USER CODE BEGIN 4 */
- void Nucleo_072_Led(const void *par);
- /* USER CODE END 4 */
- static void StartThread(void const * argument)
- {
- /* USER CODE BEGIN 5 */
- osThreadDef(LED_Thread, Nucleo_072_Led, osPriorityNormal, 0, configMINIMAL_STACK_SIZE);
- osThreadCreate (osThread(LED_Thread), NULL);
- /* Infinite loop */
- for(;;)
- {
- osDelay(1);
- }
- /* USER CODE END 5 */
- }
至此mian函数的工作结束了 OS将转向 就绪线程并永不返回 也就是执行StartThread
修改 StartThrea函数 如下
mian函数 C代码的入口 初始化一些硬件后
osThreadDef(USER_Thread, StartThread, osPriorityNormal, 0, configMINIMAL_STACK_SIZE);
osThreadCreate (osThread(USER_Thread), NULL);
/* Start scheduler */
osKernelStart(NULL, NULL);
定义了一个 线程 USER_Thread 然后启动OS
注意 osThreadDef 是一个宏 定义一个用于描述 线程的结构体 并不是执行函数
宏的第二项参数 StartThread 为线程 入口函数地址。
- /* USER CODE BEGIN 4 */
- void Nucleo_072_Led(const void *par);
- /* USER CODE END 4 */
- static void StartThread(void const * argument)
- {
- /* USER CODE BEGIN 5 */
- osThreadDef(LED_Thread, Nucleo_072_Led, osPriorityNormal, 0, configMINIMAL_STACK_SIZE);
- osThreadCreate (osThread(LED_Thread), NULL);
- /* Infinite loop */
- for(;;)
- {
- osDelay(1);
- }
- /* USER CODE END 5 */
- }
至此mian函数的工作结束了 OS将转向 就绪线程并永不返回 也就是执行StartThread
修改 StartThrea函数 如下
举报