void rfid_init(rfid_read_callback pfn_cb) { if(MODBUS_ERRNONE != modbus_init(&h_modbus,RFID_UART_CHN,RFID_UART_BAUDRATE)) { Critical_Log("RFID modbus init failed!\r\n"); return; } pfn_read_callback = pfn_cb; h_modbus.pfn_recv_callback = modbus_uart_recv_callback; uint16_t channel = RFID_CHANNEL_1_ENABLE; modbus_write(&h_modbus,RFID_MODBUS_ADDR,WRITE_SINGLE_REG,RFID_CHANNEL,1,&channel); return; }
时间: 2023-09-04 11:16:48 浏览: 66
PHP正则替换函数preg_replace和preg_replace_callback使用总结
这段代码是用来初始化 RFID 读卡器的。它使用了 modbus 协议与读卡器进行通信,初始化时会设置串口通信的波特率和数据通道。其中,pfn_cb 是一个回调函数指针,用于传递读卡器读到卡片信息时的回调函数,pfn_read_callback 则是用来存储这个回调函数指针的变量。在初始化过程中,还会写入一个单个寄存器,用来开启 RFID 的通道 1。如果 modbus 初始化失败,会打印一条日志并退出函数。
阅读全文