본 단행본은 inflearn에 있는 ChrisP 강사님의 "HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌"를 정리한 글입니다.
강좌 바로 보기 >> https://www.inflearn.com/course/stm32f4/dashboard
[무료] HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌 - 인프런 | 강의
고성능 마이크로컨트롤러인 STM32F 시리즈를 처음 접하는 분들이 쉽게 시작할 수 있도록 무료 컴파일러 TrueSTUDIO 및 코드자동생성 프로그램 CubeMX 설치부터 칩 기능의 개념설명, 소스코드작성(HAL
www.inflearn.com
자세한 설명은 강의에서 볼 수 있습니다. 여기서는 간단히만 짚고 넘아가겠습니다.
- 회로도
없음
- CubeMX 설정
SDIO -> SD 4 bits Wide bus
SDIO 에서는...
DMA Settings -> Add -> SDIO_RX, SDIO_TX
NVIC Settings -> SDIO global interrupt 활성화
MiddleWare -> FATFS -> SD Card
FATFS 에서는...
Set Defines -> USE_LFN -> Enabled with static working buffer on the BSS
Advanced Settings -> Use DMA Template -> Enabled (DMA 사용시만 활성화)
Platform Settings -> Detect_SDIO -> PC7
- 소스코드
CLCD_GPIO_Init();
CLCD_Init();
CLCD_Clear();
uint8_t str[20];
BYTE buf[32] = "Hello world"; // file copy buffer
uint32_t bw, br;
/************* 1. FS관련 초기화("0:/"드라이브 할당) ***********/
if((retSD = f_mount(&SDFatFS, &SDPath[0], 1)) == FR_OK)
{
sprintf(str, "f_mount OK %d", retSD); //ff.h에 정의되어있음.
CLCD_Puts(0, 0, str);
}
else
{
sprintf(str, "f_mount failed %d", retSD); //ff.h에 정의되어있음.
CLCD_Puts(0, 0, str);
}
/*****************************************************/
// /************** 2. 파일 생성 및 쓰기 **********************/
// if((retSD = f_open(&SDFile, "0:/M-HIVE.txt", FA_CREATE_NEW | FA_WRITE)) == FR_OK)
// {
// sprintf(buf, "Hello world");
// f_write(&SDFile, buf, sizeof(buf), &bw);
//
// sprintf(str, "%d bytes", bw);
// CLCD_Puts(0, 0, str);
//
// f_close(&SDFile);
// }
// else
// {
// sprintf(str, "error %d\n", retSD);
// CLCD_Puts(0, 0, str);
// }
// /**************************************************/
/****************** 3. 파일 열고 읽기 *******************/
if((retSD = f_open(&SDFile, "0:/ChrisP.txt", FA_OPEN_EXISTING | FA_READ)) == FR_OK)
{
CLCD_Clear();
f_read(&SDFile, buf, 32, &br);
sprintf(str, "%s", buf);
CLCD_Puts(0, 0, str);
sprintf(str, "%d bytes", br);
CLCD_Puts(0, 1, str);
}
else
{
sprintf(str, "open error %d\n", retSD);
CLCD_Puts(0, 0, str);
}
/*************************************************/
'Develop Knowledge > STM32F4 by ChrisP' 카테고리의 다른 글
12강. ETH, 13강. CAN 통신, 글의 끝 (0) | 2023.02.05 |
---|---|
10강. SPI 통신 (VS1003 음성코덱) (0) | 2023.02.04 |
9강. I2C 통신 (0) | 2023.02.03 |
8강. DAC (0) | 2023.02.03 |
7강. ADC with DMA (0) | 2023.02.03 |