我想在Rust中为STM32F1xx制作"Blinky".
我可以通过地址访问STM32的"寄存器",如C中所示:
*(uint32_t*)(0x40021000 + 0x018) |= 0x10;
*(uint32_t*)(0x40011000 + 0x004) |= 0x33;
*(uint32_t*)(0x40011000 + 0x004) &= ~0xCC;
*(uint32_t*)(0x40011000 + 0x10) |= 0x300;
while(1) {}
这会将一些位写入RCC_APB2ENR
寄存器,以启用端口C的时钟,配置管脚并启用我的发现上的LED.
我需要用Rust重新编写它,生成const和fns,并开始编写漂亮的Rust代码.在 rust 迹斑斑的情况下,FFI是否可以调用C代码?我能用asm!
宏实现这一点吗?