Quantcast
Channel: Forum - Recent Threads
Viewing all articles
Browse latest Browse all 5781

SPI Configuration and Functions

$
0
0

Hello guys,

I am trying to read NFC cards with the NXP MFRC522 chip. I already used the same module with some Atmel and ST microcontrollers. But with the Renesas SK-S7G2,

I'm having a hard time. Has anyone implemented it yet?
I think my problem is with SPI functions.

Any suggestion?

 

#include "spi_common.h"

volatile uint8_t spi_done = 0;

ssp_err_t spi_open() {
    return (g_spi_rfid.p_api->open(g_spi_rfid.p_ctrl, g_spi_rfid.p_cfg));
}

ssp_err_t spi_close() {
    return (g_spi_rfid.p_api->close(g_spi_rfid.p_ctrl));
}

ssp_err_t spi_read(void *read_buffer, uint32_t number_bytes, spi_bit_width_t bit_width) {
    return (g_spi_rfid.p_api->read(g_spi_rfid.p_ctrl, &read_buffer, number_bytes, bit_width));
}

ssp_err_t spi_write(void *write_buffer, uint32_t number_bytes, spi_bit_width_t bit_width) {
    return (g_spi_rfid.p_api->write(g_spi_rfid.p_ctrl, &write_buffer, number_bytes, bit_width));
}

ssp_err_t spi_write_read(void *read_buffer, void *write_buffer, uint32_t number_bytes, spi_bit_width_t bit_width) {
    return (g_spi_rfid.p_api->writeRead(g_spi_rfid.p_ctrl, &read_buffer, &write_buffer, number_bytes, bit_width));
}

ssp_err_t spi_write_register(uint8_t reg, uint8_t value) {
    uint8_t reg_write[] = {reg, value};
    ssp_err_t err = SSP_SUCCESS;

    err = spi_write((void *)reg_write, 2, SPI_BIT_WIDTH_8_BITS);
    while (spi_done == 0);
    spi_done = 0;

    return err;
}

ssp_err_t spi_read_register(uint8_t reg, uint8_t *value) {
    uint8_t reg_read[] = {reg, 0x00};
    ssp_err_t err = SSP_SUCCESS;

    err = spi_write(reg_read, 2, SPI_BIT_WIDTH_8_BITS);
    while (spi_done == 0);
    spi_done = 0;

    err |= spi_read(&value, 1, SPI_BIT_WIDTH_8_BITS);
    while (spi_done == 0);
    spi_done = 0;

    return err;
}

// A callback function, called by SPI interrupts
void spi_callback (spi_callback_args_t * p_args) {
    UNUSED(p_args);
    spi_done =  1;
}


Viewing all articles
Browse latest Browse all 5781

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>