最近在瑞萨RA6M4开发板上使用RTT官方RC522软件包时进行测试代码的运行,但是只是打印了提示信息,没有显示卡片的读取数据。
#include "mfrc522.h"
#include <drv_spi.h>
static struct rt_spi_device mfrc522_spi_dev;
static int rt_hw_spi_rc522_init()
{
rt_err_t res = RT_EOK;
rt_hw_spi_device_attach(&mfrc522_spi_dev, MFRC522_SPI_DEVICE_NAME, MFRC522_SPI_BUS_NAME, MFRC522_SS_PIN);
struct rt_spi_device *spi_dev = (struct rt_spi_device *)rt_device_find(MFRC522_SPI_DEVICE_NAME);
// Set device SPI Mode
struct rt_spi_configuration cfg = {0};
cfg.data_width = 8;
cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB | RT_SPI_NO_CS;
cfg.max_hz = MFRC522_SPICLOCK;
rt_spi_configure(spi_dev, &cfg);
rt_kprintf("rt_hw_spi_rc522_init successed...\n");
return RT_EOK;
}
INIT_COMPONENT_EXPORT(rt_hw_spi_rc522_init);
//MSH_CMD_EXPORT(rt_hw_spi_rc522_init,rt_hw_spi_rc522_init);
那这个我需要怎么排查呢
@Yifang
主要就是drv_spi.c里面的几个函数,特别是transfer和config,调试下,看看上层分别如何操作的,以及返回值是什么。
我这边应该设备初始化没问题,而且IC卡贴到RC522模块上也发出了信号,但是只是打印的Debug信息

@RTT_逍遥