本週調了一周的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布局空間,但缺點就是沒有指定的流控制,沒有應答機制來確定訊號收到與否,...