stm32f spi 예제

태그: 16bit16bit spi6spiabpahpb1apb2microcontrollersserial 주변 인터페이스spistm32f4STM32F4 디스커버리32f429디스커버리stm32f4디스커버리 프로그래밍은 아두이노 코드와 유사하다. 동일한 라이브러리는 STM32F103C8 프로그래밍에 사용됩니다. 그것은 아두 이노 IDE와 STM32 프로그래밍에 대한 자세한 내용은 링크를 따라, FTDI 프로그래머를 사용하지 않고 USB 포트를 사용하여 프로그래밍 할 수 있습니다. 나는 당신이 실제 하드웨어와 많은 SPI 장치의 부족으로 인해 작업을 보여 줄거야, 나는 내가 가진 무엇이든으로 작동하고 그 ADXL345입니다. 나는 이미 I2C와 함께이 장치를 사용하는 방법에 대한 자습서를 썼다. 레지스터 부분을 설명하지 않고 SPI를 사용하여 데이터를 읽고 쓰는 방법에만 초점을 맞추기 때문에 체크 아웃하십시오. 이전 자습서에서는 두 개의 Arduino 보드 간의 SPI 및 I2C 통신에 대해 배웠습니다. 이 튜토리얼에서 우리는 STM32F103C8이며, SPI 버스를 사용하여 아두 이노 보드와 통신 할 블루 필 보드하나의 아두 이노 보드를 대체합니다. 아두 이노와 STM32F103C8 블루 필 보드에서 SPI 버스를 비교, STM32는 아두 이노 우노 하나의 SPI 버스가있는 동안 그것에 2 SPI 버스가 있습니다. Arduino Uno에는 ATMEGA328 마이크로 컨트롤러가 있으며 STM32F103C8에는 ARM Cortex-M3가 있어 아루디노 보드보다 빠릅니다. 나는 STM32와 I2C 장치를 인터페이싱에 대한 많은 게시물을 작성했지만, SD 카드 리더, TFT 디스플레이 등 과 같은 작동만 SPI를 필요로하는 몇 가지 장치가 있습니다. 그래서 오늘이 게시물에서, 우리는 STM32와 SPI를 사용하는 방법을 배울 것입니다. 이 함수는 SPIx를 통해 8비트 데이터를 전송합니다.

SPI전송이 완료되면 8비트 수신된 데이터가 반환됩니다. 데이터[0]에서 주소는 0x40입니다. 이것은 멀티 바이트 쓰기를위한 것입니다. ADXL은 단일 전송에서 두 개 이상의 바이트를 전송할 것을 알려줍니다. ADXL 데이터 시트에 따르면 이 바이트는 높게 수행하려면 높아야 합니다. 액정 액정(rs, en, d4, d5, d6, d7); LCD 및 그 매개 변수를 설정하면 AD7705를 사용할 수 있으며 SPI를 사용하여 MCU로 통신할 수도 있지만 AD7705를 사용하는 경우 매개 변수 SPI를 수정해야 합니다. 더 많은 슬레이브가 동일한 SPI 주변 기기의 한 마스터에 연결할 수 있기 때문에 SS. SPI 핀 이름이라는 4번째 핀이 있습니다: 다양한 ADXL375를 프로그래밍하기 때문에 SPI를 사용하고 있으므로 시작하기 전에 최소한 한 곳에서 측정값을 수집할 수 있기를 원합니다. 에서 VISUAL Studio 및 VisualGDB 설치: SPI를 사용하지 마십시오. 먼저 I2C를 사용하여 I2C를 사용하여 시도 I2C를 사용하여 자습서를 작성했습니다.

당신은 웹 사이트 자체를 wihtin 을 검색 할 수 있습니다. 따라서 CubeMx 를 설정하기 전에 ADXL345의 데이터시트를 확인하여 SPI에 대한 요구 사항을 이해해 보겠습니다. 이 STM32 SPI 예제에서는 Arduino UNO를 슬레이브로 사용하고 STM32F103C8을 마스터로 사용하고 두 개의 16X2 LCD 디스플레이가 서로 별도로 연결됩니다. 두 개의 전위계는 또한 STM32(PA0) 및 Arduino(A0)와 연결되어 전위차계를 변화시켜 마스터에서 슬레이브및 슬레이브로의 송신 값(0~255)을 결정합니다.