Thread 中讨论的其他器件:TRF7970A
工具与软件:
您好!
我正在使用 stm32l0开发 RFID 读取器 TRF7970a 芯片、我现在遇到的问题是我好像初始化芯片有误、因此不会发出射频场。 首先、电源状态良好、因为绿色 LED 亮起、通过 SPI 在 STM32和 trf 之间进行通信的情况良好、因为我可以写入寄存器、然后读取它、所有这些都匹配。 问题是、代码开始工作前一周、我可以在示波器上看到射频场、但现在没有变化、但不会发出射频场...
如果有任何帮助、将不胜感激。
int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART2_UART_Init(); MX_TIM22_Init(); /* USER CODE BEGIN 2 */ SLAVE_SELECT_LOW; HAL_Delay(2); SLAVE_SELECT_HIGH; // Wait until TRF system clock started // HAL_Delay(5); //set the enable Pin high TRF_DISABLE; HAL_Delay(4); TRF_ENABLE; // Set up TRF initial settings TRF79xxA_initialSettings(); TRF79xxA_setTrfPowerSetting(TRF79xxA_3V_FULL_POWER); // Initialize all enabled technology layers NFC_init(); // TRF79xxA_writeRegister(0x00, 0x20); log_message("Chip Status control register "); log_byteAsBits(TRF79xxA_readRegister(0x00)); log_message("\r\n"); // test_NFRFID_SPI_Communication(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ TRF79xxA_turnRfOn(); // log_message("Chip Status control register "); log_byteAsBits(TRF79xxA_readRegister(0x00)); log_message("\r\n"); log_message("IRQ register "); log_byteAsBits(TRF79xxA_readRegister(TRF79XXA_IRQ_STATUS)); log_message("\r\n"); log_message("RSSI levels register "); log_byteAsBits(TRF79xxA_readRegister(TRF79XXA_RSSI_LEVELS)); log_message("\r\n"); // IRQ_ON; while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ NFC_findTag(); // HAL_Delay(1000); } /* USER CODE END 3 */ }