ファームウェア関数一覧

SPI_Init

ヘッダ宣言

関数プロトタイプ

void SPI_Init(SPI_TypeDef* SPIx, SPI_InitTypeDef* SPI_InitStruct)

動作

  • SPIx/I2Sx周辺回路レジスタに値を設定し初期化します。

引数

  • SPIx
    SPIx説明
    SPI1SPI1を選択
    SPI2SPI2を選択
    SPI3SPI3を選択
  • SPI_InitStruct
    stm32f10x_spi.hで定義されているSPI_InitTypeDef構造体へのポインタです。
    typedef struct
    {
     uint16_t SPI_Direction;
     uint16_t SPI_Mode;
     uint16_t SPI_CPOL;
     uint16_t SPI_CPHA;
     uint16_t SPI_NSS;
     uint16_t SPI_BaudRatePrescaler;
     uint16_t SPI_FirstBit;
    } SPI_InitTypeDef;
    • SPI_Direction 信号の本数と送受信の方向を設定します。 通常マスタとスレーブはMISOとMOSIの2本で接続されますが、それぞれ送受信専用として一本の接続でも使えます。

      SPI_Direction説明
      SPI_Direction_2Lines_FullDuplex2信号線、全二重
      SPI_Direction_2Lines_RxOnly2信号線、受信専用
      SPI_Direction_1Line_Rx1信号線、受信専用
      SPI_Direction_1Line_Tx1信号線、送信専用

    • SPI_Mode
      SPI_Mode説明
      SPI_Mode_MasterSPIをマスタモードとして設定します
      SPI_Mode_SlaveSPIをスレーブモードとして設定します
    • SPI_CPOL
      • 無通信時(待機中)のSCLピンの電圧レベルを指定します。

        SPI_CPOL説明
        SPI_CPOL_High負パルス
        SPI_CPOL_Low正パルス

    • SPI_CPHA
      #include(): Limit exceeded: Macro/SPI_CPHA

    • SPI_NSS
      #include(): Limit exceeded: Macro/SPI_NSS

    • SPI_BaudRatePrescaler #include(): Limit exceeded: Macro/SPI_BaudRatePrescaler
    • SPI_FirstBit
      最初に送信するビットを設定します。

      #include(): Limit exceeded: Macro/SPI_FirstBit

出力値

  • 無し

戻り値

  • 無し

場所

呼び出し関数

  • 無し

サンプル

/* Initialize the SPI1 according to the SPI_InitStructure members */
SPI_InitTypeDef SPI_InitStructure;
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
SPI_InitStructure.SPI_BaudRatePrescaler =
SPI_BaudRatePrescaler_128;
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
SPI_Init(SPI1, &SPI_InitStructure);

参照

  • STM32マイコン徹底入門 P.267

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-11-03 (木) 21:56:39