搜索
bottom↓
回复: 5

M0的SPI使用NSS脉冲模式不成功,有没有人之前用过的?

[复制链接]

出0入0汤圆

发表于 2015-3-31 21:38:52 | 显示全部楼层 |阅读模式
使用M0芯片的SPI接口的NSS脉冲功能(M3在SPI模式下是没有这功能的),按数据手册所说,在数据末
尾会产生锁存时钟(上升沿)。但是我使能了 SPI_NSSPulseModeCmd(SPI1, ENABLE);模式后NSS引脚一
直没有信号出现。有没有人用过这种模式的?下面是我的初始化代码(我将NSS改成通用输出引脚软
件控制就正常了)

void Init(void)
{
  GPIO_InitTypeDef  GPIO_InitStruct;
  SPI_InitTypeDef   SPI_InitStruct;

  /* 使能相关时钟 */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB, ENABLE);       
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);

  /* MOSI->HC595 SER数据引脚 */
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5;
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_Level_3;
  GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_UP;
  GPIO_Init(GPIOB, &GPIO_InitStruct);

  /* SCK->HC595 SRCLK时钟引脚 */
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3;
  GPIO_Init(GPIOB, &GPIO_InitStruct);

  /* NSS->HC595 RCLK锁存引脚 */
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_15;
  GPIO_Init(GPIOA, &GPIO_InitStruct);
  
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_0);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, GPIO_AF_0);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource15, GPIO_AF_0);
               
         
  /* SPI1端口配置 */
  /* 主机,仅发送,16bit,软件使能,高位在前,上升沿采样 */
  SPI_InitStruct.SPI_Direction = SPI_Direction_1Line_Tx;
  SPI_InitStruct.SPI_Mode = SPI_Mode_Master;
  SPI_InitStruct.SPI_DataSize = SPI_DataSize_16b;
  SPI_InitStruct.SPI_CPOL = SPI_CPOL_High;
  SPI_InitStruct.SPI_CPHA = SPI_CPHA_2Edge;
  //SPI_InitStruct.SPI_NSS = SPI_NSS_Soft;
  SPI_InitStruct.SPI_NSS = SPI_NSS_Hard;
  SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;
  SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB;
  SPI_InitStruct.SPI_CRCPolynomial = 7;
  SPI_Init(SPI1, &SPI_InitStruct);
  
  /* 使能NSS脉冲模式 */
  SPI_NSSPulseModeCmd(SPI1, ENABLE);
  
  /* 使能SPI */
  SPI_Cmd(SPI1, ENABLE);
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2015-3-31 21:54:01 | 显示全部楼层
用的哪个芯片,之前用过一次f030的SPI,怎么没记着有这么个模式,倒是有个TI mode。

出0入0汤圆

 楼主| 发表于 2015-3-31 22:19:31 | 显示全部楼层
azeng 发表于 2015-3-31 21:54
用的哪个芯片,之前用过一次f030的SPI,怎么没记着有这么个模式,倒是有个TI mode。 ...

就是STM32F030C8

出100入976汤圆

发表于 2019-11-4 14:45:40 | 显示全部楼层
楼主,你这个问题解决了没有,我现在也遇到这个问题,求解答。

出0入79汤圆

发表于 2019-11-4 16:51:25 | 显示全部楼层
我一直使用软件控制NSS引脚,没有任何问题。

出5入0汤圆

发表于 2020-7-17 10:09:29 | 显示全部楼层
没搞懂,看到类似的文章,仅供参考https://blog.csdn.net/eagle_lee58/article/details/100988112
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-3 22:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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