我在 GCC 中使用 stm32f103 并且有一个任务,可以用以下伪代码来描述:
void http_server() {
transmit(data, len);
event = waitfor(data_sent_event | disconnect_event | send_timeout_event);
}
void tcp_interrupt() {
if (int_reg & DATA_SENT) {
emit(data_send_event);
}
}
void main.c() {
run_task(http_server);
}
我知道,所有的嵌入式操作系统都提供了这样的功能,但是它们对于这个单一的任务来说太大了。我不需要抢占、互斥锁、队列和其他功能。只是在辅助任务中等待标志并在中断中提高这些标志。希望有人知道关于这个主题的好教程,或者有一段上下文切换和等待实现的代码。