不用上代码,写个大概原理都能懂。就是机器启动的时候直接开辟固定SRAM区域给多个任务,startup里把堆拉高,然后时钟里挂一个指针变量,一旦任务有延时,就把指针给其他任务,然后延时到了指针跳回来。
不是中断跳转,是固定的,在一个函数固定的地方把资源让出来给其他函数,到了时间跳回来而已。
要中断跳转肯定要保护现场,不上RTOS我也没办法
主要是有一阵F1芯片经常没法让外部晶振起振,而我当时有个产品设计初衷是用24MHz的,结果只能用8M内部时钟,
后来一看很多外部原件特别是I2C经常要延时,索性就把延时给其他函数跑。
【 在 tom6bj 的大作中提到: 】
: 上具体代码看看?
: delay不用上下文切换又不破坏原有流程的话, 我还真没想到你的好办法
:
: ...................
--
FROM 180.116.55.*