自制电子相机(4)-FreeRTOS的使用
如何在这个项目中使用 FreeRTOS?
逻辑图
我们知道,如果要使用 FreeRTOS,我们需要先创建一个任务,然后在任务中创建其他任务,这些任务之间通过消息传递进行通信。
所以,我们首先需要知道我们需要创建哪些任务,以及它们之间的关系。
首先,我们在从 boot 进入系统之后应该直接进入了 实时查看模式 了。其实也就是照片拍摄模式,在这个模式下,我们可以进行拍摄照片。
同时我们需要一个按键作为一个模式的选择按键,虽然初始的模式就是照片拍摄模式,但是我们还有一个查看模式,这个模式可以用来查看之前拍摄的照片和视频。
所以,在 拍摄模式 的时候我们应该有一个按键是用来 拍摄 的,有一个按键是用来 切换模式 的。还有一个 旋钮 是用来对于拍摄模式中的子模式的选择。
总的来说可以看作如下图所示:
任务创建
初步确定了上面的这些模式,我们就可以开始创建任务了。
首先,我们需要创建一个任务用来处理按键的输入,这个任务的作用就是监听按键的输入,并且根据所处的模式的不同,对于不同的按键进行监听。
然后,我们应该需要一个模式管理任务,这个任务的作用就是根据按键的输入切换不同的模式。
根据不同的模式,我们还需要创建两个任务:
第一个任务是用来处理拍摄模式下的拍摄功能,这个任务应该在拍摄模式下运行,并且应该在按下拍摄按键的时候进行拍摄。
第二个任务是用来处理查看模式下的查看功能,这个任务应该在查看模式下运行,并且应该在按下查看按键的时候进行查看。
所以,总结如下:
所以,我们一共需要创建四个任务。
各个任务流程分析
由于不同的任务的功能不一,流程也应该是不同的。下面我们需要对于这四个任务进行分析。
输入处理任务
模式管理任务
拍摄任务
查看任务
FreeRTOS 的使用
通过上面对于任务的分析之后,我们可以来确定 FreeRTOS 的使用了。
1 |
|
自制电子相机(4)-FreeRTOS的使用
https://ysc2.github.io/ysc2.github.io/2024/09/01/自制电子相机(4)-FreeRTOS的使用/