ST25R3911B SDK移植

简介

去官网下载SDK。

SDK下载地址:https://www.st.com/zh/embedded-software/stsw-st25rfal001.license=1659346758448.product=STSW-ST25RFAL001.version=2.6.0.html#st_all-features_sec-nav-tab

在这里插入图片描述
也可以从我这下载SDK
https://download.csdn.net/download/qq_32348883/86296816

步骤

SDK默认NFC为SPI2接口【注意不是MX默认的SPI2需要自己修改!!】

在platform.h中设置st25r3911的ss脚和int中断脚

#define ST25R391X_SS_PIN            GPIO_PIN_4         /*!< GPIO pin used for ST25R3911 SPI SS                */ 
#define ST25R391X_SS_PORT           GPIOA   /*!< GPIO port used for ST25R3911 SPI SS port          */ 

#define ST25R391X_INT_PIN           GPIO_PIN_1        /*!< GPIO pin used for ST25R3911 External Interrupt    */
#define ST25R391X_INT_PORT          GPIOB  /*!< GPIO port used for ST25R3911 External Interrupt   */

中断脚配置如下
在这里插入图片描述

在platform.h中,设置好SPI的收发函数

#define platformSpiTxRx( txBuf, rxBuf, len )          spiTxRx( (txBuf), (rxBuf), (len) )            /*!< SPI transceive                              */

在platform.h中,设置好延时函数

#define platformGetSysTick()                          LL_GetTick()                                /*!< Get System Tick ( 1 tick = 1 ms)            */

其中的SPI函数定义如下

#include "string.h"

#define SPI_TIMEOUT   1000
#define SPI_BUF_LEN   97

static uint8_t   txBuf[SPI_BUF_LEN];
static uint8_t   rxBuf[SPI_BUF_LEN];

HAL_StatusTypeDef spiTxRx(const uint8_t *txData, uint8_t *rxData, uint16_t length)
{  
  
  if(length > SPI_BUF_LEN)
  {
    return HAL_ERROR;
  }
  
  /* Initialize Tx data*/
  if(txData != NULL)
  {
    memcpy(txBuf, txData, length );
  }
  else
  {
    memset(txBuf, 0x00, length );
  }

  return HAL_SPI_TransmitReceive(&hspi1, txBuf, (rxData != NULL) ? rxData : rxBuf, length, SPI_TIMEOUT);
}

配置如下
在这里插入图片描述

三 文件工程构建

提取文件ndef_demo.c

在这里插入图片描述

提取文件demo.h

在这里插入图片描述

提取一下文件

在这里插入图片描述

接口文件添加

在这里插入图片描述

驱动配置文件

在这里插入图片描述

相关宏头文件添加

在这里插入图片描述

四、外部中断函数添加SDK中断中的st25r3911Isr()函数

void EXTI0_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI0_IRQn 0 */

  /* USER CODE END EXTI0_IRQn 0 */

  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);

  /* USER CODE BEGIN EXTI0_IRQn 1 */
  st25r3911Isr();
  /* USER CODE END EXTI0_IRQn 1 */
}

移植完结构如下
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路过的小熊~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值