STM32F4 SPI通訊自發自收使用經驗

2021-06-18 02:55:32 字數 1600 閱讀 2433

本週調了一周的spi通訊,今日有了一些進展,通過自發自收實現了方案的驗證。

spi的配置函式如下

void spi_config(void)

spi.h 的標頭檔案的巨集定義

/* spix communication boards inte***ce */

#define spix spi2

#define spix_clk rcc_apb1periph_spi2

#define spix_clk_init rcc_apb1periphclockcmd

#define spix_irqn spi2_irqn

#define spix_irqhandler spi2_irqhandler

#define spix_sck_pin gpio_pin_1

#define spix_sck_gpio_port gpioi

#define spix_sck_gpio_clk rcc_ahb1periph_gpioi

#define spix_sck_source gpio_pinsource1

#define spix_sck_af gpio_af_spi2

#define spix_miso_pin gpio_pin_2

#define spix_miso_gpio_port gpioi

#define spix_miso_gpio_clk rcc_ahb1periph_gpioi

#define spix_miso_source gpio_pinsource2

#define spix_miso_af gpio_af_spi2

#define spix_mosi_pin gpio_pin_3

#define spix_mosi_gpio_port gpioi

#define spix_mosi_gpio_clk rcc_ahb1periph_gpioi

#define spix_mosi_source gpio_pinsource3

#define spix_mosi_af gpio_af_spi2

#define txbuffersize (countof(txbuffer) - 1)

#define rxbuffersize txbuffersize

注意

兩個地方:

spi2的引腳如果被其他引腳復用,應關閉其相關裝置。

miso和mosi兩個引腳要關閉。

不建議開啟spi的接收中斷。

STM32F407 SPI通訊介面

spi,是一種高速的,全雙工,同步的通訊匯流排,並且在晶元的管腳上只占用四根線,節約了晶元的管腳,同時為pcb的布局上節省空間,提供方便,主要應用在 eeprom,flash,實時時鐘,ad轉換器,還有數字訊號處理器和數碼訊號解碼器之間。spi介面一般使用4條線通訊 主機和從機都有乙個序列移位暫存器...

STM32F4學習(五) SPI和IIC

i2c 晶元間 匯流排介面連線微控制器和序列i2c匯流排。它提供多主機功能,控制所有i2c匯流排特定的時序 協議 仲裁和定時。支援標準和快速兩種模式,stm32的i2c可以使用dma方式操作。這裡是用stm32與eeprom的通訊,具體步驟如下 1 配置i o埠,確定並配置i2c的模式,使能gpio...

STM32之間SPI通訊

這幾天實驗室比較忙,所以部落格這邊停了一下,繼續吧。繼串列埠中斷後,大家可以嘗試微控制器間串列埠通訊,這裡就不再多贅述。串列埠完了之後,我接著學的就是spi通訊了,作為hello moto公司推出的這種4線全雙工通訊,很節約pcb布局空間,但缺點就是沒有指定的流控制,沒有應答機制來確定訊號收到與否,...