欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HAL库实践记录之SPI与RC522

程序员文章站 2022-07-12 14:32:05
...

HAL库SPI2与RC522通信

实验板是原子mini板

先按需求简单配置一下SPI2,再选两个GPIO与RC522另外两个引脚连接。

HAL库实践记录之SPI与RC522

预分频设置波特率这里要注意,波特率不能太高,具体最高支持多少自己实验就好。(找了一上午的故障原因)

生成代码。RC522使用5个引脚进行连接。

硬件连接说明:
*RCC522 <----->MINISTM32
*
*1--SDA <----->PA3
*2--RST <----->PA4
*3--SCK <----->PA5
*4--MOSI<----->PA7
*5--MISO<----->PA6

使用库函数

HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size,
                                          uint32_t Timeout);

我是用第三个HAL_SPI_TransmitReceive(&hspi2, &Byte, &pRxData, 1,2000);作为与RC522固件的接口。