搜索
bottom↓
回复: 4

<已解决>stm32f2xx如何禁用JTAG启用SWD,因用到SPI3

[复制链接]

出0入53汤圆

发表于 2021-6-21 16:24:18 | 显示全部楼层 |阅读模式
本帖最后由 zhcj66 于 2021-6-21 17:03 编辑

如题<stm32f2xx如何禁用JTAG启用SWD,因用到SPI3> SPI3用到了JTAG管脚,运行发现脉冲信号 只发送一部分,怀疑JTAG未关闭原因导致的

问题已解决, GPIO_PinAFConfig(GPIOB , GPIO_PinSource3, GPIO_AF_SPI3);配置完就ok了
是我逻辑分析仪用的软件不合适导致 采样率没那么高造成部分波形看不到,


  1. SPI3初始化

  2. void SPI3_Init(void){
  3.   
  4. SPI_InitTypeDef  SPI_InitStructure;
  5. GPIO_InitTypeDef GPIO_InitStructure;
  6.        
  7.         RCC_APB1PeriphClockCmd ( RCC_APB1Periph_SPI3, ENABLE );
  8.        
  9.         RCC_APB2PeriphClockCmd_( GPIOB | GPIOG, ENABLE );
  10.        
  11.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  12.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  13.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  14.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  15.         GPIO_InitStructure.GPIO_Pin = macCH376_SPI_CS_PIN;
  16.         GPIO_Init(macCH376_SPI_CS_PORT, &GPIO_InitStructure);
  17.         macCH376_SPI_CS_DISABLE();//Chip Select high
  18.        
  19.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  20.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
  21.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  22.                
  23.           GPIO_PinAFConfig(GPIOB , GPIO_PinSource3, GPIO_AF_SPI3);//连接复用引脚  
  24.           GPIO_PinAFConfig(GPIOB , GPIO_PinSource4, GPIO_AF_SPI3);//连接复用引脚  
  25.           GPIO_PinAFConfig(GPIOB , GPIO_PinSource5, GPIO_AF_SPI3);//连接复用引脚  
  26.        
  27.         // SPI1 configuration
  28.         SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;                //全双工通讯
  29.         SPI_InitStructure.SPI_Mode = SPI_Mode_Master;                                                                //主机模式
  30.         SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;                                                                //数据位为8位
  31.         /*模式4*/
  32.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;                                                                        //时钟极性为高电平,即空闲状态下SCLK为低电平
  33.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;                                                                        //时钟相位为第1个边沿取信号,即上升沿
  34.        
  35.         SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;                                                                                //NSS为软件模式
  36.        
  37.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;        //时钟为主频的4分频
  38.        
  39.         SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;                                                                //高位在前发送
  40.         SPI_InitStructure.SPI_CRCPolynomial = 7;                                                                                        //奇偶校验
  41.         SPI_Init(macCH376_SPIx , &SPI_InitStructure);

  42.         /* Enable SPI1  */
  43.         SPI_Cmd(macCH376_SPIx , ENABLE);
  44. }
复制代码

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出1310入193汤圆

发表于 2021-6-21 16:47:31 | 显示全部楼层
程序中在使用到JTAG、SWD的某个IO 时,需要禁用掉相关调试方法后,
再配置相应的IO方式。在需要相应的接口配置前使用这些代码。

  标准库配置:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF, ENABLE);         //使能相应接口的时钟,以及RCC_APB2Periph_AFIO

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//完全禁用SWD及JTAG
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);     //禁用JTAG


网络例子  待验证

出0入53汤圆

 楼主| 发表于 2021-6-21 17:00:17 | 显示全部楼层
lb0857 发表于 2021-6-21 16:47
程序中在使用到JTAG、SWD的某个IO 时,需要禁用掉相关调试方法后,
再配置相应的IO方式。在需要相应的接口 ...

我的是F2不是F1的芯片,没有F1那个寄存器

出0入0汤圆

发表于 2021-6-21 17:32:21 | 显示全部楼层
用CUBEMX生成初始化代码

出0入53汤圆

 楼主| 发表于 2021-6-22 08:33:43 | 显示全部楼层
stm32_bldc 发表于 2021-6-21 17:32
用CUBEMX生成初始化代码

CUB库感觉绕来绕去的,不如lib库直观,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 23:03

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

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