OpenEdv-开源电子网

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

H730 spi写数据全速运行异常,单步调试正确

[复制链接]

18

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2016-8-2
在线时间
78 小时
发表于 2022-7-10 13:46:18 | 显示全部楼层 |阅读模式
最近使用STM32H730驱动SPI外设芯片,芯片为EEPROM。使用单步调试的时候,程序读写数据都是对的。
全速运行时,芯片读到的数据还是保持上一次写的数据,写失败。不知道是何原因,各位大佬帮我分析一下

hspi2.Instance = SPI2;
  hspi2.Init.Mode = SPI_MODE_MASTER;
  hspi2.Init.Direction = SPI_DIRECTION_2LINES;
  hspi2.Init.DataSize = SPI_DATASIZE_8BIT;
  hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
  hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
  hspi2.Init.NSS = SPI_NSS_SOFT;
  hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_64;
  hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
  hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
  hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
  hspi2.Init.CRCPolynomial = 0x07;
  hspi2.Init.NSSPMode = SPI_NSS_PULSE_DISABLE;
  hspi2.Init.NSSPolarity = SPI_NSS_POLARITY_LOW;
  hspi2.Init.FifoThreshold = SPI_FIFO_THRESHOLD_16DATA;
  hspi2.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
  hspi2.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
  hspi2.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_15CYCLE;
  hspi2.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_15CYCLE;
  hspi2.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
  hspi2.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_ENABLE;
  hspi2.Init.IOSwap = SPI_IO_SWAP_DISABLE;
  if (HAL_SPI_Init(&hspi2) != HAL_OK)
  {
    Error_Handler();
  }


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

使用道具 举报

11

主题

114

帖子

0

精华

高级会员

Rank: 4

积分
738
金钱
738
注册时间
2016-1-20
在线时间
188 小时
发表于 2022-7-10 17:28:52 | 显示全部楼层
十之八九是某个初始化时间不够,单步调试每一步的时间都有很久
回复 支持 1 反对 0

使用道具 举报

18

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2016-8-2
在线时间
78 小时
 楼主| 发表于 2022-7-10 21:51:16 | 显示全部楼层
CCXX 发表于 2022-7-10 17:28
十之八九是某个初始化时间不够,单步调试每一步的时间都有很久

这个芯片是一个eeprom型号25LC040,初始化就是写使能、读使能,没有上电初始化逻辑。现在还没有想到是哪里问题
回复 支持 反对

使用道具 举报

13

主题

644

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1976
金钱
1976
注册时间
2021-4-16
在线时间
505 小时
发表于 2022-7-11 10:37:40 | 显示全部楼层
看下是不是被其他的什么中断的东西打断了。
回复 支持 反对

使用道具 举报

18

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2016-8-2
在线时间
78 小时
 楼主| 发表于 2022-7-11 15:14:17 | 显示全部楼层
疾如风 发表于 2022-7-11 10:37
看下是不是被其他的什么中断的东西打断了。

好,我查看一下。感谢回复
回复 支持 反对

使用道具 举报

18

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2016-8-2
在线时间
78 小时
 楼主| 发表于 2022-7-12 10:51:41 | 显示全部楼层
感谢各位的回复,目前该问题已得到解决,主要原因还是芯片使能之后,等待状态寄存器的时间不够。再次感谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 12:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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