2017-02-19 14 views
3

stm32l0 보드로 작업하기 시작했으며 더 재미있는 기능을 사용할 때까지는 문제가 없습니다. 나는 창문 밖으로 SD 카드를 읽지 못했고, 핀 링크를 발견하고 우리의 prject (나는 생각한다)에 적합한 솔루션이 될 수있는 SPI에 대해 읽기 시작했다.STM32 및 SD 카드 (FATFS 및 SPI)

하지만 문제는 프로그래밍 부분에서 건너 뛸 수있는 모든 자습서입니다. STM32CubeMX를 사용하여 HAL 및 FATFS 코드를 생성하지만 초기화하고 내 SD 카드를 사용하는 방법을 모르겠습니다. 내가 찾은 코드를 붙여 넣으려고하지만 그 다음에는 디버깅 할 수 없으며 다른 사람의 코드를 붙여 넣기 만하면됩니다.

덕분에 내 문법 죄송합니다,

편집 : 는이 게시물 이후에 여기에 온 : link 지금은 stm32l0 컨트롤러와 SD 카드에 액세스하는 데 노력하고있어. 필자는 FATFS를 사용하여 장치를 읽도록 권고 받았지만, 라이브러리가 데이터에 액세스하는 방법 (SPI)이 필요하다는 것을 이해했습니다. STM32CubeMX에서 FATFS와 SPI2를 선택하고 이클립스에서 프로젝트를 가져 왔습니다. (HAL과 SW4STM32를 사용하고 있습니다). 핀 설명에서 핀 12, PB13, PB14에있는 CubeMX의 MISO, CK, MOSI를 보았습니다. 그러나 주 파일에서 이러한 핀은 사용되지 않습니다.
또 다른 것은 내가 언급 한 게시물에서 나를 칭찬했다. SD 카드는 들어 본 적이없는 방식으로 초기화되어야한다.
SPI_Init 및 GPIO_Init 함수가 필요한지 잘 모르겠습니다. 필요한 경우이 메시지를 편집합니다.
게시물이 너무 혼란 스럽기 때문에 아침에 편집 할 것입니다. 내 뇌가 타오르다. 미안합니다. 정확성이 필요한지 물어보십시오. 감사합니다.

+0

스택 오버플로에 오신 것을 환영합니다! Stack overflow에 대해 책, 도구, 소프트웨어 라이브러리, 튜토리얼 또는 기타 오프 사이트 리소스를 추천하거나 찾도록 요청하는 질문은 논쟁의 여지가있는 답변 및 스팸을 유치하기 쉽습니다. 대신, [문제 설명] (http://meta.stackoverflow.com/questions/254393) 및 지금까지 해결 된 사항은 무엇입니까? –

+0

죄송합니다. 몰랐습니다. 나는 여기에 비슷한 문제를 발견했기 때문에 나는 여기에 올렸지 만 저자는 그가 붙어 있기 전에 나를 도울 많은 것들을 할 수 있었던 것처럼 보였다. 나는 주제를 찾아서 그 직후에 게시 할 것이다! – Blaitox

답변

2

CubeMx를 사용하고 SPI를 구성하여 SD 카드에 액세스하는 경우, 핀이 자동으로 코드에 구성됩니다. 생성 된 main.c의 처음 몇 가지 함수의 정의/구현을 살펴보십시오.

STM32 및 해당 HAL 드라이버에 익숙하지 않은 경우 먼저 스택 방식을 이해해야합니다.

가장 빠른 방법은 예제를 시도하는 것입니다.

귀하의 모든 CubeMx 펌웨어 라이브러리

C에 있습니다 :/사용자/사용자 이름/STM32Cube/저장소/STM32Cube_FW_XX

이동 프로젝트> 예 폴더 (정확하지 않을 수 있습니다 -하지만 경로가 비슷) 및 예제를 찾을 수 있습니다.

+0

무슨 뜻입니까? "hspi.Instance = SPI2;" 자동으로 버스에 맞는 핀을 설정합니까? – Blaitox

+0

큐브로 이동하는 경우, 핀 배열 탭에서 SPI 주변 장치를 활성화하여 패키지보기에 자동으로 할당 된 GPIO를 확인하십시오. 코드를 생성 할 때 MX_XXXX 메소드는 핀과 주변 장치를 구성합니다. – SamR

+0

감사합니다! 내가 준 폴더에서 SPI 예제를 읽었고 바이트를 보내는 방법을 이해했습니다. 하지만 전체 프로세스를 직접 초기화해야하는지 아니면 FatFs f_mount 함수로 완료해야하는지 알고 있습니까? 나는 "마운트"단어에 익숙하지 않아서 얼마나 멀리 나아갈 지 모르겠다.그리고이 경우 내 카드에는 어떤 이름이 있습니까? 때때로 "0"또는 때로는 "SD"를 읽습니다. 아니면 74 클럭 사이클을 보낸 다음 바이트를 읽고 f_mount를 사용해야합니까? – Blaitox