在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

STM32G0開發(fā)筆記:SPI接口的基本使用

CHANBAEK ? 來源:電子技術攻城獅 ? 作者: MakerInChina.cn ? 2023-01-17 10:38 ? 次閱讀

使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面介紹SPI接口的基本使用。

1 SPI配置

以下為設置SPI1,引腳映射為PA5\\6\\7,使用軟件控制CS-PA4;

1/* Enable SPI1 Periph and gpio clocks */
 2    rcc_periph_clock_enable(RCC_SPI1);
 3    rcc_periph_clock_enable(RCC_GPIOA);
 4
 5/* Configure GPIOs:
 6     * 
 7     * SCK=PA5
 8     * MOSI=PA7 
 9     * MISO=PA6
10     * 
11     * for SD card
12     * SDCS PA4
13     */
14
15//MOSI & SCK & MISO
16gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE,GPIO5|GPIO7|GPIO6);
17gpio_set_af(GPIOA,GPIO_AF0,GPIO5|GPIO7|GPIO6);
18gpio_set_output_options(GPIOA, GPIO_OTYPE_PP,GPIO_OSPEED_LOW,GPIO5|GPIO7|GPIO6);
19
20//SDCS 
21gpio_mode_setup(GPIOA,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,GPIO4);
22gpio_set(GPIOA,GPIO4);
23
24/* Reset SPI, SPI_CR1 register cleared, SPI is disabled */
25spi_reset(SPI1);
26
27/* Set up SPI in Master mode with:
28   * Clock baud rate
29   * Clock polarity
30   * Clock phase
31   * Frame format MSB
32   */
33spi_init_master(SPI1, SPI_CR1_BAUDRATE_FPCLK_DIV_128, 
34                SPI_CR1_CPOL_CLK_TO_0_WHEN_IDLE,
35                SPI_CR1_CPHA_CLK_TRANSITION_1,
36                SPI_CR1_MSBFIRST);
37
38    spi_set_data_size(SPI1,SPI_CR2_DS_8BIT);
39    spi_set_full_duplex_mode(SPI1);
40
41/*
42   * Set NSS management to software.
43   *
44   * Note:
45   * Setting nss high is very important, even if we are controlling 
46   * the GPIO
47   * ourselves this bit needs to be at least set to 1, otherwise the spi
48   * peripheral will not send any data out.
49   */
50spi_enable_software_slave_management(SPI1);
51spi_set_nss_high(SPI1);
52
53/* Enable SPI1 periph. */
54spi_enable(SPI1);

設置流程:打開外設時鐘-> 設置SPI引腳 -> CS引腳 -> 配置SPI模式包括SPI速度、CPOL\\CPHA -> SPI傳輸數(shù)據(jù)位數(shù) -> NSS配置 -> SPI使能;

2 SPI讀寫

  • 寫入后讀取
1uint16_t spi_xfer(uint32_t spi, uint16_t data)
  • 發(fā)送
1void spi_send(uint32_t spi, uint16_t data)
2
  • 接收
1uint16_t spi_read(uint32_t spi)
  • 對于8bit的發(fā)送和接收在STM32G0上,libopencm3庫需要使用如下接口:
1spi_send8();
2spi_read8();

3 說明

默認配置的SPI時鐘是連續(xù)的,波形如下:

在某些時候需要在幀之間有些空隙,可以設置CR2寄存器的NSSP位或者直接在發(fā)送前進行延時:

1SPI_CR2(SPI1) |= SPI_CR2_NSSP; //NSSP

波形如下:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5343

    瀏覽量

    120348
  • 接口
    +關注

    關注

    33

    文章

    8596

    瀏覽量

    151147
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    355985
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1706

    瀏覽量

    91578
  • SPI接口
    +關注

    關注

    0

    文章

    258

    瀏覽量

    34382
收藏 人收藏

    評論

    相關推薦

    AN5096_介紹STM32G0系列硬件開發(fā)

    AN5096_介紹STM32G0系列硬件開發(fā)
    發(fā)表于 11-21 08:11 ?4次下載
    AN5096_介紹<b class='flag-5'>STM32G0</b>系列硬件<b class='flag-5'>開發(fā)</b>

    STM32G0開發(fā)筆記:FreeRTOS和FreeModbus庫使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為FreeRTOS和FreeModbus庫使用。
    的頭像 發(fā)表于 01-16 14:44 ?5692次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:FreeRTOS和FreeModbus庫使用

    STM32G0開發(fā)筆記:FreeRTOS和CLI組件使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為FreeRTOS和CLI組件使用。
    的頭像 發(fā)表于 01-16 14:47 ?3598次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:FreeRTOS和CLI組件使用

    STM32G0開發(fā)筆記:使用FreeRTOS系統(tǒng)的隊列Queue

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面為使用FreeRTOS系統(tǒng)的隊列Queue。
    的頭像 發(fā)表于 01-16 14:50 ?1393次閱讀

    STM32G0開發(fā)筆記:使用FreeRTOS系統(tǒng)

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面為使用FreeRTOS系統(tǒng)。
    的頭像 發(fā)表于 01-16 15:07 ?2419次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:使用FreeRTOS系統(tǒng)

    STM32G0開發(fā)筆記:使用ADC進行NTC溫度采集

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下使用ADC進行NTC溫度采集。
    的頭像 發(fā)表于 01-16 15:12 ?9614次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:使用ADC進行NTC溫度采集

    STM32G0開發(fā)筆記:用PWM來實現(xiàn)LED呼吸燈效果

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面使用PWM來實現(xiàn)LED呼吸燈效果。
    的頭像 發(fā)表于 01-16 15:15 ?2294次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:用PWM來實現(xiàn)LED呼吸燈效果

    STM32G0開發(fā)筆記:EEPROM M24C02的使用方法

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為EEPROM M24C02的使用方法。
    的頭像 發(fā)表于 01-16 15:19 ?2891次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:EEPROM M24C02的使用方法

    STM32G0開發(fā)筆記:SD卡模塊的使用方法

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面介紹SD卡模塊的使用方法。
    的頭像 發(fā)表于 01-19 16:27 ?2343次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:SD卡模塊的使用方法

    STM32G0開發(fā)筆記:多通道ADC與DMA的使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為多通道ADC與DMA的使用。
    的頭像 發(fā)表于 01-17 10:41 ?7057次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:多通道ADC與DMA的使用

    STM32G0開發(fā)筆記:定時器timer的基本使用方法

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為定時器timer的基本使用方法。
    的頭像 發(fā)表于 01-17 10:43 ?3710次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:定時器timer的基本使用方法

    STM32G0開發(fā)筆記:串口中斷的使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為串口中斷的使用。
    的頭像 發(fā)表于 01-17 10:46 ?2363次閱讀

    STM32G0開發(fā)筆記:GPIO接按鍵的使用方式

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面為GPIO接按鍵的使用方式。
    的頭像 發(fā)表于 01-17 10:48 ?1782次閱讀

    STM32G0開發(fā)筆記:LED燈示例

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面為LED燈示例。
    的頭像 發(fā)表于 01-17 10:52 ?1421次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:LED燈示例

    STM32G0開發(fā)筆記:使用libopencm3庫

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0開發(fā)環(huán)境為VSCode+PIO插件,這里以開發(fā)
    的頭像 發(fā)表于 01-17 10:56 ?1919次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:使用libopencm3庫
    主站蜘蛛池模板: 欧美区在线播放 | 福利在线看片 | 伊人草 | 国产精品视频色拍拍 | 911精品国产91久久久久 | 日本 韩国 三级 国产 欧美 | 一区视频在线播放 | 2018国产大陆天天弄 | 777777777妇女亚洲 | 97理论三级九七午夜在线观看 | 成人国产精品一级毛片了 | 快乐你懂的在线视频免费观看 | 91精品久久久久含羞草 | 国产综合精品久久久久成人影 | 五月婷婷激情视频 | 69xx女xo69| 免费边摸边吃奶边叫床视频gif | avbobo官网在线入口 | 婷婷激情综合 | 色综合天天综合网国产国产人 | 在线天堂中文 | 天堂在线最新版www中文 | 日产乱码免费一卡二卡在线 | 欧美福利二区 | 444kk免费| 另类free性欧美护士 | 在厨房乱子伦在线观看 | 成人国产激情福利久久精品 | 91深夜福利 | 色婷婷精品视频 | 精品三级在线观看 | 一区二区精品 | 91久久青草精品38国产 | 老头天天吃我奶躁我的动图 | 欧美黄三级在线观看 | 国产福利观看 | 夜夜爽一区二区三区精品 | 91欧美精品激情在线观看 | 国产成人精品曰本亚洲78 | 精品免费视在线视频观看 | 成人毛片在线播放 |