@@ -19,14 +19,18 @@ void sch_task_init(sch_task_t* task);
1919void echo_task_dispatch (sch_task_t * task );
2020void echo_task_init (sch_task_t * task );
2121
22+ /*--External objects-----------------------------------------------------------*/
23+
24+ extern volatile uint8_t sch_context_change_interrupt_check ;
25+
2226int main (void )
2327{
2428 HAL_Init ();
2529 SystemClock_Config ();
2630 MX_GPIO_Init ();
2731 MX_USART2_UART_Init ();
2832
29- sch_task_t first_task ;
33+ /* sch_task_t first_task;
3034 sch_task_t second_task;
3135 sch_task_t echo_data;
3236 sch_task_t another_system_task;
@@ -37,16 +41,29 @@ int main(void)
3741 sch_task_create(&second_task, 3, 0, sch_task_dispatch, sch_task_init);
3842 sch_task_activate(&second_task);
3943
40- sch_task_create (& another_system_task , 2 , 0 , sch_task_dispatch , sch_task_init );
41- sch_task_activate (& second_task );
44+ sch_task_create(&another_system_task, 4 , 0, sch_task_dispatch, sch_task_init);
45+ sch_task_activate(&another_system_task );
4246
4347 sch_task_create(&echo_data, -4, 3, echo_task_dispatch, echo_task_init);
4448 sch_task_activate(&echo_data);
45- sch_task_run (& echo_data , NULL );
49+ sch_task_run(&echo_data, NULL);*/
50+
51+ /*char buf[40] = {0};
52+ snprintf(buf, sizeof(buf), "%d\r\n", sch_find_most_significant_task(sch_preempt_tasks_ready_set));
53+ HAL_UART_Transmit(&huart2, (uint8_t*)buf, strlen(buf), HAL_MAX_DELAY);*/
54+
55+ sch_context_change_interrupt_check = 1 ;
56+ sch_context_change ();
57+ if (sch_context_change_interrupt_check == 0 )
58+ {
59+ HAL_UART_Transmit (& huart2 , (uint8_t * )"sch_context_change_interrupt_check = 0" , \
60+ strlen ("sch_context_change_interrupt_check = 0" ), HAL_MAX_DELAY );
61+ } else
62+ {
63+ HAL_UART_Transmit (& huart2 , (uint8_t * )"sch_context_change_interrupt_check != 0" , \
64+ strlen ("sch_context_change_interrupt_check != 0" ), HAL_MAX_DELAY );
65+ }
4666
47- char buf [40 ] = {0 };
48- snprintf (buf , sizeof (buf ), "%d\r\n" , sch_find_most_significant_task (sch_system_tasks_ready_set ));
49- HAL_UART_Transmit (& huart2 , (uint8_t * )buf , strlen (buf ), HAL_MAX_DELAY );
5067
5168 while (1 )
5269 {
0 commit comments