小白跪求大神,有木有人用51玩过RC522,SDA对应的是下面程序段的NSS吗?IRQ这是什...

2019-03-24 17:17发布

//////////////////////////////////
//端口定义
/////////////////////////////////////////////////////////////////////
//MFRC522
sbit     MF522_RST  =    P2^0;                   //RC500片选
sbit     MF522_NSS  =    P2^6;                                         
sbit     MF522_SCK  =    P2^5;
sbit     MF522_SI   =    P2^4;
sbit     MF522_SO   =    P2^3;
//指示灯
sbit     LED_GREEN  =    P0^0;     
/////////////////////////////////////////////////////////////////////
//函数原型
/////////////////////////////////////////////////////////////////////
void InitializeSystem();                                   
#define BAUD_115200             256 - (OSC_FREQ/192L)/115200L   // 255
#define BAUD_57600              256 - (OSC_FREQ/192L)/57600L    // 254
#define BAUD_38400              256 - (OSC_FREQ/192L)/38400L    // 253
#define BAUD_28800              256 - (OSC_FREQ/192L)/28800L    // 252
#define BAUD_19200              256 - (OSC_FREQ/192L)/19200L    // 250
#define BAUD_14400              256 - (OSC_FREQ/192L)/14400L    // 248
#define BAUD_9600               256 - (OSC_FREQ/192L)/9600L     // 244                                   
#define OSC_FREQ                22118400L
//#define  OSC_FREQ        7372800L
#define OSC_FREQ          22118400L
#define  RCAP2_50us      65536L - OSC_FREQ/40417L
#define  RCAP2_1ms       65536L - OSC_FREQ/2000L
#define  RCAP2_10ms      65536L - OSC_FREQ/1200L
#define  TIME0_500us     65536L - OSC_FREQ/8000L
#define  TIME0_10ms      65536L - OSC_FREQ/200

#define CALL_isr_UART()         TI = 1
#define TRUE 1
#define FALSE 0



硬件上我是这样接的:SDA接P2.6,IRQ接P2.2,RST,SCK,MOSI,MISO接法如以上程序段。
程序是别人写过的成功过的,现在的问题是串口助手读不到数据,怀疑接口接错了。

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
wojiaomt
2019-03-25 03:36
SDA就是NSS引脚。
检查系统时钟频率是否跟代码一致,检查串口波特率和接线。
之后先仿真跟踪看看与522的通信是否正常,正常后再去检查串口那部分是否有问题。

一周热门 更多>