久久久国产精品视频袁燕,99re久久精品国产,亚洲欧美日韩国产综合v,天天躁夜夜躁狠狠久久,激情五月婷婷激情五月婷婷

程序小白
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
RT-Thread驅(qū)動(dòng)之路:stm32設(shè)備驅(qū)動(dòng)開發(fā)之SPI總線操作方法③
RT-Thread驅(qū)動(dòng)之路:stm32設(shè)備驅(qū)動(dòng)開發(fā)之HWTIMER開發(fā)①
RT-Thread驅(qū)動(dòng)之路: Studio硬件移植篇①
RT-Thread驅(qū)動(dòng)之路:Studio修改時(shí)鐘篇②
RT-Thread驅(qū)動(dòng)之路: Studio初始化SPI總線③
RT-Thread驅(qū)動(dòng)之路: Studio 掛載通用SPI flash④
作者動(dòng)態(tài) 更多
基于stm32采用PWM驅(qū)動(dòng)伺服控制器學(xué)習(xí)筆記
05-13 15:25
基于STM32驅(qū)動(dòng)TM1638學(xué)習(xí)筆記——軟件篇
04-19 12:42
基于TM1638驅(qū)動(dòng)8位數(shù)碼管設(shè)計(jì)分享
02-24 11:26
RT-Thread驅(qū)動(dòng)之路: Studio創(chuàng)建FAL分區(qū)⑤
01-02 08:30
RT-Thread驅(qū)動(dòng)之路: Studio 掛載通用SPI flash④
2024-12-23 13:41

RT-Thread驅(qū)動(dòng)之路: Studio初始化SPI總線③

      創(chuàng)建SPI總線之前,我們需要指導(dǎo)怎樣才算總線初始化成功了可用呢,系統(tǒng)提供了list device命令可以打印出當(dāng)前設(shè)備列表:

      接下來就是如何真正的初始化SPI控制器了,其實(shí)很簡(jiǎn)單按照如下步驟走就可以:

      1.打開SPI設(shè)備框架,該部分位于系統(tǒng)設(shè)置的組件選項(xiàng)卡里面,使用SPI總線/設(shè)備驅(qū)動(dòng)程序。

      這一步只是打開了純粹的軟件設(shè)備框架,一般MCU會(huì)有多個(gè)SPI控制器,接下來需要打開你需要的那個(gè)SPI控制器

      2.定義關(guān)聯(lián)真實(shí)SPI控制器的宏,位于board.h文件中,默認(rèn)是被注釋狀態(tài),打開即可:

      3.需要借助cubemx軟件對(duì)SPI的gpio部分完成初始化,首先配置對(duì)應(yīng)的SPI控制器,完成之后就是需要電機(jī)生成代碼來生成對(duì)應(yīng)的控制器代碼,生成的代碼為void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)函數(shù),這個(gè)函數(shù)位于stm32f4xx_hal_msp.c文件中,把他復(fù)制到board.c文件中,生成的代碼如下:

void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};
  if(hspi->Instance==SPI2)
  {
  /* USER CODE BEGIN SPI2_MspInit 0 */

  /* USER CODE END SPI2_MspInit 0 */
    /* Peripheral clock enable */
    __HAL_RCC_SPI2_CLK_ENABLE();

    __HAL_RCC_GPIOB_CLK_ENABLE();
    /**SPI2 GPIO Configuration
    PB13     ------> SPI2_SCK
    PB14     ------> SPI2_MISO
    PB15     ------> SPI2_MOSI
    */
    GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
    GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

  /* USER CODE BEGIN SPI2_MspInit 1 */

  /* USER CODE END SPI2_MspInit 1 */
  }

}

      4.代碼移植完以后,還需要打開SPI控制器hal庫的支持宏:

      到這里就完成了SPI的移植的所有工作,接下來就是編譯整個(gè)工程,檢查沒有錯(cuò)誤后,通過仿真器下載到硬件里面,打開終端串口,輸入list device命令,我們從列表里面如果可以看到SPI設(shè)備的話就是初始化成功了:

      本篇到這里就結(jié)束了,感謝閱讀!

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 4
收藏 6
關(guān)注 151
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧