Skip to content

Commit 23602be

Browse files
committed
略微优化了代码可读性
1 parent e9b4f3c commit 23602be

File tree

6 files changed

+55
-278
lines changed

6 files changed

+55
-278
lines changed

sdk/Debug/debug.c

+5
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,11 @@ void Delay_Ms(uint32_t n)
8686
*/
8787
void USART_Printf_Init(uint32_t baudrate)
8888
{
89+
90+
#ifdef DEBUG
8991
GPIO_InitTypeDef GPIO_InitStructure;
9092
USART_InitTypeDef USART_InitStructure;
93+
#endif // DEBUG
9194

9295
#if(DEBUG == DEBUG_UART1)
9396
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);
@@ -117,12 +120,14 @@ void USART_Printf_Init(uint32_t baudrate)
117120

118121
#endif
119122

123+
#ifdef DEBUG
120124
USART_InitStructure.USART_BaudRate = baudrate;
121125
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
122126
USART_InitStructure.USART_StopBits = USART_StopBits_1;
123127
USART_InitStructure.USART_Parity = USART_Parity_No;
124128
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
125129
USART_InitStructure.USART_Mode = USART_Mode_Tx;
130+
#endif // DEBUG
126131

127132
#if(DEBUG == DEBUG_UART1)
128133
USART_Init(USART1, &USART_InitStructure);

src/lib/cdc.c

+34-99
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77

88
#include "led.h"
99

10-
#include "string.h"
11-
1210
#include "pn532.h"
1311
#include "pn532_uart.h"
1412

@@ -246,7 +244,7 @@ void CDC_LED_IO_Handler()
246244

247245
#define CARD_READER_RATE_HI 1
248246
#define CARD_READER_RATE_LOW 0
249-
#define CARD_READER_RATE CARD_READER_RATE_LOW
247+
#define CARD_READER_RATE CARD_READER_RATE_HI
250248

251249
const uint8_t CARD_READER_FW_VERSION_HIRATE[2] = "\x94";
252250
const uint8_t CARD_READER_FW_VERSION_LOWRATE[24] = "TN32MSEC003S F/W Ver1.2";
@@ -291,9 +289,11 @@ void CDC_CARD_IO_SendData()
291289
// Card IO 处理函数
292290
void CDC_CARD_IO_Handler()
293291
{
292+
static uint8_t mifare_key_A[6];
293+
static uint8_t mifare_key_B[6];
294294

295-
static uint8_t AimeKey[6], BanaKey[6];
296-
uint16_t SystemCode;
295+
AIME_Request *req = (AIME_Request *)cdc_card_io.Req_PacketBuf;
296+
AIME_Response *resPackect = (AIME_Response *)cardIO_ResponseStringBuf;
297297
memset(cardIO_ResponseStringBuf, 0x00, 128); // Clear resPackect
298298
memset(&res, 0x00, 128); // Clear resPackect
299299

@@ -303,23 +303,21 @@ void CDC_CARD_IO_Handler()
303303
res.frame_len = 6;
304304
res.status = 0;
305305
res.payload_len = 0;
306-
// CDC_LED_IO_PutChar(_req.cmd);
307-
switch (_req.cmd) {
306+
307+
switch (req->cmd) {
308+
/**
309+
* @brief 下列状态是阻塞式处理,这里仅对PN532的发送进行处理
310+
*/
311+
// 初始化
308312
case CMD_TO_NORMAL_MODE:
309-
// _writeCommand(CDC2_RequestPacketBuf, 0, CDC_ResponseStringBuf, 0);
310-
// if (getFirmwareVersion())
311-
// {
312-
// res.status = 0x03;
313-
// res.payload_len = 0;
314-
// }
315-
// else
316313
res.frame_len = 6;
317314
res.status = 0;
318315
res.seq_no = 0;
319316
res.payload_len = 0;
320317
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
321318
CDC_CARD_IO_SendDataReady();
322319
break;
320+
// 获取固件版本信息
323321
case CMD_GET_FW_VERSION:
324322
#if CARD_READER_RATE == CARD_READER_RATE_HI
325323
memcpy(res.version, CARD_READER_FW_VERSION_HIRATE, sizeof(CARD_READER_FW_VERSION_HIRATE) - 1);
@@ -333,6 +331,7 @@ void CDC_CARD_IO_Handler()
333331
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
334332
CDC_CARD_IO_SendDataReady();
335333
break;
334+
// 获取硬件版本信息
336335
case CMD_GET_HW_VERSION:
337336
#if CARD_READER_RATE == CARD_READER_RATE_HI
338337
memcpy(res.version, CARD_READER_VERSION_HIRATE, sizeof(CARD_READER_VERSION_HIRATE) - 1);
@@ -346,6 +345,7 @@ void CDC_CARD_IO_Handler()
346345
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
347346
CDC_CARD_IO_SendDataReady();
348347
break;
348+
// 获取设备信息
349349
case CMD_EXT_BOARD_INFO:
350350
#if CARD_READER_RATE == CARD_READER_RATE_HI
351351
memcpy(res.info_payload, CARD_READER_VERSION_HIRATE, sizeof(CARD_READER_VERSION_HIRATE) - 1);
@@ -359,57 +359,72 @@ void CDC_CARD_IO_Handler()
359359
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
360360
CDC_CARD_IO_SendDataReady();
361361
break;
362+
// 设置Mifrare卡密钥B
362363
case CMD_MIFARE_KEY_SET_B:
363-
memcpy(key_B, _req.key, 6);
364+
memcpy(mifare_key_B, _req.key, 6);
364365
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
365366
CDC_CARD_IO_SendDataReady();
366367
break;
368+
// 设置Mifrare卡密钥A
367369
case CMD_MIFARE_KEY_SET_A:
368-
memcpy(key_A, _req.key, 6);
370+
memcpy(mifare_key_A, _req.key, 6);
369371
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
370372
CDC_CARD_IO_SendDataReady();
371373
break;
374+
// 设置设备RGB灯
372375
case CMD_EXT_BOARD_SET_LED_RGB:
373376
LED_RGB_SetPort(LED_RGB_PORT_UART, _req.color_payload[0], _req.color_payload[1], _req.color_payload[2]);
374377
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
375378
CDC_CARD_IO_SendDataReady();
376379
break;
380+
// 设置为默认模式(Not Sure)
377381
case CMD_EXT_TO_NORMAL_MODE:
378382
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
379383
CDC_CARD_IO_SendDataReady();
380384
break;
385+
// 开始拉取卡片
381386
case CMD_START_POLLING:
382387
PN532_setRFField(0, 1);
383388
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
384389
CDC_CARD_IO_SendDataReady();
385390
break;
391+
// 停止拉取卡片
386392
case CMD_STOP_POLLING:
387393
PN532_setRFField(0, 0);
388394
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
389395
CDC_CARD_IO_SendDataReady();
390396
break;
397+
// 发送16进制数据
391398
case CMD_SEND_HEX_DATA:
392399
res.status = 0x20;
393400
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
394401
CDC_CARD_IO_SendDataReady();
395402
break;
396-
// 下列状态是非阻塞式处理,这里仅对PN532的发送进行处理
403+
/**
404+
* @brief 下列状态是非阻塞式处理,这里仅对PN532的发送进行处理
405+
*/
406+
// 检测卡片
397407
case CMD_CARD_DETECT:
398408
PN532_Polling();
399409
break;
410+
// 读取Mifare卡片
400411
case CMD_MIFARE_READ:
401412
// CDC_LED_IO_PutChar(0Xe1);
402413
PN532_mifareclassic_ReadDataBlock(_req.block_no, res.block);
403414
break;
415+
// 读取Felica卡片
404416
case CMD_FELICA_THROUGH:
405417
PN532_felica_through();
406418
break;
419+
// 验证Mifare卡片密钥B
407420
case CMD_MIFARE_AUTHORIZE_B:
408-
PN532_mifareclassic_AuthenticateBlock(_req.uid, 4, _req.block_no, 1, key_B);
421+
PN532_mifareclassic_AuthenticateBlock(_req.uid, 4, _req.block_no, 1, mifare_key_B);
409422
break;
423+
// 验证Mifare卡片密钥A
410424
case CMD_MIFARE_AUTHORIZE_A:
411-
PN532_mifareclassic_AuthenticateBlock(_req.uid, 4, _req.block_no, 0, key_A);
425+
PN532_mifareclassic_AuthenticateBlock(_req.uid, 4, _req.block_no, 0, mifare_key_A);
412426
break;
427+
// 其他未明行为
413428
default:
414429
memcpy(cardIO_ResponseStringBuf, res.buffer, 128);
415430
CDC_CARD_IO_SendDataReady();
@@ -445,13 +460,7 @@ void CDC_LED_IO_UART_Poll()
445460
cdc_led_io.Req_PacketBuf[cdc_led_io.Req_PacketPos] = cur_byte;
446461
cdc_led_io.Req_PacketPos++;
447462
if (cdc_led_io.Req_PacketPos > 5 && cdc_led_io.Req_PacketPos - 5 == packect->length) {
448-
// CDC_LED_IO_PutChar(led_io_packect->length);
449-
// CDC_LED_IO_PutChar(checksum);
450-
// CDC_LED_IO_PutChar(led_io_prev_byte);
451-
// CDC_LED_IO_PutChar(cur_byte);
452-
// CDC_LED_IO_PutChar(cdc_led_io.Rx_CurPos);
453463
if (checksum == cur_byte) {
454-
// CDC_LED_IO_PutChar(0xAA);
455464
CDC_LED_IO_Handler();
456465
} else {
457466
// checksum error
@@ -533,30 +542,8 @@ void CDC_CARD_IO_UART_Poll()
533542
cdc_card_io.Req_PacketBuf[cdc_card_io.Req_PacketPos] = cur_byte;
534543
cdc_card_io.Req_PacketPos++;
535544

536-
// CDC_CARD_IO_PutChar(checksum);
537-
// CDC_CARD_IO_PutChar(cur_byte);
538-
539-
// CDC_CARD_IO_PutChar(0xFF);
540-
// CDC_CARD_IO_PutChar(0xFF);
541-
// CDC_CARD_IO_PutChar(0xFF);
542-
543-
// CDC_CARD_IO_PutChar(req->frame_len);
544-
// CDC_CARD_IO_PutChar(checksum);
545-
// CDC_CARD_IO_PutChar(prev_byte);
546-
// CDC_CARD_IO_PutChar(cur_byte);
547-
// CDC_CARD_IO_PutChar(cdc_card_io.Rx_CurPos);
548-
549545
if (cdc_card_io.Req_PacketPos > 5 && cdc_card_io.Req_PacketPos - 1 == req->frame_len) {
550-
551-
// CDC_CARD_IO_PutChar(0xFF);
552-
// CDC_CARD_IO_PutChar(0xFF);
553-
// CDC_CARD_IO_PutChar(0xFF);
554-
555-
// CDC_CARD_IO_PutChar(checksum);
556-
// CDC_CARD_IO_PutChar(cur_byte);
557-
558546
if (checksum == cur_byte) {
559-
// cdc_card_io_PutChar(0xAA);
560547
memcpy(_req.buffer, req->buffer, 64);
561548
CDC_CARD_IO_Handler();
562549
} else {
@@ -591,58 +578,6 @@ void CDC_CARD_IO_UART_Poll()
591578
}
592579

593580
return;
594-
595-
// uint8_t len = 0;
596-
// cdc_card_io.Rx_CurPos = 0;
597-
// uint8_t ret = cdc_card_io.Rx_Pending;
598-
// for (uint8_t i = 0; i < ret; i++) {
599-
// cur_byte = cdc_card_io.Rx_PendingBuf[i];
600-
// if (cur_byte == 0xE0) {
601-
// _req.frame_len = 0xFF;
602-
// continue;
603-
// }
604-
// if (_req.frame_len == 0xFF) {
605-
// _req.frame_len = cur_byte;
606-
// checksum = cur_byte;
607-
// len = 0;
608-
// continue;
609-
// }
610-
// if (cur_byte == 0xD0) {
611-
// prev_byte = 0xD0;
612-
613-
// // if (cdc_card_io.Rx_Pending == 0) {
614-
// // SetEPRxValid(CDC_CARD_IO_EP);
615-
// // }
616-
// continue;
617-
// }
618-
// if (prev_byte == 0xD0) {
619-
// cur_byte++;
620-
// prev_byte = 0;
621-
// }
622-
// len += 1;
623-
// _req.buffer[len] = cur_byte;
624-
// if (len == _req.frame_len) {
625-
// if (checksum == cur_byte) {
626-
// CDC_CARD_IO_Handler();
627-
// } else {
628-
// // cdc_card_io.Req_PacketBuf[3] = 0x05; //STATUS_SUM_ERROR
629-
// CDC_CARD_IO_Handler();
630-
// }
631-
632-
// // cdc_card_io.Req_PacketPos = 0;
633-
// // checksum = 0;
634-
// // prev_byte = 0;
635-
// // if (cdc_card_io.Rx_Pending == 0) {
636-
// // SetEPRxValid(CDC_CARD_IO_EP);
637-
// // }
638-
// // return;
639-
// break;
640-
// }
641-
642-
// checksum += cur_byte;
643-
// cdc_card_io.Rx_Pending--;
644-
// }
645-
// SetEPRxValid(CDC_CARD_IO_EP);
646581
#endif
647582
}
648583

0 commit comments

Comments
 (0)