Code: Select all
static const SDCConfig sdccfg = {
0
};
/*
* Application entry point.
*/
int main(void) {
uint32_t i;
BlockDeviceInfo bdi;
halInit();
chSysInit();
palSetPadMode(GPIOD, GPIOD_LED4, PAL_MODE_OUTPUT_PUSHPULL);
palSetPadMode(GPIOD, GPIOD_LED3, PAL_MODE_OUTPUT_PUSHPULL);
palSetPadMode(GPIOA, 1, PAL_MODE_OUTPUT_PUSHPULL); // SD Vdd
palSetPadMode(GPIOC, 8, PAL_STM32_ALTERNATE(12) | PAL_STM32_PUDR_PULLUP |
PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); //DAT0
palSetPadMode(GPIOC, 9, PAL_STM32_ALTERNATE(12) | PAL_STM32_PUDR_PULLUP |
PAL_STM32_OTYPE_PUSHPULL); //DAT1
palSetPadMode(GPIOC, 10, PAL_STM32_ALTERNATE(12) | PAL_STM32_PUDR_PULLUP |
PAL_STM32_OTYPE_PUSHPULL); //DAT2
palSetPadMode(GPIOC, 11,PAL_STM32_ALTERNATE(12) | PAL_STM32_PUDR_PULLUP |
PAL_STM32_OTYPE_PUSHPULL); //DAT3
palSetPadMode(GPIOC, 12,PAL_STM32_ALTERNATE(12) | PAL_STM32_OSPEED_MID2 |
PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); //CLK
palSetPadMode(GPIOD, 2, PAL_STM32_ALTERNATE(12) | PAL_STM32_PUDR_PULLUP |
PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); //CMD
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
palSetPad(GPIOA, 1);
chThdSleepMilliseconds(500);
sdcObjectInit(&SDCD1);
sdcStart(&SDCD1, &sdccfg);
sdc_lld_send_cmd_short_crc(&SDCD1, 0xAA, 0xAAAAAAAA, &i);
while (TRUE)
{
palSetPad(GPIOD, 6);
chThdSleepMicroseconds(100);
palClearPad(GPIOD, 6);
chThdSleepMicroseconds(100);
}
}
I would be grateful for any help