- 主题:Re: 一个MCU如何挂8个spi设备
我没用RTOS啊,我是根据RTOS基本原理自己拿了个时钟做任务序列,我现在大程序还是一个while(1)大循环
我不过是极限压榨核心
【 在 tom6bj 的大作中提到: 】
: 上rtos了都好办,用os提供的delay替换delay_us就行了呗
: :
: - 来自「最水木 for iPhone 8」
--
FROM 180.116.55.*
上具体代码看看?
delay不用上下文切换又不破坏原有流程的话, 我还真没想到你的好办法
【 在 dismoon (伐开心要包包) 的大作中提到: 】
: 我没用RTOS啊,我是根据RTOS基本原理自己拿了个时钟做任务序列,我现在大程序还是一个while(1)大循环
: 我不过是极限压榨核心
--
FROM 118.199.162.*
不用上代码,写个大概原理都能懂。就是机器启动的时候直接开辟固定SRAM区域给多个任务,startup里把堆拉高,然后时钟里挂一个指针变量,一旦任务有延时,就把指针给其他任务,然后延时到了指针跳回来。
不是中断跳转,是固定的,在一个函数固定的地方把资源让出来给其他函数,到了时间跳回来而已。
要中断跳转肯定要保护现场,不上RTOS我也没办法
主要是有一阵F1芯片经常没法让外部晶振起振,而我当时有个产品设计初衷是用24MHz的,结果只能用8M内部时钟,
后来一看很多外部原件特别是I2C经常要延时,索性就把延时给其他函数跑。
【 在 tom6bj 的大作中提到: 】
: 上具体代码看看?
: delay不用上下文切换又不破坏原有流程的话, 我还真没想到你的好办法
:
: ...................
--
FROM 180.116.55.*