Browse Source

Merge pull request 'format code' (#3) from feature/mutil_thread into master

Reviewed-on: #3
master
xzb 4 months ago
parent
commit
f64dcc208b
  1. 4
      Core/Src/main.c
  2. 10
      thead/src/thread.c

4
Core/Src/main.c

@ -58,7 +58,7 @@ void prosee1(void *data)
while(1) while(1)
{ {
__disable_irq(); __disable_irq();
printf("prosee_%d, stack_ptr:%#x\r\n", self->task_id, self->stack_ptr); printf("prosee_id:%d, stack_ptr:%#x\r\n", self->task_id, self->stack_ptr);
__enable_irq(); __enable_irq();
HAL_Delay(1000); HAL_Delay(1000);
} }
@ -70,7 +70,7 @@ void prosee2(void *data)
while(1) while(1)
{ {
__disable_irq(); __disable_irq();
printf("prosee_%d, stack_ptr:%#x\r\n", self->task_id, self->stack_ptr); printf("prosee_id:%d, stack_ptr:%#x\r\n", self->task_id, self->stack_ptr);
__enable_irq(); __enable_irq();
HAL_Delay(1000); HAL_Delay(1000);
} }

10
thead/src/thread.c

@ -4,7 +4,6 @@
#include "usart.h" #include "usart.h"
#include "thread.h" #include "thread.h"
/*** /***
next_task为下一个执行目标 next_task为下一个执行目标
***/ ***/
@ -42,12 +41,9 @@ uint8_t tcb_cunt = 0;
static uint8_t max_tcb = 0; static uint8_t max_tcb = 0;
void tcb_scheduler(void) void tcb_scheduler(void)
{ {
if(tcb_cunt >= 1) tcb_cunt = tcb_cunt % 2;
{
tcb_cunt = -1;
}
tcb_cunt++;
next_task = task[tcb_cunt]; next_task = task[tcb_cunt];
tcb_cunt++;
SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk; SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk;
__DSB(); __DSB();
__ISB(); __ISB();
@ -89,5 +85,3 @@ void init_task(tcb_t *tcb, void (*task_entry)(void *), uint8_t *start_stack, voi
next_task = tcb; next_task = tcb;
} }
} }

Loading…
Cancel
Save