RC522一直寻卡不通过,程序都是帖子的,大佬们帮我看看吧!

2019-07-20 08:16发布

SPI_HandleTypeDef SPI2_Handler;
void SPI2_Init(void)
{
SPI2_Handler.Instance=SPI2;
SPI2_Handler.Init.Mode=SPI_MODE_MASTER;
SPI2_Handler.Init.Direction=SPI_DIRECTION_2LINES;
SPI2_Handler.Init.DataSize=SPI_DATASIZE_8BIT;
SPI2_Handler.Init.CLKPolarity=SPI_POLARITY_LOW;/////要改!,RC222是LOW.
SPI2_Handler.Init.CLKPhase=SPI_PHASE_1EDGE;//待定,不是改不改。视频17:13.
SPI2_Handler.Init.NSS=SPI_NSS_SOFT;//片选软件管理
SPI2_Handler.Init.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_8;//待定.或者8
SPI2_Handler.Init.FirstBit=SPI_FIRSTBIT_MSB;//待定.
SPI2_Handler.Init.TIMode=SPI_TIMODE_DISABLE;//待定.
SPI2_Handler.Init.CRCCalculation=SPI_CRCCALCULATION_DISABLE;//待定.
SPI2_Handler.Init.CRCPolynomial=7;//待定.




HAL_SPI_Init(&SPI2_Handler);
__HAL_SPI_ENABLE(&SPI2_Handler);
SPI2_ReadWriteByte(0xff);

}
void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)//回调映射函数
{
GPIO_InitTypeDef GPIO_Initure;

if(hspi->Instance==SPI2)//如果是串口1,进行串口1 MSP初始化
{
  __HAL_RCC_GPIOB_CLK_ENABLE();   //使能GPIOA时钟
  __HAL_RCC_SPI2_CLK_ENABLE();   //使能USART1时钟

  GPIO_Initure.Pin=GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;   //PB7.8.9
  GPIO_Initure.Mode=GPIO_MODE_AF_PP;  //复用推挽输出
  GPIO_Initure.Pull=GPIO_PULLUP;   //上拉
  GPIO_Initure.Speed=GPIO_SPEED_FAST;  //高速
  GPIO_Initure.Alternate=GPIO_AF5_SPI2; //复用为SPI2
  HAL_GPIO_Init(GPIOB,&GPIO_Initure);     //初始化PB7.8.9

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
JYD
1楼-- · 2019-07-20 08:17
            GPIO_InitTypeDef GPIO_Initure;          __HAL_RCC_GPIOB_CLK_ENABLE();           //使能GPIOF时钟           GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_9;            //PB0,9     GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;  //推挽输出     GPIO_Initure.Pull=GPIO_PULLUP;          //上拉     GPIO_Initure.Speed=GPIO_SPEED_FAST;     //快速              HAL_GPIO_Init(GPIOB,&GPIO_Initure);     //初始化                                   RFID_NSS=1;                 SPI2_Init();                 PcdReset();                 PcdAntennaOff();   //关闭天线                 delay_us(1);                 PcdAntennaOn();    //开启天线                                  /////////////                 /*        u8 teststate;         teststate = PcdReset();                                         ClearBitMask(Status2Reg,0x08);        WriteRawRC(ModeReg,0x3D);//3F        WriteRawRC(RxSelReg,0x86);//84        WriteRawRC(RFCfgReg,0x7F);   //4F               WriteRawRC(TReloadRegL,30);//tmoLength);// TReloadVal = 'h6a =tmoLength(dec)             WriteRawRC(TReloadRegH,0);        WriteRawRC(TModeReg,0x8D);            WriteRawRC(TPrescalerReg,0x3E); //                  teststate = ReadRawRC(TPrescalerReg);                  teststate = ReadRawRC(TModeReg);            delay_ms(5);      PcdAntennaOn();    //开启天线                          teststate = ReadRawRC(TModeReg);                           teststate = ReadRawRC(TPrescalerReg); //         MYRC522_CS = 1;          delay_ms(10);*/                 M500PcdConfigISOType( 'A' );
JYD
2楼-- · 2019-07-20 10:07
SDKRST
JYD
3楼-- · 2019-07-20 16:06
 精彩回答 2  元偷偷看……
Arya
4楼-- · 2019-07-20 17:03
M1卡还是CPU卡
JYD
5楼-- · 2019-07-20 22:35
解决了。。问题不在程序。而是我没把几个引脚焊好。这是F429的程序,我在论坛还没发现。

一周热门 更多>