硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3728|回复: 7
收起左侧

[SPI/QSPI] F4的SPI之NSS 信号在H7上是否有改进

[复制链接]

57

主题

88

回帖

259

积分

高级会员

积分
259
发表于 2021-1-29 18:30:04 | 显示全部楼层 |阅读模式
请教:
原F4上SPI的NSS信号在SPI口使能后,在完成NSS也不能自动回高,搞得一般需要用软件产生NSS。
这个问题在H7上有改进吗? 因为想用DMA来操作SPI的数据。

谢谢!

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2021-1-29 18:36:44 | 显示全部楼层
H7的SPI DMA强的一批,我这两个就是硬件NSS控制的,是SPI DMA刷新DAC8563,8501

http://www.armbbs.cn/forum.php?m ... 6980&extra=page%3D1
QQ截图20210129183151.png
回复

使用道具 举报

57

主题

88

回帖

259

积分

高级会员

积分
259
 楼主| 发表于 2021-2-1 10:11:21 | 显示全部楼层
感谢版主!!!

再请问,这个H7的SPI应该能支持24bit的数据宽度吧
回复

使用道具 举报

57

主题

88

回帖

259

积分

高级会员

积分
259
 楼主| 发表于 2021-2-1 10:14:55 | 显示全部楼层
eric2013 发表于 2021-1-29 18:36
H7的SPI DMA强的一批,我这两个就是硬件NSS控制的,是SPI DMA刷新DAC8563,8501

http://www.armbbs.cn/f ...

感谢版主!!!

再请问一下,这个H7的SPI可以支持24bit传输吧。

谢谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2021-2-1 10:49:50 | 显示全部楼层
twodiamond 发表于 2021-2-1 10:14
感谢版主!!!

再请问一下,这个H7的SPI可以支持24bit传输吧。

支持4-32bit数据
回复

使用道具 举报

57

主题

88

回帖

259

积分

高级会员

积分
259
 楼主| 发表于 2021-2-1 14:00:30 | 显示全部楼层

谢谢!
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2022-1-26 22:30:51 | 显示全部楼层
我实际测试用 硬件NSS,不能,用软件的方式可以!
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2022-1-26 22:31:25 | 显示全部楼层
  hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;                                 /*脉冲模式开启 这个的意思就是 当一帧数据发送完以后片选会从选中到取消的变化这个然后再到下行选中*/
  hspi1.Init.NSSPolarity = SPI_NSS_POLARITY_LOW;                              /*用于设置 nss引脚的高电平作为激活电平*/  
  hspi1.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_03CYCLE;                     /*在主模式下插入到SS有效边沿和第一个数据开始的额外延迟 单位是SPI时钟周期个数MSSI[3:0]*/
  hspi1.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_05CYCLE;       /*主模式下在两个连续数据帧之间插入的最小时间延迟,单位 SPI 时钟周期个数 就是MID[3:0]*/
       
       
  hspi1.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;                       /*设置FIFO阈值*/
  hspi1.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;  /*发送CRC初始模式*/
  hspi1.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;  /*接收CRC初始模式*/

  hspi1.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_ENABLE;                /*用于控制主器件接收器模式下的连续 SPI 传输以及自动管理,以避免出现上溢情况*/
  hspi1.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_ENABLE;                   /*禁止 SPI 后,SPI 相关引脚保持当前状态,以防止出现毛刺。在从模式下,该位不应该使用。*/
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-20 00:41 , Processed in 0.267295 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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