freertosでspiを使用するKendryteK210

この記事はK210の標準spiインターフェースの使用についてですが、公式ルーチンでは、csフットはgpioによってシミュレートされます。実際、特別なcsフットがあります。なぜこのように使用されるのかは明確ではありません。ドキュメントはまた異なります、ここで私はspiの使用法を要約します

1つ目は、次のようなピン構成です。

project_cfg.h

const fpioa_cfg_t g_fpioa_cfg = 
{
    .version = PIN_CFG_VERSION,
    .functions_count =5,
    .functions =
    {       
        {SPI_MASTER_CLK_PIN, FUNC_SPI0_SCLK},
        {SPI_MASTER_MOSI_PIN, FUNC_SPI0_D0},
        {SPI_MASTER_MISO_PIN, FUNC_SPI0_D1},
        {SPI_MASTER_CS_PIN, FUNC_SPI0_SS0},
        {SPI_MASTER_INT_PIN, FUNC_GPIOHS0 + SPI_MASTER_INT_IO},
    }
};

PINは自分で定義します。INT_PINは通常の4線式の場合は無視してかまいません。このピンには特別な目的があるため、わざわざ削除する必要はありません。

main.c:

    int i;
    printf("hello spi\n");
    handle_t spi = io_open ("/dev/spi0");
    handle_t dev0 = spi_get_device(spi, SPI_MODE_0, SPI_FF_STANDARD, 1, 8);
    spi_dev_set_clock_rate(dev0,

おすすめ

転載: blog.csdn.net/smile_5me/article/details/115319591