STM32为什么会有这么多的通信接口

 我来答
huanglenzhi
2016-02-02 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517181
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  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的插座,拔掉模块以后,实际上就是不连接的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式