#pragma once #include #include "project_dep.h" #ifdef __cplusplus extern "C" { #endif typedef struct { /** * @brief 指令SPI 接口 */ SPI_HandleTypeDef *spi2; /** * @brief timecode并口 */ xs_gpio_t timecode_add[4]; xs_gpio_t timecode_data[8]; Pin_t timecode_add_pin[4]; Pin_t timecode_data_pin[8]; Pin_t timecode_irq_pin; Pin_t camera_sync_code_irq_pin; Pin_t xsync_workstate_start_sig_irq_io_pin; Pin_t reset_pin; xs_gpio_t timecode_irq_io; xs_gpio_t camera_sync_code_irq_io; xs_gpio_t xsync_workstate_start_sig_irq_io; xs_gpio_t reset_pin_io; } fpga_if_t; /** * @brief fpga_if初始化 * */ void fpga_if_init(); /** * @brief 读取当前timecode * * @param timecode0 * @param timecode1 */ void fpga_if_get_timecode(uint32_t *timecode0, uint32_t *timecode1); /** * @brief SPI寄存器写指令 FPGA备用SPI * * @param add * @param txdata * @param rxdata */ void fpga_if_spi_write_data_02(uint32_t add, uint32_t txdata, uint32_t *rxdata); /** * @brief SPI寄存器读指令 FPGA备用SPI * * @param add * @param rxdata */ void fpga_if_spi_read_data_02(uint32_t add, uint32_t *rxdata); void fpga_if_get_record_state(uint32_t *workstate); fpga_if_t *fpga_if_get_instance(); #ifdef __cplusplus } #endif