1
0
mirror of https://github.com/whowechina/aic_pico.git synced 2025-02-20 20:41:17 +01:00

Attach I2C interface to skip init

This commit is contained in:
whowechina 2024-03-16 15:43:10 +08:00
parent 7f1fa63fce
commit 1461e63243
3 changed files with 13 additions and 7 deletions

View File

@ -33,9 +33,10 @@ typedef struct {
uint8_t syscode[2];
} nfc_card_t;
/* should set i2c and spi port before init */
void nfc_set_i2c(i2c_inst_t *port, uint8_t scl, uint8_t sda, uint32_t freq);
void nfc_set_spi(spi_inst_t *port, uint8_t miso, uint8_t sck, uint8_t mosi,
/* should init or attach i2c and spi port before init */
void nfc_attach_i2c(i2c_inst_t *port);
void nfc_init_i2c(i2c_inst_t *port, uint8_t scl, uint8_t sda, uint32_t freq);
void nfc_init_spi(spi_inst_t *port, uint8_t miso, uint8_t sck, uint8_t mosi,
uint8_t rst, uint8_t nss, uint8_t busy);
void nfc_init();

View File

@ -79,7 +79,12 @@ static struct {
uint8_t sda;
} i2c = {0};
void nfc_set_i2c(i2c_inst_t *port, uint8_t scl, uint8_t sda, uint32_t freq)
void nfc_attach_i2c(i2c_inst_t *port)
{
i2c.port = port;
}
void nfc_init_i2c(i2c_inst_t *port, uint8_t scl, uint8_t sda, uint32_t freq)
{
i2c.port = port;
i2c.freq = freq;
@ -97,7 +102,7 @@ static struct {
uint8_t busy;
} spi = {0};
void nfc_set_spi(spi_inst_t *port, uint8_t miso, uint8_t sck, uint8_t mosi,
void nfc_init_spi(spi_inst_t *port, uint8_t miso, uint8_t sck, uint8_t mosi,
uint8_t rst, uint8_t nss, uint8_t busy)
{
spi.port = port;

View File

@ -223,8 +223,8 @@ void init()
mutex_init(&core1_io_lock);
save_init(0xca340a1c, &core1_io_lock);
nfc_set_i2c(I2C_PORT, I2C_SCL, I2C_SDA, I2C_FREQ);
nfc_set_spi(SPI_PORT, SPI_MISO, SPI_SCK, SPI_MOSI, SPI_RST, SPI_NSS, SPI_BUSY);
nfc_init_i2c(I2C_PORT, I2C_SCL, I2C_SDA, I2C_FREQ);
nfc_init_spi(SPI_PORT, SPI_MISO, SPI_SCK, SPI_MOSI, SPI_RST, SPI_NSS, SPI_BUSY);
nfc_init();
nfc_set_wait_loop(wait_loop);