日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于stm32f103rct6(秉火mini板)的rc522RFID读卡例程

發布時間:2023/12/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于stm32f103rct6(秉火mini板)的rc522RFID读卡例程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主要代碼

#main.c

#include "stm32f10x.h" #include "bsp_SysTick.h" #include "bsp_usart1.h" #include "rc522_config.h" #include "rc522_function.h" #include <stdbool.h> #include "bsp_lcd.h" #include "./font/fonts.h"void IC_test ( void ) {char cStr [ 30 ];uint8_t ucArray_ID [ 4 ]; /*?èoó′?·?IC?¨μ?ààDíoíUID(IC?¨DòáDo?)*/ uint8_t ucStatusReturn; /*·μ??×′ì? */ static uint8_t ucLineCount = 0; while ( 1 ){ /*?°?¨*/if ( ( ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID ) ) != MI_OK ) /*è?ê§°ü?ù′??°?¨*/ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID ); if ( ucStatusReturn == MI_OK ){/*·à3?×2£¨μ±óD?à???¨??è??áD′?÷2ù×÷·??§ê±£?·à3?í??ú???á′ó???D????ò?????DD2ù×÷£?*/if ( PcdAnticoll ( ucArray_ID ) == MI_OK ) {sprintf ( cStr, "The Card ID is: %02X%02X%02X%02X",ucArray_ID [ 0 ],ucArray_ID [ 1 ],ucArray_ID [ 2 ],ucArray_ID [ 3 ] );printf ( "%s\r\n",cStr ); ILI9341_DispStringLine_EN(LINE(ucLineCount), cStr );ucLineCount ++;if ( ucLineCount == 10 ) ucLineCount = 0;} } } }int main ( void ) {/*μ?′eê±?ó3?ê??ˉ*/SysTick_Init (); /*USART1 ?????£ê??a 115200 8-N-1£??D???óê? */USART1_Config (); /*RC522?£?é?ùDèíaéèμ?3?ê??ˉ????*/RC522_Init (); /*LCD 3?ê??ˉ*/LCD_Init (); ILI9341_GramScan ( 6 );printf ( "RC522 Test\n" );LCD_SetFont(&Font8x16);LCD_SetColors(RED,BLACK);/* ???á£???ê?è?oú */ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); ILI9341_DispStringLine_EN(LINE(13), "please put your ic card in rc522 area" );LCD_SetTextColor(BLUE);PcdReset ();/*éè??1¤×÷·?ê?*/M500PcdConfigISOType ( 'A' );while ( 1 ){/*IC?¨?ì2a */IC_test ();} }

#rc522_function.c

#include "rc522_function.h" #include "rc522_config.h" #include "stm32f10x.h" #include "bsp_SysTick.h" /*0éè??μ??é0ó?óú′?·?3§éì′ú??£?2??é?ü??£??a32??£?4byte*/ /*????éè??μ??é0£??é1£?2êy?Y?é£??éó?óú′?′¢êy?Y£????é16×??ú*/ /*????éè??μ??é3?a?????é£?°üo??ü??A£?′?è?????£??ü??B*/ /*àyè? A0 A1 A2 A3 A4 A5 | FF 07 80 69 | B0 B1 B2 B3 B4 B5 ?ü??A£¨6×??ú£? | ′?è????? | ?ü??B£¨6×??ú£? */ /*M1?¨óD16??éè???£12óD64???é£?°′????μ??·±ào??a?°0~63*/ #define RC522_DELAY() Delay_us ( 200 )/*** @brief ?òRC522·¢?í1 Byte êy?Y* @param byte£?òa·¢?íμ?êy?Y* @retval RC522·μ??μ?êy?Y*/ void SPI_RC522_SendByte ( uint8_t byte )/*?òrc522·¢?í1 byteêy?Y*/ {uint8_t counter;/*??êy*/for(counter=0;counter<8;counter++){ if ( byte & 0x80 )/*è?byte×??????a1£??òMOSI?a1£?byte×??????a0£????′MOSI?a0*/RC522_MOSI_1 ();else RC522_MOSI_0 ();RC522_DELAY();/*Delay_us ( 200 )*/RC522_SCK_0 ();/*í?MOSIòy??*/RC522_DELAY();/*í?é?*/RC522_SCK_1();RC522_DELAY();byte <<= 1; /*?′?abyte=byte<<1£?ò2?íê?byte=byte+1*/} }/*** @brief ′óRC522·¢?í1 Byte êy?Y* @param ?T* @retval RC522·μ??μ?êy?Y*/ uint8_t SPI_RC522_ReadByte ( void ) {uint8_t counter;uint8_t SPI_Data; /*??êy*/for(counter=0;counter<8;counter++){SPI_Data <<= 1;/*DATA=DATA+1*/RC522_SCK_0 ();RC522_DELAY();if ( RC522_MISO_GET() == 1)SPI_Data |= 0x01;RC522_DELAY();RC522_SCK_1 ();RC522_DELAY();}return SPI_Data;}/*** @brief ?áRC522??′??÷* @param ucAddress£???′??÷μ??·* @retval ??′??÷μ?μ±?°?μ*/ uint8_t ReadRawRC ( uint8_t ucAddress ) {uint8_t ucAddr, ucReturn;ucAddr = ( ( ucAddress << 1 ) & 0x7E ) | 0x80; RC522_CS_Enable();SPI_RC522_SendByte ( ucAddr );ucReturn = SPI_RC522_ReadByte ();RC522_CS_Disable();return ucReturn; }/*** @brief D′RC522??′??÷* @param ucAddress£???′??÷μ??·* @param ucValue£?D′è???′??÷μ??μ* @retval ?T*/ void WriteRawRC ( uint8_t ucAddress, uint8_t ucValue ) { uint8_t ucAddr;ucAddr = ( ucAddress << 1 ) & 0x7E; RC522_CS_Enable();SPI_RC522_SendByte ( ucAddr ); SPI_RC522_SendByte ( ucValue );RC522_CS_Disable(); }/*** @brief ??RC522??′??÷????* @param ucReg£???′??÷μ??·* @param ucMask£??????μ* @retval ?T*/ void SetBitMask ( uint8_t ucReg, uint8_t ucMask ) {uint8_t ucTemp;ucTemp = ReadRawRC ( ucReg );WriteRawRC ( ucReg, ucTemp | ucMask ); // set bit mask }/*** @brief ??RC522??′??÷????* @param ucReg£???′??÷μ??·* @param ucMask£??????μ* @retval ?T*/ void ClearBitMask ( uint8_t ucReg, uint8_t ucMask ) {uint8_t ucTemp;ucTemp = ReadRawRC ( ucReg );WriteRawRC ( ucReg, ucTemp & ( ~ ucMask) ); // clear bit mask }/*** @brief ?a??ìì?? * @param ?T* @retval ?T*/ void PcdAntennaOn ( void ) {uint8_t uc;uc = ReadRawRC ( TxControlReg );if ( ! ( uc & 0x03 ) )SetBitMask(TxControlReg, 0x03); }/*** @brief 1?±?ìì??* @param ?T* @retval ?T*/ void PcdAntennaOff ( void ) {ClearBitMask ( TxControlReg, 0x03 ); }/*** @brief ?′??RC522 * @param ?T* @retval ?T*/ void PcdReset ( void ) {RC522_Reset_Disable();Delay_us ( 1 );RC522_Reset_Enable();Delay_us ( 1 );RC522_Reset_Disable();Delay_us ( 1 );WriteRawRC ( CommandReg, 0x0f );while ( ReadRawRC ( CommandReg ) & 0x10 );Delay_us ( 1 );//?¨ò?·¢?íoí?óê?3£ó??£ê? oíMifare?¨í¨??£?CRC3?ê??μ0x6363WriteRawRC ( ModeReg, 0x3D ); WriteRawRC ( TReloadRegL, 30 ); //16???¨ê±?÷μí?? WriteRawRC ( TReloadRegH, 0 ); //16???¨ê±?÷????WriteRawRC ( TModeReg, 0x8D ); //?¨ò??ú2??¨ê±?÷μ?éè??WriteRawRC ( TPrescalerReg, 0x3E ); //éè???¨ê±?÷·??μ?μêyWriteRawRC ( TxAutoReg, 0x40 ); //μ÷??·¢?íD?o??a100%ASK }/*** @brief éè??RC522μ?1¤×÷·?ê?* @param ucType£?1¤×÷·?ê?* @retval ?T*/ void M500PcdConfigISOType ( uint8_t ucType ) {if ( ucType == 'A') //ISO14443_A{ClearBitMask ( Status2Reg, 0x08 );WriteRawRC ( ModeReg, 0x3D ); //3FWriteRawRC ( RxSelReg, 0x86 ); //84WriteRawRC( RFCfgReg, 0x7F ); //4FWriteRawRC( TReloadRegL, 30 ); WriteRawRC ( TReloadRegH, 0 );WriteRawRC ( TModeReg, 0x8D );WriteRawRC ( TPrescalerReg, 0x3E );Delay_us ( 2 );PcdAntennaOn ();//?aìì??} }/*** @brief í¨1yRC522oíISO14443?¨í¨??* @param ucCommand£?RC522?üá?×?* @param pInData£?í¨1yRC522·¢?íμ??¨??μ?êy?Y* @param ucInLenByte£?·¢?íêy?Yμ?×??ú3¤?è* @param pOutData£??óê?μ?μ??¨??·μ??êy?Y* @param pOutLenBit£?·μ??êy?Yμ???3¤?è* @retval ×′ì??μ= MI_OK£?3é1|*/ char PcdComMF522 ( uint8_t ucCommand,uint8_t * pInData, uint8_t ucInLenByte, uint8_t * pOutData,uint32_t * pOutLenBit ) {char cStatus = MI_ERR;uint8_t ucIrqEn = 0x00;uint8_t ucWaitFor = 0x00;uint8_t ucLastBits;uint8_t ucN;uint32_t ul;switch ( ucCommand ){case PCD_AUTHENT: //Mifareè??¤ucIrqEn = 0x12; //?êDí′í?ó?D?????óErrIEn ?êDí???D?D??IdleIEnucWaitFor = 0x10; //è??¤?°?¨μè′yê±oò 2é?ˉ???D?D??±ê????break;case PCD_TRANSCEIVE: //?óê?·¢?í ·¢?í?óê?ucIrqEn = 0x77; //?êDíTxIEn RxIEn IdleIEn LoAlertIEn ErrIEn TimerIEnucWaitFor = 0x30; //?°?¨μè′yê±oò 2é?ˉ?óê??D??±ê????ó? ???D?D??±ê????break;default:break; }//IRqInv????1ü??IRQó?Status1Regμ?IRq??μ??μ?à·′ WriteRawRC ( ComIEnReg, ucIrqEn | 0x80 );//Set1??????á?ê±£?CommIRqRegμ??á±?????á?ClearBitMask ( ComIrqReg, 0x80 ); //D′???D?üá?WriteRawRC ( CommandReg, PCD_IDLE ); //????FlushBuffer??3y?ú2?FIFOμ??áoíD′????ò??°ErrRegμ?BufferOvfl±ê????±???3ySetBitMask ( FIFOLevelReg, 0x80 ); for ( ul = 0; ul < ucInLenByte; ul ++ )WriteRawRC ( FIFODataReg, pInData [ ul ] ); //D′êy?Y??FIFOdataWriteRawRC ( CommandReg, ucCommand ); //D′?üá?if ( ucCommand == PCD_TRANSCEIVE )//StartSend???????ˉêy?Y·¢?í ????ó?ê?·¢?üá?ê1ó?ê±2?óDD§SetBitMask(BitFramingReg,0x80); ul = 1000; //?ù?Yê±?ó?μ?êμ÷??£?2ù×÷M1?¨×?′óμè′yê±??25msdo //è??¤ ó??°?¨μè′yê±?? {ucN = ReadRawRC ( ComIrqReg ); //2é?ˉê??t?D??ul --;} while ( ( ul != 0 ) && ( ! ( ucN & 0x01 ) ) && ( ! ( ucN & ucWaitFor ) ) ); ClearBitMask ( BitFramingReg, 0x80 ); //??àí?êDíStartSend??if ( ul != 0 ){//?á′í?ó±ê????′??÷BufferOfI CollErr ParityErr ProtocolErrif ( ! ( ReadRawRC ( ErrorReg ) & 0x1B ) ) {cStatus = MI_OK;if ( ucN & ucIrqEn & 0x01 ) //ê?·?·¢éú?¨ê±?÷?D??cStatus = MI_NOTAGERR; if ( ucCommand == PCD_TRANSCEIVE ){//?áFIFO?D±£′?μ?×??úêyucN = ReadRawRC ( FIFOLevelReg ); //×?oó?óê?μ?μ?×??úμ?óDD§??êyucLastBits = ReadRawRC ( ControlReg ) & 0x07; if ( ucLastBits )//N??×??úêy??è¥1£¨×?oóò???×??ú£?+×?oóò???μ???êy ?áè?μ?μ?êy?Y×ü??êy* pOutLenBit = ( ucN - 1 ) * 8 + ucLastBits; else* pOutLenBit = ucN * 8; //×?oó?óê?μ?μ?×??ú????×??úóDD§if ( ucN == 0 ) ucN = 1; if ( ucN > MAXRLEN )ucN = MAXRLEN; for ( ul = 0; ul < ucN; ul ++ )pOutData [ ul ] = ReadRawRC ( FIFODataReg ); } } elsecStatus = MI_ERR; }SetBitMask ( ControlReg, 0x80 ); // stop timer nowWriteRawRC ( CommandReg, PCD_IDLE ); return cStatus; }/*** @brief ?°?¨* @param ucReq_code£??°?¨·?ê? = 0x52£??°?Dó|???ú?ùóD·?o?14443A±ê×?μ??¨£??°?¨·?ê?= 0x26£??°?′??è?DY??×′ì?μ??¨* @param pTagType£??¨??ààDí′ú??= 0x4400£?Mifare_UltraLight= 0x0400£?Mifare_One(S50)= 0x0200£?Mifare_One(S70)= 0x0800£?Mifare_Pro(X))= 0x4403£?Mifare_DESFire* @retval ×′ì??μ= MI_OK£?3é1|*/ char PcdRequest ( uint8_t ucReq_code, uint8_t * pTagType ) {char cStatus; uint8_t ucComMF522Buf [ MAXRLEN ]; uint32_t ulLen;//??àí??ê?MIFARECyptolμ¥?a?óí¨ò??°?ùóD?¨μ?êy?Yí¨D?±??ó?üμ??é??ClearBitMask ( Status2Reg, 0x08 );//·¢?íμ?×?oóò???×??úμ? ????WriteRawRC ( BitFramingReg, 0x07 );//TX1,TX21ü??μ?ê?3?D?o?′?μY?-·¢?íμ÷??μ?13.56μ??üá???2¨D?o?SetBitMask ( TxControlReg, 0x03 ); ucComMF522Buf [ 0 ] = ucReq_code; //′?è? ?¨???üá?×?cStatus = PcdComMF522 ( PCD_TRANSCEIVE, ucComMF522Buf,1, ucComMF522Buf,& ulLen ); //?°?¨ if ( ( cStatus == MI_OK ) && ( ulLen == 0x10 ) ) //?°?¨3é1|·μ???¨ààDí { * pTagType = ucComMF522Buf [ 0 ];* ( pTagType + 1 ) = ucComMF522Buf [ 1 ];}elsecStatus = MI_ERR;return cStatus; }/*** @brief ·à3?×2* @param pSnr£??¨??DòáDo?£?4×??ú* @retval ×′ì??μ= MI_OK£?3é1|*/ char PcdAnticoll ( uint8_t * pSnr ) {char cStatus;uint8_t uc, ucSnr_check = 0;uint8_t ucComMF522Buf [ MAXRLEN ]; uint32_t ulLen;//??MFCryptol On?? ??óD3é1|?′DDMFAuthent?üá?oó£?????2??ü????ClearBitMask ( Status2Reg, 0x08 );//??àí??′??÷ í£?1ê?·¢WriteRawRC ( BitFramingReg, 0x00); //??ValuesAfterColl?ùóD?óê?μ????ú3?í?oó±???3yClearBitMask ( CollReg, 0x80 ); ucComMF522Buf [ 0 ] = 0x93; //?¨??·à3?í??üá?ucComMF522Buf [ 1 ] = 0x20;cStatus = PcdComMF522 ( PCD_TRANSCEIVE, ucComMF522Buf,2, ucComMF522Buf,& ulLen); //ó??¨??í¨D?if ( cStatus == MI_OK) //í¨D?3é1|{for ( uc = 0; uc < 4; uc ++ ){* ( pSnr + uc ) = ucComMF522Buf [ uc ]; //?á3?UIDucSnr_check ^= ucComMF522Buf [ uc ];}if ( ucSnr_check != ucComMF522Buf [ uc ] )cStatus = MI_ERR; }SetBitMask ( CollReg, 0x80 );return cStatus; }/*** @brief ó?RC522????CRC16* @param pIndata£?????CRC16μ?êy×é* @param ucLen£?????CRC16μ?êy×é×??ú3¤?è* @param pOutData£?′?·??????á1?′?·?μ?ê×μ??·* @retval ?T*/ void CalulateCRC ( uint8_t * pIndata, uint8_t ucLen, uint8_t * pOutData ) {uint8_t uc, ucN;ClearBitMask(DivIrqReg,0x04);WriteRawRC(CommandReg,PCD_IDLE);SetBitMask(FIFOLevelReg,0x80);for ( uc = 0; uc < ucLen; uc ++)WriteRawRC ( FIFODataReg, * ( pIndata + uc ) ); WriteRawRC ( CommandReg, PCD_CALCCRC );uc = 0xFF;do {ucN = ReadRawRC ( DivIrqReg );uc --;} while ( ( uc != 0 ) && ! ( ucN & 0x04 ) );pOutData [ 0 ] = ReadRawRC ( CRCResultRegL );pOutData [ 1 ] = ReadRawRC ( CRCResultRegM ); }/*** @brief ???¨?¨??* @param pSnr£??¨??DòáDo?£?4×??ú* @retval ×′ì??μ= MI_OK£?3é1|*/ char PcdSelect ( uint8_t * pSnr ) {char ucN;uint8_t uc;uint8_t ucComMF522Buf [ MAXRLEN ]; uint32_t ulLen;ucComMF522Buf [ 0 ] = PICC_ANTICOLL1;ucComMF522Buf [ 1 ] = 0x70;ucComMF522Buf [ 6 ] = 0;for ( uc = 0; uc < 4; uc ++ ){ucComMF522Buf [ uc + 2 ] = * ( pSnr + uc );ucComMF522Buf [ 6 ] ^= * ( pSnr + uc );}CalulateCRC ( ucComMF522Buf, 7, & ucComMF522Buf [ 7 ] );ClearBitMask ( Status2Reg, 0x08 );ucN = PcdComMF522 ( PCD_TRANSCEIVE,ucComMF522Buf,9,ucComMF522Buf, & ulLen );if ( ( ucN == MI_OK ) && ( ulLen == 0x18 ) )ucN = MI_OK; elseucN = MI_ERR; return ucN; }/*** @brief ?é?¤?¨???ü??* @param ucAuth_mode£??ü???é?¤?£ê?= 0x60£??é?¤A?ü??£??ü???é?¤?£ê?= 0x61£??é?¤B?ü??* @param uint8_t ucAddr£??éμ??·* @param pKey£??ü?? * @param pSnr£??¨??DòáDo?£?4×??ú* @retval ×′ì??μ= MI_OK£?3é1|*/ char PcdAuthState ( uint8_t ucAuth_mode, uint8_t ucAddr, uint8_t * pKey,uint8_t * pSnr ) {char cStatus;uint8_t uc, ucComMF522Buf [ MAXRLEN ];uint32_t ulLen;ucComMF522Buf [ 0 ] = ucAuth_mode;ucComMF522Buf [ 1 ] = ucAddr;for ( uc = 0; uc < 6; uc ++ )ucComMF522Buf [ uc + 2 ] = * ( pKey + uc ); for ( uc = 0; uc < 6; uc ++ )ucComMF522Buf [ uc + 8 ] = * ( pSnr + uc ); cStatus = PcdComMF522 ( PCD_AUTHENT,ucComMF522Buf, 12,ucComMF522Buf,& ulLen );if ( ( cStatus != MI_OK ) || ( ! ( ReadRawRC ( Status2Reg ) & 0x08 ) ) )cStatus = MI_ERR; return cStatus; }/*** @brief D′êy?Yμ?M1?¨ò??é* @param uint8_t ucAddr£??éμ??·* @param pData£?D′è?μ?êy?Y£?16×??ú* @retval ×′ì??μ= MI_OK£?3é1|*/ char PcdWrite ( uint8_t ucAddr, uint8_t * pData ) {char cStatus;uint8_t uc, ucComMF522Buf [ MAXRLEN ];uint32_t ulLen;ucComMF522Buf [ 0 ] = PICC_WRITE;ucComMF522Buf [ 1 ] = ucAddr;CalulateCRC ( ucComMF522Buf, 2, & ucComMF522Buf [ 2 ] );cStatus = PcdComMF522 ( PCD_TRANSCEIVE,ucComMF522Buf,4, ucComMF522Buf,& ulLen );if ( ( cStatus != MI_OK ) || ( ulLen != 4 ) || ( ( ucComMF522Buf [ 0 ] & 0x0F ) != 0x0A ) )cStatus = MI_ERR; if ( cStatus == MI_OK ){//memcpy(ucComMF522Buf, pData, 16);for ( uc = 0; uc < 16; uc ++ )ucComMF522Buf [ uc ] = * ( pData + uc ); CalulateCRC ( ucComMF522Buf, 16, & ucComMF522Buf [ 16 ] );cStatus = PcdComMF522 ( PCD_TRANSCEIVE,ucComMF522Buf, 18, ucComMF522Buf,& ulLen );if ( ( cStatus != MI_OK ) || ( ulLen != 4 ) || ( ( ucComMF522Buf [ 0 ] & 0x0F ) != 0x0A ) )cStatus = MI_ERR; } return cStatus; }/*** @brief ?áè?M1?¨ò??éêy?Y* @param ucAddr£??éμ??·* @param pData£??á3?μ?êy?Y£?16×??ú* @retval ×′ì??μ= MI_OK£?3é1|*/ char PcdRead ( uint8_t ucAddr, uint8_t * pData ) {char cStatus;uint8_t uc, ucComMF522Buf [ MAXRLEN ]; uint32_t ulLen;ucComMF522Buf [ 0 ] = PICC_READ;ucComMF522Buf [ 1 ] = ucAddr;CalulateCRC ( ucComMF522Buf, 2, & ucComMF522Buf [ 2 ] );cStatus = PcdComMF522 ( PCD_TRANSCEIVE,ucComMF522Buf,4, ucComMF522Buf,& ulLen );if ( ( cStatus == MI_OK ) && ( ulLen == 0x90 ) ){for ( uc = 0; uc < 16; uc ++ )* ( pData + uc ) = ucComMF522Buf [ uc ]; }elsecStatus = MI_ERR; return cStatus; }/*** @brief ?üá??¨????è?DY??×′ì?* @param ?T* @retval ×′ì??μ= MI_OK£?3é1|*/ char PcdHalt( void ) {uint8_t ucComMF522Buf [ MAXRLEN ]; uint32_t ulLen;ucComMF522Buf [ 0 ] = PICC_HALT;ucComMF522Buf [ 1 ] = 0;CalulateCRC ( ucComMF522Buf, 2, & ucComMF522Buf [ 2 ] );PcdComMF522 ( PCD_TRANSCEIVE,ucComMF522Buf,4, ucComMF522Buf, & ulLen );return MI_OK; }void IC_CMT ( uint8_t * UID,uint8_t * KEY,uint8_t RW,uint8_t * Dat ) {uint8_t ucArray_ID [ 4 ] = { 0 }; //?èoó′?·?IC?¨μ?ààDíoíUID(IC?¨DòáDo?)PcdRequest ( 0x52, ucArray_ID ); //?°?¨PcdAnticoll ( ucArray_ID ); //·à3?×2PcdSelect ( UID ); //???¨?¨PcdAuthState ( 0x60, 0x10, KEY, UID );//D£?éif ( RW ) //?áD′????£?1ê??á£?0ê?D′PcdRead ( 0x10, Dat );else PcdWrite ( 0x10, Dat );PcdHalt (); }

#rc522_config.c

#include "rc522_config.h" #include "stm32f10x.h"static void RC522_SPI_Config ( void );void RC522_Init ( void )/*3?ê??ˉrc522*/ {RC522_SPI_Config (); RC522_Reset_Disable(); RC522_CS_Disable(); }static void RC522_SPI_Config ( void )/*????SPI*/ {/* SPI_InitTypeDef SPI_InitStructure */GPIO_InitTypeDef GPIO_InitStructure;/*????SPI_RC522òy??£oCS*/RC522_GPIO_CS_CLK_FUN ( RC522_GPIO_CS_CLK, ENABLE );/*????ê±?óòy??*/GPIO_InitStructure.GPIO_Pin = RC522_GPIO_CS_PIN;/*????′??úòy??*/GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;/*????′?ê??ù?ê?a50mhz*/GPIO_InitStructure.GPIO_Mode = RC522_GPIO_CS_Mode;/*?????£ê?*/GPIO_Init(RC522_GPIO_CS_PORT, &GPIO_InitStructure);/*3?ê??ˉ*//*????SPI?a?aRC522òy??: SCK */RC522_GPIO_SCK_CLK_FUN ( RC522_GPIO_SCK_CLK, ENABLE );GPIO_InitStructure.GPIO_Pin = RC522_GPIO_SCK_PIN;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = RC522_GPIO_SCK_Mode;GPIO_Init(RC522_GPIO_SCK_PORT, &GPIO_InitStructure);/*????SPI-RC522òy??£oMOSI*/RC522_GPIO_MOSI_CLK_FUN ( RC522_GPIO_MOSI_CLK, ENABLE );GPIO_InitStructure.GPIO_Pin = RC522_GPIO_MOSI_PIN;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = RC522_GPIO_MOSI_Mode;GPIO_Init(RC522_GPIO_MOSI_PORT, &GPIO_InitStructure);/*????SPI-RC522òy??: MISO */RC522_GPIO_MISO_CLK_FUN ( RC522_GPIO_MISO_CLK, ENABLE );GPIO_InitStructure.GPIO_Pin = RC522_GPIO_MISO_PIN;GPIO_InitStructure.GPIO_Mode = RC522_GPIO_MISO_Mode;GPIO_Init(RC522_GPIO_MISO_PORT, &GPIO_InitStructure); /*????SPI-RC522òy??: RST */RC522_GPIO_RST_CLK_FUN ( RC522_GPIO_RST_CLK, ENABLE );GPIO_InitStructure.GPIO_Pin = RC522_GPIO_RST_PIN;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = RC522_GPIO_RST_Mode;GPIO_Init(RC522_GPIO_RST_PORT, &GPIO_InitStructure);}

此例程用于野火秉火mini板實現
板子與rc522的連接如圖

各引腳連接如圖

以上;供初學者學習使用。

完整工程在下方鏈接。
F103_MINI-RC522例程工程下載

總結

以上是生活随笔為你收集整理的基于stm32f103rct6(秉火mini板)的rc522RFID读卡例程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

色婷婷成人 | 成人黄色小说视频 | 激情av在线播放 | 婷婷五月在线视频 | 亚洲精品在线国产 | 国产在线播放一区二区 | 国产在线2020 | 免费看黄的视频 | 久久久久久久久久久黄色 | 色狠狠狠 | 免费黄色网址网站 | 日韩av有码在线 | 色激情五月 | 精品久久久999 | 黄污网站在线观看 | 日韩一区在线播放 | 五月婷婷狠狠 | 久草视频资源 | 日本久久久久 | 国产精品国产三级国产aⅴ入口 | 中国一 片免费观看 | 久久精品美女视频网站 | 久久久精品视频网站 | 91精品在线观看视频 | 国产一区二区三区免费在线 | 日韩色中色| 国产亚洲观看 | 欧美另类人妖 | 日韩伦理片一区二区三区 | 久久黄色影院 | 天天看天天干天天操 | www免费看 | 中文字幕在线网址 | 韩国av免费在线 | 精品国产亚洲一区二区麻豆 | av电影一区二区三区 | 亚洲精品字幕在线 | 午夜av一区二区三区 | 成人在线免费视频观看 | 成人久久18免费 | 国产成人精品久久久久蜜臀 | 中文字幕亚洲字幕 | 日韩欧美在线一区 | 精品国产亚洲日本 | 国产精品视频最多的网站 | 日韩精品一区二区免费 | 99免费在线观看视频 | 狠狠插天天干 | 成人国产精品一区 | 区一区二区三区中文字幕 | 九九视频在线观看视频6 | 久久看免费视频 | 成人黄色电影视频 | 欧美亚洲国产一卡 | 日本久久91| 国产黄在线播放 | 亚洲爱爱视频 | 成人黄色电影免费观看 | wwwww.国产 | 美女久久久 | 天堂资源在线观看视频 | 91久久久久久久一区二区 | 国产精品白浆视频 | 精品国产乱码一区二 | 亚洲国产经典视频 | 伊香蕉大综综综合久久啪 | 国产精品99久久久久的智能播放 | 91在线入口 | 国产精品欧美久久久久久 | 一区二区三区日韩在线观看 | 亚洲精品在线电影 | 91日韩国产| 国产99久久久国产 | 狠狠久久婷婷 | 午夜av在线播放 | aaa毛片视频 | 成人sm另类专区 | 亚洲国产日韩av | 免费看v片 | 国产又黄又爽又猛视频日本 | 又黄又爽免费视频 | 免费在线观看中文字幕 | 亚洲日本国产精品 | 免费观看国产精品视频 | 国产96精品 | 久久精品视频在线观看免费 | 国产精品9999 | 91精品国产高清自在线观看 | 天天干天天看 | 国产福利一区二区在线 | 成人中文字幕在线 | 国产成人精品一区二三区 | 日韩视频 一区 | 久久国产经典视频 | .国产精品成人自产拍在线观看6 | 成人av一区二区三区 | 天堂av在线免费观看 | 天天操天天射天天插 | 草免费视频 | 99国产在线 | 免费av网址在线观看 | 成人在线黄色电影 | 日韩一区二区三区高清在线观看 | 欧美美女视频在线观看 | 高清免费在线视频 | 深爱婷婷激情 | 91成人在线视频 | 欧美日韩精品在线观看视频 | 国产精品一区免费看8c0m | 色99久久| 亚洲精品久久久久www | 欧美在线视频一区二区 | 日韩欧美在线观看一区二区 | 成人欧美日韩国产 | 国产成人精品一二三区 | 亚洲涩综合 | 91成人免费视频 | 久久99中文字幕 | 五月天色网站 | 国色天香第二季 | 中文字幕在线观看免费观看 | 国产一区二区不卡视频 | 天天玩天天干 | 午夜精品视频福利 | 日韩高清在线一区二区三区 | 中文字幕一区二区三区久久 | 国产精品成人av在线 | 91超碰免费在线 | 偷拍福利视频一区二区三区 | 亚洲国产成人av网 | 成人毛片100免费观看 | 麻豆精品在线视频 | 日本特黄特色aaa大片免费 | 在线看av的网址 | 国产在线自 | 国产尤物视频在线 | 日韩欧美在线高清 | 中文字幕一区二区在线观看 | 国产精品久一 | 国产美女精品视频 | 日韩av中文字幕在线免费观看 | 日韩视频一区二区 | 国产黄色一级大片 | 日韩综合精品 | 97超碰人人| 日本不卡123区 | www.成人久久| 五月激情久久 | 国产高清精品在线观看 | 久久精品牌麻豆国产大山 | 玖玖视频网 | 国产精品毛片一区视频播 | 999久久国产精品免费观看网站 | 最新av在线播放 | 粉嫩一二三区 | 久久久久国产精品视频 | 久久久男人的天堂 | 欧美综合在线视频 | 九九亚洲视频 | 97精品超碰一区二区三区 | 在线日韩视频 | 91麻豆精品国产91久久久久 | 成 人 a v天堂 | 久久激情日本aⅴ | 337p日本大胆噜噜噜噜 | 欧美日韩观看 | 日韩激情在线 | 亚洲精品久久久久999中文字幕 | 欧美日韩亚洲第一页 | 国产精品69av| 亚洲综合在线观看视频 | 六月婷色 | 日本公妇在线观看高清 | 午夜精品视频福利 | 一区二区精品在线观看 | 性色av一区二区三区在线观看 | 精品国产久 | 2020天天干夜夜爽 | 久久精彩 | 97av视频 | www..com黄色片 | 亚洲色图色 | 日日夜夜骑| 中文字幕频道 | 国产系列 在线观看 | 欧美精品一区二区三区一线天视频 | av综合在线观看 | 五月天.com| 久久涩涩网站 | 成人免费一区二区三区在线观看 | 天天色播 | 黄色日视频 | 2022中文字幕在线观看 | 最近中文字幕在线 | 91热视频 | 欧美在线1区 | 国产精品视频观看 | 亚州av一区 | 国产麻豆精品95视频 | 九色91福利| 国产成人免费观看久久久 | 最新日韩在线观看视频 | 精品国偷自产国产一区 | 亚洲毛片在线观看. | 成人97人人超碰人人99 | 日韩精品久久一区二区 | 久久免费在线视频 | 色婷婷亚洲婷婷 | 91九色最新 | 黄色国产成人 | 国产精品24小时在线观看 | 精品一区电影 | 欧美日韩国产欧美 | 国产精品久久久久久久久久久久午夜 | 婷婷av网| 91精品色| 香蕉视频在线视频 | 久久精品官网 | 成年人在线| 欧美精品成人在线 | 99视频在线免费看 | 黄色成人免费电影 | 在线国产福利 | 在线激情影院一区 | 五月天亚洲精品 | 久久性生活片 | 欧美一区日韩精品 | 五月丁婷婷 | 国产麻豆精品传媒av国产下载 | 国产成人精品一区二区三区在线观看 | 午夜av网站 | 韩国av免费观看 | 蜜臀一区二区三区精品免费视频 | 91污视频在线观看 | 91九色porn在线资源 | 黄色av一区二区 | 久久一区二区免费视频 | 在线看日韩 | .国产精品成人自产拍在线观看6 | 狠狠干综合 | 最新中文字幕视频 | 国产字幕av| 免费观看国产精品视频 | 中文字幕高清在线 | 日本精品久久久久久 | 亚洲精品在线资源 | 久久久婷| 国产一级免费观看 | 久久高清国产视频 | 91亚洲精品在线观看 | 欧美日韩二区在线 | 欧美日韩调教 | 99久久精品国产亚洲 | 一区二区三区在线免费播放 | 亚洲欧美日韩精品久久奇米一区 | 国产免费a| 在线99热| 激情五月看片 | 7777精品伊人久久久大香线蕉 | 亚洲综合激情小说 | 91麻豆精品国产自产在线 | 国产最新福利 | 激情久久婷婷 | 亚洲性少妇性猛交wwww乱大交 | 欧美色图亚洲图片 | 91精品国产99久久久久久红楼 | 亚洲成人动漫在线观看 | 蜜桃麻豆www久久囤产精品 | 亚洲午夜精品在线观看 | 婷婷综合视频 | 久久精品视频18 | 精品视频在线看 | 久久与婷婷 | 99精品视频播放 | 中文字幕在线观看视频一区 | 日韩在线视频观看免费 | 国产一级性生活 | 嫩草伊人久久精品少妇av | 欧洲亚洲激情 | 日本xxxxav| 91亚洲国产成人久久精品网站 | 91精品在线视频观看 | 一区二区三区中文字幕在线观看 | 国产精品成人免费一区久久羞羞 | 欧美精品一区二区免费 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 五月丁香| 九九九九九九精品任你躁 | 午夜视频一区二区 | 久久avav | 狠狠色丁香婷婷综合欧美 | 国产精品伦一区二区三区视频 | 丁香电影小说免费视频观看 | 免费视频一二三区 | 国产高清不卡一区二区三区 | 午夜久久影视 | 日本中文不卡 | 中文有码在线 | 97超级碰 | 一本到在线| 天天伊人网 | 99性视频| 久久成人国产精品免费软件 | 又黄又刺激 | 色婷婷久久久 | av女优中文字幕在线观看 | 日韩在线观看免费 | 97精品久久人人爽人人爽 | 精品一区二区在线观看 | 国产成人精品一区二三区 | 婷婷干五月 | 成年人在线免费视频观看 | av品善网| 国产一级黄大片 | 国产精品女教师 | 最新色站 | 欧美日韩免费一区二区 | 亚洲人人精品 | 亚洲爱爱视频 | 免费色av| 91激情| 有码中文字幕在线观看 | 精品国产欧美 | 久久全国免费视频 | 在线色亚洲| 91亚色视频在线观看 | 久久综合五月天 | 欧美日韩在线观看视频 | 四虎在线观看精品视频 | 尤物97国产精品久久精品国产 | 美女在线免费观看视频 | 免费看污的网站 | 一区在线观看视频 | 国产在线一区二区 | 婷婷成人亚洲综合国产xv88 | 美女免费视频观看网站 | 麻豆国产精品一区二区三区 | 午夜精品福利一区二区三区蜜桃 | 久久国产精品系列 | 国产夫妻自拍av | 久久综合爱 | 91最新在线 | 成人h电影| 91亚洲精品久久久蜜桃网站 | 射久久久 | 玖玖国产精品视频 | 国产精品久久久久久吹潮天美传媒 | 欧美视频日韩视频 | a视频在线观看免费 | 色欲综合视频天天天 | 四虎影院在线观看av | 五月婷婷综合在线观看 | 黄色在线免费观看网站 | 伊人黄色网 | 欧美亚洲国产一卡 | 亚洲成人av免费 | 欧美天天干 | 国产剧情一区二区 | 97视频网址 | 亚洲国产美女久久久久 | 久久久在线 | 日本爱爱片 | 波多野结衣在线观看一区 | 99在线观看视频 | 久久人人爽人人爽人人片av免费 | 欧美精品一二 | 国产精品一区久久久久 | 99精品区 | 中文字幕 91 | 日韩精品中文字幕在线观看 | 精品久久久久久国产 | a国产精品| 狠狠狠综合 | 亚洲 综合 专区 | 国产专区视频 | 日韩色在线 | av电影一区二区三区 | 久久官网 | 久草99 | 涩五月婷婷 | 偷拍精偷拍精品欧洲亚洲网站 | 在线免费观看亚洲视频 | 亚洲午夜电影网 | 久久人91精品久久久久久不卡 | 久久99国产视频 | 99久久99热这里只有精品 | 成人免费视频网址 | 久久久激情网 | 成人免费精品 | 免费在线观看不卡av | 久久视频这里有精品 | 欧美日韩调教 | 精品国偷自产国产一区 | 久久综合色一综合色88 | 国产一二区视频 | 91精品一区二区在线观看 | 免费观看全黄做爰大片国产 | 欧美激情精品久久久久久 | 国产精品二区在线 | 天天操天天摸天天爽 | 久久综合久久综合九色 | 中文字幕久久亚洲 | www.久久免费视频 | www.com在线观看 | 欧美一二在线 | 国产精品一区二区在线观看免费 | 日韩免费av网址 | 天天干天天做天天操 | 插插插色综合 | 久热色超碰 | 在线亚洲播放 | 日韩高清免费无专码区 | 国产免码va在线观看免费 | 欧美一区二区三区免费观看 | 久久国产精品久久精品 | 91成人精品国产刺激国语对白 | 99久久99 | 91在线永久| 国产在线观看99 | 在线观看www视频 | 丁香花在线视频观看免费 | 伊人国产在线播放 | 在线观看视频免费播放 | 青春草视频在线播放 | 伊人天堂网 | 欧美夫妻生活视频 | 天天干夜夜 | 国产群p | 亚洲 欧美日韩 国产 中文 | 夜夜操天天 | 特级西西444www大胆高清无视频 | 久久久片| 精品一二三四在线 | 91高清一区| 中文字幕在线观看一区二区三区 | 91精选在线 | 丁香久久五月 | 91在线视频免费播放 | av网站播放 | 91精选| 久久久久久久久亚洲精品 | 婷婷伊人综合亚洲综合网 | 手机在线免费av | 97超碰在线久草超碰在线观看 | 人人玩人人添人人澡97 | 美女又爽又黄 | 亚洲va天堂va欧美ⅴa在线 | 久久婷综合| 97超碰人人 | av天天色 | 99日韩精品| av在线播放国产 | 欧美怡红院 | 天天操,夜夜操 | 日韩毛片一区 | 91精品国产高清自在线观看 | 婷婷九月丁香 | 日韩激情小视频 | 看v片| 国产91精品在线观看 | 中国一级片在线 | 亚洲一区二区三区在线看 | 午夜精品久久久久 | 日韩激情中文字幕 | 久久久官网 | 国产高清久久久久 | 欧美福利片在线观看 | 久久婷婷综合激情 | 亚洲精品动漫在线 | av无限看| av一二三区 | 久久综合9988久久爱 | 日本三级人妇 | 欧美天天综合 | 黄色综合| 视频一区二区国产 | 国产系列 在线观看 | 99精品在线视频播放 | 国产亚洲一级高清 | 九九视频在线 | 国产乱码精品一区二区三区介绍 | 自拍超碰在线 | 天天射天天干天天 | 亚洲第一区在线观看 | 日韩三级一区 | 在线免费精品视频 | 色网站在线免费观看 | 婷婷.com| 久久伦理网 | 天天操夜夜曰 | 国产精品入口传媒 | 中文字幕中文字幕在线中文字幕三区 | 97天天综合网 | 99视频在线观看视频 | 91在线播放综合 | 久久不射电影院 | 午夜少妇一区二区三区 | 欧美专区国产专区 | 国产一区二区久久 | 久草视频一区 | 在线视频久久 | 国产精品免费一区二区 | 国产成人精品一二三区 | 日韩欧美电影 | 五月综合网站 | 欧美日韩另类在线观看 | 欧美成人视 | 久久一区91| 日韩另类在线 | 国产精品久久久久久久久久东京 | 2020天天干夜夜爽 | 久草在线视频新 | www.亚洲精品在线 | 国产精品福利在线观看 | 最新动作电影 | 国内外激情视频 | 成人黄大片视频在线观看 | 国产精品美女久久久网av | 在线观看视频精品 | 久久1区| 久久久免费视频播放 | 在线黄色av电影 | 91试看 | 日韩在线视频观看 | 国内精品久久久久久中文字幕 | 日韩免费在线 | 99c视频高清免费观看 | 91亚洲综合 | 亚洲婷婷在线视频 | 免费a v观看 | 91在线视频免费播放 | 免费的成人av | 亚洲国产精品va在线 | 激情视频一区 | 成人黄在线观看 | 国产精品久久久久一区二区三区共 | 欧美日韩精品久久久 | 国产精品一区二区在线播放 | 91精品免费| 中文国产成人精品久久一 | 最近中文字幕免费av | 天天曰视频 | 毛片网站在线看 | 一级免费观看 | 精品在线免费视频 | 国产精品一区二区在线播放 | 精品久久久久久久久久久久 | 99精品国自产在线 | 国产黄免费 | 日韩免费一级电影 | 香蕉久久久久 | 99精品久久久久久久久久综合 | 中文字幕在线观看第三页 | 中文视频在线看 | 能在线观看的日韩av | 亚洲高清免费在线 | 国产精品资源网 | www.色综合.com | 久久视频免费 | 国产亚洲精品美女久久 | 欧美午夜精品久久久久久浪潮 | 久久伊人精品天天 | 国产精彩视频 | 久久免费国产 | 91热视频 | 91pony九色丨交换 | 久久久国产精品人人片99精片欧美一 | 在线观看中文字幕第一页 | 日韩在线观看三区 | 午夜精品一二三区 | 一级性av | 91精品啪在线观看国产 | 在线国产小视频 | 国产中出在线观看 | 日韩午夜小视频 | 成年人免费观看在线视频 | 国产精品99免视看9 国产精品毛片一区视频 | 麻豆av电影 | 射久久久| 色综合久久久久 | 国产亚洲精品久久久久久久久久 | 国产高清不卡 | 涩涩网站在线播放 | 久久久九九| 色婷婷99 | 亚洲黄色一级大片 | 久久天天躁 | 欧洲精品久久久久毛片完整版 | 日韩国产精品久久久久久亚洲 | 日韩在线精品视频 | 精品欧美一区二区三区久久久 | 在线免费观看国产黄色 | 国产视频在线观看一区 | 色福利网站 | 91大神在线看 | av一级在线观看 | 亚洲性视频 | 欧美日韩国产亚洲乱码字幕 | 国产成人精品av在线 | 久久高清国产视频 | 91麻豆精品国产91久久久更新时间 | 久久视频免费看 | 成片视频免费观看 | 成人在线黄色 | 日韩激情一二三区 | 九九热精品视频在线观看 | 成人免费网站视频 | 人人射人人插 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 日韩经典一区二区三区 | 久久免费视频2 | 国产午夜麻豆影院在线观看 | 人成免费网站 | 视频在线99re | 国产91在线免费视频 | 欧美日韩xx| 亚洲一区二区视频在线播放 | 在线中文字幕网站 | 天天做日日做天天爽视频免费 | 国产成人一区二区三区免费看 | 91爱爱电影| 久久免费高清视频 | 午夜精品久久久久 | www视频在线免费观看 | 成人毛片一区 | 91成人破解版 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | av国产在线观看 | 中文字幕黄色 | 18做爰免费视频网站 | 日韩区欧美久久久无人区 | 亚洲综合爱| 亚洲黄色免费观看 | 黄色最新网址 | 性日韩欧美在线视频 | 国产精品久久久久久久久免费看 | 一区二区三区免费网站 | 色99色| 国产区精品 | 久久av伊人 | 日本久久久久久科技有限公司 | 免费黄色a网站 | 欧美成年人在线观看 | 五月激情久久 | 亚洲精品视频在线免费 | 日韩欧美在线播放 | www.狠狠操.com | 久久天堂亚洲 | 亚洲精品久久在线 | 精品影院一区二区久久久 | 五月天com| 欧美一区免费在线观看 | 午夜精品成人一区二区三区 | 中文字幕免费高清在线观看 | 亚洲久在线 | 欧美高清视频不卡网 | 黄色a一级视频 | 日韩久久精品一区二区 | 亚洲在线视频播放 | 青青河边草手机免费 | 干天天| 五月综合婷 | 丁香六月久久综合狠狠色 | 91桃色在线观看视频 | 五月天亚洲精品 | 国产黄色av影视 | 日韩免费电影一区二区三区 | 亚洲精品乱码久久久久久按摩 | 久草97| 国产一级二级三级视频 | 狠狠综合久久av | 色狠狠狠 | 欧美精品在线免费 | 日韩高清 一区 | 狠狠色丁香婷婷综合视频 | 国产五十路毛片 | 免费男女羞羞的视频网站中文字幕 | 欧美大片www| 精品久久久久久综合日本 | 91亚洲精品久久久 | 日本午夜在线亚洲.国产 | 99久久er热在这里只有精品66 | 日韩欧美在线中文字幕 | 久久久麻豆视频 | 国产精品免费久久久久久久久久中文 | 精品一区二区精品 | 91亚洲在线观看 | 天天射天天干天天操 | 亚洲男男gaygay无套 | av免费观看网址 | 日韩一级网站 | 我爱av激情网 | 日韩欧美有码在线 | 91网在线看 | 六月丁香婷 | 97激情影院 | 蜜桃视频在线观看一区 | www.国产高清 | 99产精品成人啪免费网站 | 91黄色小视频 | 99色视频 | 免费观看成年人视频 | 伊人视频| 91高清完整版在线观看 | 欧美日韩视频观看 | 97色婷婷成人综合在线观看 | 国产黄色高清 | 亚洲黄色a| 一区二区三区四区影院 | 日韩欧美黄色网址 | 激情五月六月婷婷 | 精品亚洲一区二区三区 | 免费久草视频 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 最近最新最好看中文视频 | 久久99电影| 国产成人区 | 国产成人精品三级 | 中文字幕在线观看91 | 国产乱对白刺激视频不卡 | 欧美伦理一区二区三区 | 亚洲美女视频网 | 中文字幕电影一区 | 国产精品福利久久久 | 97超碰在 | 亚洲二级片 | 日本公妇色中文字幕 | 日韩在线观看网站 | 国产韩国精品一区二区三区 | 国产一区二区三区在线免费观看 | 五月婷婷中文网 | 探花在线观看 | 久草在线网址 | 久久视频在线观看中文字幕 | 最新av网址在线观看 | 在线成人免费电影 | 国产福利在线 | а天堂中文最新一区二区三区 | 不卡电影免费在线播放一区 | 91丨九色丨国产女 | 色综合久久综合中文综合网 | 国产精品久一 | 国语黄色片 | 999久久| 日韩精品在线免费播放 | 国产高清中文字幕 | 一区二区精品国产 | 91国内在线 | 国产原创av在线 | 亚洲精品在线电影 | 亚洲影院天堂 | 亚州天堂| 久久久首页| 久久久久亚洲国产精品 | 人人澡人人舔 | 亚洲国产精品999 | 天堂av官网 | 999男人的天堂 | 九九色在线| 精品一区 精品二区 | a√资源在线 | www.久久99| 激情久久久 | 国产四虎影院 | 亚洲视频一级 | 日韩资源在线 | 黄影院 | 97超碰在线人人 | 亚洲欧洲国产日韩精品 | 97视频免费在线看 | 免费涩涩网站 | 国产精品一区一区三区 | 久久毛片网 | 国产中的精品av小宝探花 | 99久久99久久精品免费 | 成人av免费在线看 | 亚洲区视频在线观看 | 日本天天操| 久久精品久久精品 | 天天干天天操天天做 | 日韩视频免费观看高清完整版在线 | 久久久天堂 | 亚洲国产精品va在线 | 国产成人精品亚洲a | 国产精品片 | 久久久久激情电影 | 久久资源在线 | 9999国产精品 | 色综合天天视频在线观看 | 91香蕉视频在线下载 | 久草成人在线 | 一本一本久久a久久 | 91大神在线观看视频 | 久久视屏网 | 欧美人操人 | 91久久精品一区二区二区 | 日韩性xxxx | 五月天色婷婷丁香 | 国产日韩精品一区二区三区 | 夜夜操天天 | 欧美日韩国产在线 | 免费男女羞羞的视频网站中文字幕 | 六月色播| 在线看v片 | 亚洲成aⅴ人片久久青草影院 | 欧美性爽爽 | 国产精品99久久久久久久久 | 日韩免费观看高清 | 日日夜夜精品视频天天综合网 | 97av在线视频 | 国产精品一区免费观看 | 久草在线视频首页 | 亚洲区色 | 麻豆视传媒官网免费观看 | 久久久久久久久久久电影 | 成人免费视频网站在线观看 | 欧美日韩国产色综合一二三四 | 深爱激情五月综合 | 亚洲精品tv久久久久久久久久 | 成人久久免费 | 国产午夜精品一区二区三区 | 正在播放亚洲精品 | 日韩最新av在线 | 九九热有精品 | 日韩在线视频免费观看 | 一级久久久 | 亚洲成人精品影院 | 日韩成人在线免费观看 | 91精品福利在线 | 日韩资源在线播放 | 91亚洲精 | 免费av 在线| 欧美久久综合 | 亚洲天天综合网 | 国产亚洲精品美女久久 | 国产福利精品在线观看 | 美女久久久久久久久久久 | 国产超碰在线 | 波多野结衣久久资源 | 国产一级二级av | 成年人视频在线免费播放 | 欧美一二三区在线观看 | 日日操狠狠干 | 成人资源站 | 激情婷婷在线观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 国产精品一区二区果冻传媒 | 国产精品日韩久久久久 | 久久综合偷偷噜噜噜色 | 成人免费xxxxxx视频 | 欧美久久久久 | 精品嫩模福利一区二区蜜臀 | 在线看片中文字幕 | 人人爽人人乐 | 国产成人av免费在线观看 | 精品国产乱码一区二 | 视频一区二区在线观看 | 黄色av电影 | 美女免费黄网站 | 天天插一插 | 国产不卡av在线播放 | 久草a视频| 毛片永久免费 | 91av在线精品 | 国产精品二区在线观看 | 国产人成免费视频 | 最近中文字幕免费视频 | 在线观看亚洲视频 | 欧美va电影 | 国产中文字幕视频在线观看 | 精品视频在线观看 | 99热在线精品观看 | 91精品国产自产老师啪 | 国产成人久久精品一区二区三区 | 一区 二区电影免费在线观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产精品aⅴ | 伊人va | 欧美精品一区二区在线播放 | 射久久| 亚洲成人麻豆 | 激情导航 | 成人毛片在线观看视频 | 1区2区视频 | 欧美精品久久久久久久久久 | 精品国产乱码久久久久久天美 | av成人免费在线观看 | 天天操夜操视频 | 欧美色综合久久 | 国产视频二区三区 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 国产麻豆果冻传媒在线观看 | 国产精品av一区二区 | 免费的黄色的网站 | 91九色性视频 | 日本久久中文 | 在线观看视频黄 | 国产99免费 | 午夜视频免费在线观看 | 精品久久久久久国产偷窥 | 中文字幕乱码电影 | 精品视频在线播放 | 国产综合久久 | 国产精品网在线观看 | 精品影院 | 最新国产中文字幕 | 97在线影视| 日本视频网 | 亚洲欧洲精品久久 | 久久综合色天天久久综合图片 | 99热精品免费观看 | 国产精品专区一 | 欧美va日韩va | 五月婷婷在线观看视频 | 国产精品va在线观看入 | av天天色 | 91麻豆精品国产91久久久久久久久 | 一区精品久久 | 国产一级免费av | 国产一区视频在线观看免费 | 国产精品一区二区三区免费视频 | 国产一在线精品一区在线观看 | 日韩三级视频 | 91av电影在线 | 日韩a级免费视频 | 97超碰伊人 | 亚洲精品视频免费观看 | 综合av在线 | 六月天综合网 | 国产免费视频在线 | 国产亚洲精品日韩在线tv黄 | 伊人网综合在线观看 | 日韩久久久久久久 | 中文字幕 在线看 | 久久人人爽人人爽人人片 | 日韩免费在线观看网站 | 日韩在线免费视频观看 | 成人av一区二区在线观看 | 91亚洲精品久久久 | av黄色免费网站 | 丁香花中文字幕 | 日本aaaa级毛片在线看 | 婷婷性综合 | 国产成在线观看免费视频 | 国产精品久久久久久麻豆一区 | 久久天天拍 | 亚洲狠狠 | 天天干天天干天天操 | 天天爽夜夜爽精品视频婷婷 | 国产小视频在线观看 | 超碰在线网 | 中文一区在线 | 婷婷色亚洲| 国产精品成人在线 | 久久久影视 | 色综合久 | 久久午夜网 | 中文在线亚洲 | 久久精品一区二区三区中文字幕 | www视频在线免费观看 | 91.精品高清在线观看 | 99久久精品国产亚洲 | 久久精品爱爱视频 | 99人久久精品视频最新地址 | 韩国三级一区 | 成人理论在线观看 | 天天色棕合合合合合合 | 国产韩国精品一区二区三区 | 天天操天天操天天操天天 | 黄色小网站免费看 | 69av免费视频 | 精产嫩模国品一二三区 | 日日干激情五月 | 日本精品中文字幕 | 久久精品视频网址 | 国产日韩欧美在线观看 | 中文字幕日韩在线播放 | 一区二区男女 | 夜夜澡人模人人添人人看 | 91人人爽人人爽人人精88v | 日韩黄色一区 | 精品视频在线观看 | 久久中文欧美 | 97视频人人免费看 | 婷婷色亚洲 | 中文字幕有码在线 | 免费看黄在线 | 精品视频成人 | 天天操天天射天天操 | 欧美日韩一区二区三区在线观看视频 | 免费在线色电影 | 国产999| www.黄色| 超碰在线9 | 久久精品国产亚洲精品 | 日韩久久精品一区二区三区下载 | 国产精品九九久久久久久久 | 成年人国产精品 |