OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3898|回复: 8

原子大侠 stm32的spi1这个接口可以接多个外设吗

[复制链接]

6

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
186
金钱
186
注册时间
2014-11-11
在线时间
60 小时
发表于 2016-6-23 10:13:29 | 显示全部楼层 |阅读模式
本帖最后由 armtt 于 2016-6-23 11:33 编辑

比如stm32的spi1这个接口可以同时挂载触摸屏,w25q64,VS1003等多个SPI外设吗?我想在一个工程中 ,这些外设都用上 ,有冲突吗
难道每次用不同外设的时候,都要初始化一下,这个spi结构体吗

/* SPI1配置 */
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
  SPI_InitStructure.SPI_CRCPolynomial = 7;
  SPI_Init(SPI1, &SPI_InitStructure);

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11546
金钱
11546
注册时间
2014-4-1
在线时间
1315 小时
发表于 2016-6-23 10:52:14 | 显示全部楼层

可以,CPU必须能单独控制每个芯片的CS端。

不需要多次初始化。

回复 支持 反对

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11546
金钱
11546
注册时间
2014-4-1
在线时间
1315 小时
发表于 2016-6-23 10:53:09 | 显示全部楼层

没问题,
只要CPU能单独控制每个芯片的CS端,
每次只选通一个芯片。

不需要多次初始化。



回复 支持 反对

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-6-23 11:04:19 | 显示全部楼层
帮顶,同意楼上!
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2016-1-11
在线时间
100 小时
发表于 2016-6-23 15:47:22 | 显示全部楼层
学习
回复 支持 反对

使用道具 举报

6

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
186
金钱
186
注册时间
2014-11-11
在线时间
60 小时
 楼主| 发表于 2016-6-24 14:41:28 | 显示全部楼层
xuande 发表于 2016-6-23 10:53
没问题,
只要CPU能单独控制每个芯片的CS端,
每次只选通一个芯片。

每个芯片的时序时间都不一样,如果不重新初始化,怎么能写入数据
回复 支持 反对

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-6-24 14:56:46 | 显示全部楼层
armtt 发表于 2016-6-24 14:41
每个芯片的时序时间都不一样,如果不重新初始化,怎么能写入数据

没明白你想表达什么
不知道你明没明白3楼的意思,CPU单独控制每个芯片的使能端,对1号芯片写数据时,使能1号芯片,失能2、3号芯片,对2号芯片写数据时,使能2号芯片,失能1、3号芯片,对3号芯片写数据时,亦然
回复 支持 反对

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-6-24 14:57:35 | 显示全部楼层
armtt 发表于 2016-6-24 14:41
每个芯片的时序时间都不一样,如果不重新初始化,怎么能写入数据

是指spi配置不一样?
回复 支持 反对

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11546
金钱
11546
注册时间
2014-4-1
在线时间
1315 小时
发表于 2016-6-24 15:21:31 | 显示全部楼层
armtt 发表于 2016-6-24 14:41
每个芯片的时序时间都不一样,如果不重新初始化,怎么能写入数据


如果芯片的时序关系不同,
那就必须重新初始化。

这些时序关系是指时钟频率、SCK与MOSI、MISO的边沿对齐关系。


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 13:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表