📄 main.c
字号:
#include "config.h"
void board_init()
{
DDRA = 0xFF;
PORTA = 0x00;
DDRC = 0xFF;
PORTC = 0x00;
DDRG = 0xFF;
PORTG = _BV(0) | _BV(1) | _BV(3) | _BV(4);
DDRB = 0b00000111;
PORTB |= _BV(0);
DDRD = 0b11011011;
PORTD = _BV(7) | _BV(6) | _BV(3);
PORTD &= ~(_BV(4)); // 16bit mode
DDRE = 0b01110010;
PORTE = _BV(4) | _BV(5) | _BV(6);
DDRF = 0b11111100;
PORTF |= _BV(7);
}
int main()
{
struct sdraw_info info;
board_init();
UART_init();
UART_puts("\n\n186 App SD/MMC Test\n\n");
SPI_init();
if (!sdraw_init())
{
UART_puts("\nSD/MMC Init Error\n");
}
UART_puts("SD/MMC Init SUCCESS!!!\n");
if (!sdraw_get_info(&info))
{
UART_puts("ERROR : UNABLE TO GET SD/MMC INFO\n");
return 0;
};
UART_puts("\nAcquiring SD/MMC Info...\n");
UART_puts("\nMANUFACTURER NUMBER : "); UART_put_hex(info.manufacturer);
UART_puts("\nOEM : "); UART_puts(info.oem);
UART_puts("\nPRUDUCT NAME : "); UART_puts(info.product);
UART_puts("\nPRODUCT REVISION : "); UART_put_hex(info.revision);
UART_puts("\nPRODUCT S/N : 0x"); UART_put_hex(info.serial >> 24); UART_put_hex(info.serial >> 16);
UART_put_hex(info.serial >> 8); UART_put_hex(info.serial);
UART_puts("\nMANUFACTURING DATE : "); UART_put_hex(info.manufacturing_year); UART_put_hex(info.manufacturing_month);
UART_puts("\nCARD MEMORY SIZE : 0x"); UART_put_hex(info.capacity >> 24); UART_put_hex(info.capacity >> 16);
UART_put_hex(info.capacity >> 8); UART_put_hex(info.capacity);
UART_puts("\nFLAG COPY : "); UART_put_hex(info.flag_copy);
UART_puts("\nWRITE PROTECTED : "); UART_put_hex(info.flag_write_protect);
UART_puts("\nCARD FORMAT : "); UART_put_hex(info.format);
UART_puts("\n\nPress RESET key to restart...\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -