XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Speaker Notes
- 引脚无法实现
Copy
或 Clone
,因此,每个引脚只能存在一个实例。一旦某个引脚从端口结构体移出,任何人都无法再使用它。
- 更改引脚的配置会使旧的引脚实例失效,因此您无法再继续使用旧实例。
- 值的类型表示其所处状态:例如,在本例中,表示 GPIO 引脚的配置状态。通过这种方式,可将状态机编码成类型系统,并确保在未正确完成引脚配置之前,不会尝试以某种方式使用引脚。编译时捕获了非法状态转换。
- 您可以在输入引脚上调用
is_high
,在输出引脚上调用 set_high
,反之则不行。
- 许多 HAL crate 都遵循此模式。