我想使我的项目的引脚布局可配置和提取到一个单独的模块所有引脚数定义。
我不能擦除所有引脚,因为我仍然想利用embedded-hal的自动引脚检查,例如在设置SPI/定时器引脚时。
到目前为止,我已经想出了:
# in hardware_config.rs
pub struct AllGpio {
pub a: hal::gpio::gpioa::Parts,
pub b: hal::gpio::gpiob::Parts,
pub c: hal::gpio::gpioc::Parts,
}
#[macro_export]
macro_rules! display_rst_pin {
($gpio:ident) => {
$gpio.a.pa11
};
}
#[macro_export]
macro_rules! display_sclk_pin {
($gpio:ident) => {
$gpio.a.pa5
};
}
<...more>
个字符
但是这里的宏定义非常冗长,有没有更简洁的方法来做到这一点?
1条答案
按热度按时间w8rqjzmb1#
我最终使用了这个元宏:
字符串