日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stm32通信接口

發布時間:2025/3/15 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32通信接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
 STM32為什么會有這么多的通信接口 [復制鏈接]
??
51黑er 當前離線 積分
1411
電梯直達 樓主 51黑er 發表于 2015-12-19 15:52 | 只看該作者 |倒序瀏覽 |閱讀模式
上一篇文章,我們規劃了一下STM32開發板串口(UART),這一篇文章介紹剩下的通信接口。我們在第一課畫STM32F103VET6單片機原理圖的時候,我們就看到,它除了UART,還有SPI、CAN、I2C等通信接口。

一個單片機,為什么會有這么多的通信接口?一種接口不夠用么!這是一部分小伙伴的疑問。

基于單片機的電子產品,從簡單的到復雜的,基本上沒有只用單片機就可以完成了。這一點,大家在看到很多電子產品的電路板之后就發現了,上面有若干個芯片。帶有單片機的電路板上,其他的芯片都被稱作單片機的外圍芯片

根據不同的應用,有不同的外圍芯片。這些外圍芯片有很多種,例如加速度傳感器芯片、數字收音機芯片、存儲芯片、無線通信芯片、放大器芯片、溫度傳感器芯片等等。當然,除了外圍芯片,還會有很多的電子元件,諸如電阻電容三極管MOS管等。

下面就開始介紹我們開發板所要連接的一些如果芯片。

I2C通信芯片

STM32F103VET6有2個I2C口,分別是I2C1和I2C2,我們用I2C1口來學習。和它連接的芯片我們選擇AT24C02,這是一個EEPROM類型的存儲芯片。

EEPROM芯片是我們做任何產品時經常會用到的芯片,最常見的是Atmel公司的AT24XX系列。所以這個芯片也是我們開發板上必須要有的芯片。這個芯片說白了,就是個存儲芯片。(一般的單片機由ROM和RAM構成,ROM用來放程序,RAM用來放程序運行時的數據,單片機運行完了關機后,ROM中的內容還是原來的程序,RAM中的內容也都沒有了。如果想要保存數據,就需要外加一個存儲芯片了。)

這個芯片的用途就是保存一些不允許掉電丟失的數據。舉個例子,一個產品需要限定用戶的使用次數,每開機一次,就記錄一次,如果達到10000次,就需要維護,這里的使用次數,就需要掉電不丟失。



這里雖然連接的是硬件I2C口,但是也可以把I2C口的兩個引腳配置為普通的IO口模擬I2C時序來學習I2C通信,作為單片機的初學者,強烈建議要先學習普通IO模擬I2C時序。


SPI通信芯片

STM32F103VET6有2個SPI接口,分別是SPI1和SPI2,我們用無線通信芯片NRF24L01和W25Q16來連接SPI1口,SPI2口用作和觸摸屏芯片XPT2046通信。

作為初學者,看到SPI1口同時連接了W25Q16和NRF24L01兩個芯片,感到詫異,為什么一個SPI口可以連接2個芯片?要理解這個原因,需要先簡單的知道一下SPI通信的原理,SPI通信都會有一個CS片選引腳,聽名字,片選引腳,也就是“選擇哪一個芯片”的意思,也就是說,你的SPI口可以連接很多SPI通信的芯片,只要每個芯片的CS引腳連接到單片機不同的CS引腳就可以了。到時候,你要和哪個芯片通信,就把哪個芯片對應的CS引腳拉低就可以了。




W25Q16也是存儲芯片,它與前面說的AT24C02的不同之處是,W25Q16是FLASH類型的存儲芯片。你有機會的話,就會見到在實際的產品中,也有同時出現EEPROM和FLASH兩種存儲芯片的時候。FLASH類型的存儲芯片一般要比EEPROM類型的芯片存儲更多的內容,容量更大。

我們使用的時候,有一點非常重要,就是EEPROM可以一個字節一個字節的修改,而FLASH的話,即使你要修改一個字節,也需要先擦除一整頁(256個字節)。所以,如果我們要存儲字節為單位的數據的話,就用EEPROM,如果要存儲很多數據的話,就用FLASH。



在這里,仔細的朋友會注意到,前面的原理圖中,單片機引腳與芯片之間采用雙排排針,利用短路帽連接,如果不接短路帽,單片機引腳就是獨立的引腳,還可以用杜邦線引出和電路板之外的各種芯片模塊連接,這就是開發板的一大功能,如果直接相連,那就失去了“開發板”的意義了。而在這里,SPI1實際上也沒有與NRF24L01直接相連,因為我們這里使用的是一個NRF24L01的插座,拔掉模塊以后,實際上就是不連接的。


(NRF24L01接口示意圖)


(短路帽連接示意圖)

CAN通信芯片


CAN通信使用TI公司的SN65HVD230。CAN通信一般用于汽車相關的產品。



好了,今天就到這里!

這里是正在免費直播的《如何做一個STM32開發板》,如果想看前面的文章或者要看后面的文章,請關注微信公眾號:科技老頑童
與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的stm32通信接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。