1个不稳定版本
0.1.0 | 2020年8月16日 |
---|
#706 在 嵌入式开发
用于 mci-atsamd51
135KB
4K SLoC
MCI
描述
多媒体卡接口。MCI支持SD、MMC和SDIO卡。这个crate实现了SDIO、MMC和SD协议。不依赖std,适用于嵌入式使用。
从哪里开始
ATSAMD51的示例
pub fn mci() {
use mci::mci_card::MciCard;
use mci_atsamd51::AtsamdMci;
let mut device: hal::pac::Peripherals = c.device;
let mci = AtsamdMci::new(device.SDHC0);
let mut pins = hal::Pins::new(device.PORT);
// Write protect pin
let mut wp = pins.wp.into_pull_up_input(&mut pins.port);
// Card detect pin
let mut detect = pins.detect.into_pull_up_input(&mut pins.port);
let card = MciCard::new(
mci,
wp, true, // Write protect pin must be pulled high in order to be protected
detect, true, // Detect pin must be pulled high in order to signal a card to be detected
0 // Slot 0. ATSAMD51 can only support 1 slot in anyway
);
}
对于ATSAMD51,请记住使用目标 thumbv7em-none-eabihf
编译
文件夹结构
mci/
提供并实现SD/MMC/SDIO协议的crate
文件夹 | 描述 |
---|---|
command_arguments | 为要发送到卡的命令创建参数 |
command_arguments/mmc | MMC特定命令参数 |
command_arguments/sd | SD特定命令参数 |
command_arguments/sdio / SDIO特定命令参数 | |
functions | 根据卡类型在MciCard结构上实现的功能 |
registers | 描述命令和/或寄存器的返回值 |
registers/sd | SD特定寄存器 |
registers/sdio | SDIO特定寄存器 |
sd | SD特定枚举 |
mci-atsamd51
为ATSAMD51设备实现MCI接口的crate
文档和规范
依赖项
~115KB