[应用相关] 学习笔记+SPI3 接口没有信号送出

[复制链接]
737|3
 楼主| tpgf 发表于 2019-12-18 16:04 | 显示全部楼层 |阅读模式
本帖最后由 tpgf 于 2019-12-18 16:06 编辑

之前在做一个项目的时候通过stm32f103的spi2接口连接了一个eeprom,不过在调试的时候怎么也没办法对eeprom进行读写,找了好多原因也没找到,最后看了一篇官网的分析,

https://www.stmcu.com.cn/Designresource/design_resource_detail/file/494820/lang/ZH/token/bc9d5d7ac1f105e6d513e019868c6b41   SPI3 接口没有信号送出

在该**中,给了好多种建议,为了方便大家观看,我粘贴如下:



1. 检查 RCC 的 APB2ENR 寄存器中各个 GPIO 的时钟门控位,匀为允许状态;
2. 检查 RCC 的 APB2ENR 寄存器中 AFIO 的时钟门控位,状态为允许;
3. 检查 RCC 的 APB1ENR 寄存器中 SPI3 的时钟门控位,状态为允许;
4. 检查 GPIOB 的 CRL 寄存器中 PB3(SPI3 CLK)的模式设置,其模式为 AF 推拉输出,未见异 常;
5. 检查 GPIOB 的 CRL 寄存器中的 PB4(SPI3 MISO)的模式设置,其模式为 AF 推拉输出,正常 应为高阻输入;
6. 检查 GPIOB 的 CRL 寄存器中的 PB5(SPI3 MOSI)的模式设置,其模式为 AF 推拉输出,未见 异常;
7. 检查 AFIO 的 MAPR 寄存器中的 SWJ CFG 设置,其值为 000,应设为 010,禁止 JTAG DP 而保 留 SW DP;
8. 检查 SPI3 的初始化代码,如表(一)所示,未见异常:

427635df9dce356aca.png

由于我是用的jtag现在方式,所以忽略了对PB3、PB4进行相关设置,按照第七条进行了更改,就可以进行通讯了。

如果有网友和我有相同的困惑 ,我建议去看看这篇**。

goodluck09876 发表于 2019-12-18 18:37 | 显示全部楼层
禁止 JTAG DP 而保 留 SW DP!
goodluck09876 发表于 2019-12-18 18:37 | 显示全部楼层
使用STLINK来调试,用UART 的printf 来打印,将是一个比较好的方法!
 楼主| tpgf 发表于 2019-12-19 09:19 | 显示全部楼层
goodluck09876 发表于 2019-12-18 18:37
使用STLINK来调试,用UART 的printf 来打印,将是一个比较好的方法!

是的是的 我也是这样认为的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2383

主题

17631

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部