99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

stm32標準庫SPI移植到HAL庫

標準庫和hal庫區(qū)別還是相當大的,舉個簡單的例子,驅動SPI OLD

標注庫初始化SPI

再看HAL庫SPI

除了 基本的io口配置區(qū)別,其他主要的讀寫函數不用動的,就改一個寫字節(jié)函數,對于oled12864屏,不用讀

用這一個函數HAL_SPI_Transmit(&hspi1,&TxData,1,1000)就ok了

/* SPI寫入一個字節(jié) */
void SPI_WByte(uint8_t TxData)
{
//	/* 通過外設SPIx發(fā)送一個數據 */
//	SPI_I2S_SendData(OLED_SPI, TxData);

//	/* 檢查指定的SPI標志位設置與否:發(fā)送緩存空標志位*/
//	while (SPI_I2S_GetFlagStatus(OLED_SPI, SPI_I2S_FLAG_TXE) == RESET);
	HAL_SPI_Transmit(&hspi1,&TxData,1,1000);
}

我們再看CubeMX配置SPI,模式為Full-Duplex Master,即全雙工主機模式;

接下來是選擇NSS 的模式,NSS模式共有三種:NSS_Soft、Hardware Input和Hardware Output

NSS_Soft —— 即軟件控制CS片選信號拉高或者拉低,選擇該模式時,如果需要輸出CS,要配置選擇的引腳為輸出模式,如我這里將PA4引腳做CS信號輸出腳,則應該在CubeMX中配置其為GPIO_Output模式,之后在程序中通過設置引腳SET或RESET進行拉高或者拉低。

Hardware Output —— 即硬件輸出模式,選擇該模式時,硬件SPI要發(fā)送數據時會自動將片選信號拉低并且通過PA4引腳輸出,主要用于一主一從的SPI通信控制

Hardware Input —— 即硬件輸入模式,該模式只有在設備作為從機通信時可選擇,輸入的片選信號控制設備的通信與否    這里選擇NSS_Soft(后面解釋為什么不能選Hardware Output模式)

對于SPI讀寫控制中,最好設置為NSS_Soft模式,不要用硬件輸出模式,然后每次軟件控制NSS拉低再拉高,從而實現指令的成功發(fā)送。

對于GPIO這塊

CubeMX上開啟io并標相關功能的簽標好

全部回復(2)
正序查看
倒序查看
2022-01-23 12:49

來搶占一波沙發(fā)吧,記得上次學習STM32還是大二的時候了,都四五年之前的事了,不過這個東西非常重要,學好軟硬件,走遍天下都不怕,哈哈哈

0
回復
2022-01-24 13:40

你這個不是講標準庫移植到HAL庫,感覺就是將CUBE-MX的SPI基本配置,而且還沒有講全,個人觀點哈!

0
回復
發(fā)
主站蜘蛛池模板: 国产高清福利无码视频 | 日本一区高清 | aaa日本高清在线播放免费观看 | 青青草视频4 | 永久最色 | 欧美黑人肉体狂欢大派对 | 国产精品亚洲综合色区韩国 | 亚洲精品一区二区三区在线 | 日韩亚洲欧美在线 | 一个人看的www视频免费播放 | 久久婷婷五月综合成人D啪 成人av视频在线观看 | 国产精品视频1区2区3区 | 久久久精品一区二区毛片免费看 | 久久99精品久久久噜噜最新章节 | 欧美巨大另类极品videosbest | 欧美成人高清 | 鲁一鲁啪一啪 | 性欧美乱妇com喷浆水多 | 日本在线播放视频 | 国产www免费 | 国产暴力强伦轩1区二区小说 | 18禁强伦姧人妻又大又粗 | 一区二区在线播放视频 | 国产精品亚洲а∨怡红院 | jizzjizz中国18大学生 | 在公车上拨开内裤进入毛片 | 成人黄色片在线观看 | 我要看免费的黄色片 | 国产精品久久久久久久久免费樱桃 | 亚洲欧美一区二区在线观看 | 精品爆乳一区二区三区无码AV | 久久久久毛片 | 农村妇女野外毛片免费看 | 草草视频免费 | 伊人91 | 亚洲欧美综合久久久久久 | 九九九九精品九九九九 | 18禁毛片无遮挡嫩草视频 | 免费观看一级特黄欧美大片 | 亚洲欧美日韩中文加勒比 | 亚洲精品www|