⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sd_raw_config.h

📁 This project provides a general purpose library which implements read and write support for MMC, SD
💻 H
字号:
/* * Copyright (c) 2006-2009 by Roland Riegel <feedback@roland-riegel.de> * * This file is free software; you can redistribute it and/or modify * it under the terms of either the GNU General Public License version 2 * or the GNU Lesser General Public License version 2.1, both as * published by the Free Software Foundation. */#ifndef SD_RAW_CONFIG_H#define SD_RAW_CONFIG_H#include <stdint.h>#ifdef __cplusplusextern "C"{#endif/** * \addtogroup sd_raw * * @{ *//** * \file * MMC/SD support configuration (license: GPLv2 or LGPLv2.1) *//** * \ingroup sd_raw_config * Controls MMC/SD write support. * * Set to 1 to enable MMC/SD write support, set to 0 to disable it. */#define SD_RAW_WRITE_SUPPORT 1/** * \ingroup sd_raw_config * Controls MMC/SD write buffering. * * Set to 1 to buffer write accesses, set to 0 to disable it. * * \note This option has no effect when SD_RAW_WRITE_SUPPORT is 0. */#define SD_RAW_WRITE_BUFFERING 1/** * \ingroup sd_raw_config * Controls MMC/SD access buffering. *  * Set to 1 to save static RAM, but be aware that you will * lose performance. * * \note When SD_RAW_WRITE_SUPPORT is 1, SD_RAW_SAVE_RAM will *       be reset to 0. */#define SD_RAW_SAVE_RAM 1/** * \ingroup sd_raw_config * Controls support for SDHC cards. * * Set to 1 to support so-called SDHC memory cards, i.e. SD * cards with more than 2 gigabytes of memory. */#define SD_RAW_SDHC 0/** * @} *//* defines for customisation of sd/mmc port access */#if defined(__AVR_ATmega8__) || \    defined(__AVR_ATmega48__) || \    defined(__AVR_ATmega88__) || \    defined(__AVR_ATmega168__) || \    defined(__AVR_ATmega328__)    #define configure_pin_mosi() DDRB |= (1 << DDB3)    #define configure_pin_sck() DDRB |= (1 << DDB5)    #define configure_pin_ss() DDRB |= (1 << DDB2)    #define configure_pin_miso() DDRB &= ~(1 << DDB4)    #define select_card() PORTB &= ~(1 << PB2)    #define unselect_card() PORTB |= (1 << PB2)#elif defined(__AVR_ATmega16__) || \      defined(__AVR_ATmega32__)    #define configure_pin_mosi() DDRB |= (1 << DDB5)    #define configure_pin_sck() DDRB |= (1 << DDB7)    #define configure_pin_ss() DDRB |= (1 << DDB4)    #define configure_pin_miso() DDRB &= ~(1 << DDB6)    #define select_card() PORTB &= ~(1 << PB4)    #define unselect_card() PORTB |= (1 << PB4)#elif defined(__AVR_ATmega64__) || \      defined(__AVR_ATmega128__) || \      defined(__AVR_ATmega169__)    #define configure_pin_mosi() DDRB |= (1 << DDB2)    #define configure_pin_sck() DDRB |= (1 << DDB1)    #define configure_pin_ss() DDRB |= (1 << DDB0)    #define configure_pin_miso() DDRB &= ~(1 << DDB3)    #define select_card() PORTB &= ~(1 << PB0)    #define unselect_card() PORTB |= (1 << PB0)#else    #error "no sd/mmc pin mapping available!"#endif#define configure_pin_available() DDRC &= ~(1 << DDC4)#define configure_pin_locked() DDRC &= ~(1 << DDC5)#define get_pin_available() ((PINC >> PC4) & 0x01)#define get_pin_locked() ((PINC >> PC5) & 0x01)#if SD_RAW_SDHC    typedef uint64_t offset_t;#else    typedef uint32_t offset_t;#endif/* configuration checks */#if SD_RAW_WRITE_SUPPORT#undef SD_RAW_SAVE_RAM#define SD_RAW_SAVE_RAM 0#else#undef SD_RAW_WRITE_BUFFERING#define SD_RAW_WRITE_BUFFERING 0#endif#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -