C2A_Core
|
SPI通信(Master側)のラッパークラスです。 [詳解]
#include <stdint.h>
データ構造 | |
struct | SPI_Config |
SPIポートの初期化、データ送信・受信の際に必要となる設定情報を格納する構造体です。 [詳解] | |
列挙型 | |
enum | SPI_MODE { SPI_MODE_0 = 0 , SPI_MODE_1 = 1 , SPI_MODE_2 = 2 , SPI_MODE_3 = 3 } |
SPI動作モードの設定 [詳解] | |
enum | SPI_CS_STATE_AFTER_TX { SPI_CS_STATE_AFTER_TX_HIGH = 0 , SPI_CS_STATE_AFTER_TX_LOW = 1 } |
enum | SPI_ERR_CODE { SPI_ERR_UNKNOWN = -20 , SPI_ERR_RX_BUFFER_SMALL = -14 , SPI_ERR_DATA_NEGA = -13 , SPI_ERR_DATA_LARGE = -12 , SPI_ERR_GPIO = -5 , SPI_ERR_YET = -4 , SPI_ERR_ALREADY = -3 , SPI_ERR_FREQUENCY = -2 , SPI_ERR_CH = -1 , SPI_ERR_OK = 0 } |
SPI用の汎用エラーコード [詳解] | |
関数 | |
int | SPI_init (void *my_spi_v) |
SPI_Config構造体をグローバルインスタンスとして定義し、ポインタを渡すことでポートを初期化します。 [詳解] | |
int | SPI_rx (void *my_spi_v, void *data_v, int buffer_size) |
SPI_Config構造体にて指定されたchからデータを受信します [詳解] | |
int | SPI_tx (void *my_spi_v, void *data_v, int data_size) |
SPI_Config構造体にて指定されたchへデータを送信します [詳解] | |
int | SPI_reopen (void *my_spi_v, int reason) |
指定されたchを開きなおす [詳解] | |
void | SPI_set_rx_length (void *my_spi_v, const uint16_t rx_length) |
rx_lengthを設定する [詳解] | |
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通信(Master側)のラッパークラスです。
spi.h に定義があります。
enum SPI_ERR_CODE |
SPI用の汎用エラーコード
enum SPI_MODE |
int SPI_init | ( | void * | my_spi_v | ) |
SPI_Config構造体をグローバルインスタンスとして定義し、ポインタを渡すことでポートを初期化します。
[in] | my_spi_v | 初期化するSPI_Config構造体へのポインタ |
int SPI_reopen | ( | void * | my_spi_v, |
int | reason | ||
) |
指定されたchを開きなおす
[in] | my_spi_v | 開きなおす際のポート設定 |
[in] | reason | reopenする理由.0は正常操作を示す TODO: reasonのenumを作る? |
int SPI_rx | ( | void * | my_spi_v, |
void * | data_v, | ||
int | buffer_size | ||
) |
SPI_Config構造体にて指定されたchからデータを受信します
[in] | my_spi_v | : 対象とするSPI_Config構造体へのポインタ |
[in] | data_v | : 受信データ格納先へのポインタ |
[in] | buffer_size | : 受信データ格納先のバッファサイズ、SPI通信による受信データ長よりも長い必要がある |
0 | 受信データなし |
正 | 受信データバイト数 |
負 | エラー. SPI_ERR_CODE に従う |
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を設定する
[in] | my_spi_v | : 対象とするSPI_Config構造体へのポインタ |
[in] | cs_state_after_tx | : 設定するcs_state_after_tx |
void SPI_set_rx_length | ( | void * | my_spi_v, |
const uint16_t | rx_length | ||
) |
rx_lengthを設定する
[in] | my_spi_v | : 対象とするSPI_Config構造体へのポインタ |
[in] | rx_length | : 設定する受信データ長 |
int SPI_tx | ( | void * | my_spi_v, |
void * | data_v, | ||
int | data_size | ||
) |
SPI_Config構造体にて指定されたchへデータを送信します
[in] | my_spi_v | : 対象とするSPI_Config構造体へのポインタ |
[in] | data_v | : 送信データ格納先へのポインタ |
[in] | count | : 送信データサイズ |