就说一个简单但是很常见的情况,USART或SPI,通过DMA发送大量数据时,启动DMA后是否死循环傻等传输完成?DMA启动前发现上次传输还没完,是不是傻等着传完?
CPU负担不高时,傻等问题也不大,裸机也可以用状态机解决,就是写起来麻烦些。
用RTOS就不是问题了,虽然也是等,但不用傻等了,OS会切出去干别的。程序流程还是照常写,也不用折腾状态机什么的了。