你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

spi3无波形输出,已开afio,禁用jtag。

[复制链接]
any012 提问时间:2016-8-24 16:00 /
阅读主题, 点击返回1楼
收藏 评论28 发布时间:2016-8-24 16:00
28个回答
zhangxu56726 回答时间:2016-8-26 10:55:18
问题解决了。恭喜!
any012 回答时间:2016-8-26 11:53:13
嗯,是用之前的工程模板,以为引脚相同的stm32,只有容量不一样。
貌似需要把SPI1重映射到PB3PB4PB5了。
zhangxu56726 回答时间:2016-8-26 12:05:06
any012 发表于 2016-8-26 11:53
嗯,是用之前的工程模板,以为引脚相同的stm32,只有容量不一样。
貌似需要把SPI1重映射到PB3PB4PB5了。 ...

昨天就发帖问你是哪个型号的,你没回,我以为你确认过
any012 回答时间:2016-8-26 14:50:45
zhangxu56726 发表于 2016-8-26 12:05
昨天就发帖问你是哪个型号的,你没回,我以为你确认过

感谢。
焊的是VB,工程一直沿用的VE。
想当然的以为引脚一致,只是容量不一样,其他一样...

现在没问题了。
  1. void SPI1_Init(void)
  2. {
  3.         GPIO_InitTypeDef GPIO_InitStructure;
  4.         SPI_InitTypeDef SPI_InitStructure;
  5.        
  6.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO | RCC_APB2Periph_SPI1, ENABLE);
  7. //        RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3, ENABLE);
  8.         GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
  9.         GPIO_PinRemapConfig(GPIO_Remap_SPI1, ENABLE);
  10.        
  11.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_5;
  12.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  13.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  14.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  15.        
  16.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  17.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  18.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  19.                
  20.         SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
  21.         SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
  22.         SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
  23.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
  24.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  25.         SPI_InitStructure.SPI_NSS =SPI_NSS_Soft;
  26.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;
  27.         SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
  28.         SPI_InitStructure.SPI_CRCPolynomial = 7;
  29.         SPI_Init(SPI1, &SPI_InitStructure);

  30.         SPI_Cmd(SPI1, ENABLE);
  31. }
复制代码
any012 回答时间:2016-8-26 16:18:19
高兴的早了些。
重映射SPI1到PB3PB4PB5后,发现程序不卡死了,定时器控制的灯每秒可以反转一次。于是就高兴的认为问题解决了。
然后,用示波器测量PB3波形,结果始终是高电平...
看样子SPI仍然未正常工作,只是这次,没有停在等待SPI发送数据完成这里。
回答时间:2016-8-26 16:37:06
没有工作可以查一下IO配置,引脚重映射、时钟配置等。
any012 回答时间:2016-8-26 16:55:51
本帖最后由 any012 于 2016-8-26 16:57 编辑
安 发表于 2016-8-26 16:37
没有工作可以查一下IO配置,引脚重映射、时钟配置等。

量的是PB3,对应的是SCLK,电平是2.5V左右。
PB5,对应MOSI,有波形,我是不断发0x55,看了下频率大概在140K左右。
72M/256,大概是281KHz,发送的数是01010101,所以测得波形是140K,是正常的。
好奇为什么没有SCLK波形。

硬件是这样接的,SCLK和PB5外边串电阻接高速光耦的负端,光耦正端接3.3V。
试着将PB4,PB5由推挽复用改为开漏复用,问题依旧。
any012 回答时间:2016-8-29 09:01:19
测量SCLK有波形,MOSI没波形。
换下思维,不是MOSI没波形,而是MOSI是FF。
不过我发送的是0X55,SPI模式设置错误?
any012 回答时间:2016-8-29 10:16:24
测试到管脚,有波形,是我的问题,之前测的是光耦之后的位置。
现在SPI算是正常了。
123

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版