93 int SPI_rx(
void* my_spi_v,
void* data_v,
int buffer_size);
102 int SPI_tx(
void* my_spi_v,
void* data_v,
int data_size);
int SPI_tx(void *my_spi_v, void *data_v, int data_size)
SPI_Config構造体にて指定されたchへデータを送信します
void SPI_set_cs_state_after_tx(void *my_spi_v, const SPI_CS_STATE_AFTER_TX cs_state_after_tx)
cs_state_after_txを設定する
@ SPI_CS_STATE_AFTER_TX_LOW
送信後にCSをLowのままにし、そのまま受信動作などを行う
@ SPI_CS_STATE_AFTER_TX_HIGH
送信後にCSをHighにする
void SPI_set_rx_length(void *my_spi_v, const uint16_t rx_length)
rx_lengthを設定する
int SPI_reopen(void *my_spi_v, int reason)
指定されたchを開きなおす
int SPI_init(void *my_spi_v)
SPI_Config構造体をグローバルインスタンスとして定義し、ポインタを渡すことでポートを初期化します。
SPI_ERR_CODE
SPI用の汎用エラーコード
@ SPI_ERR_DATA_NEGA
送受信データサイズが負のエラー
@ SPI_ERR_ALREADY
チャンネルオープン済み
@ SPI_ERR_RX_BUFFER_SMALL
受信バッファサイズが受信データ長より小さい
@ SPI_ERR_CH
チャンネル異常 (Port_configに無い)
@ SPI_ERR_DATA_LARGE
送受信データサイズが大きすぎる
int SPI_rx(void *my_spi_v, void *data_v, int buffer_size)
SPI_Config構造体にて指定されたchからデータを受信します
@ SPI_MODE_0
CPOL=0, CPHA = 0
@ SPI_MODE_2
CPOL=1, CPHA = 0
@ SPI_MODE_1
CPOL=0, CPHA = 1
@ SPI_MODE_3
CPOL=1, CPHA = 1
SPIポートの初期化、データ送信・受信の際に必要となる設定情報を格納する構造体です。
SPI_CS_STATE_AFTER_TX cs_state_after_tx
送信動作後にChip SelectをHighにするかどうかのフラグ
uint8_t tx_data_for_rx
RX動作をするために定期的に送るTXデータ
uint16_t rx_length
受信するデータ数、受信動作前に設定する
uint8_t comm_ch
継承先の機器がつながっている通信ポート番号
uint8_t gpio_ch
継承先の機器がつながっているChip Select用GPIOポート番号
uint32_t frequency_khz
SPIクロックの周波数 単位:kHz