spi3没有波形输出

2019-07-14 14:06发布

已开afio,禁用jtag
实在是找不出问题,只好厚着脸皮又来发求助帖了。

现象是卡在spi发送函数里的判断是否发送完成这里:
while(SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_TXE) == RESET);
到这里貌似司循环了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
pmet
1楼-- · 2019-07-15 14:45
RCC_APB2Periph_AFIO    是不用设置的,还有你用的哪个型号?
谦谦三君子
2楼-- · 2019-07-15 20:34
本帖最后由 any012 于 2016-8-25 11:43 编辑

STM32F103VBT6.

SPI3使用的管脚是PB4,PB5,PB6,其中有的管脚默认功能是JTAG管脚。所以需要使能AFIO。
zhhx1985
3楼-- · 2019-07-16 01:06
本帖最后由 wofei1314 于 2016-8-25 11:50 编辑

似乎没看到你操作片选的程序?
另外,可以尝试改为复用推挽输出


RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB ,ENABLE);
这个是F4的,似乎和F1的不一样!
谦谦三君子
4楼-- · 2019-07-16 03:59
 精彩回答 2  元偷偷看……
zhhx1985
5楼-- · 2019-07-16 05:31
谦谦三君子 发表于 2019-2-20 10:21
这是从STM32F103手册上截的,从中可以看出GPIOB在APB2上,SPI3挂在了APB1总线上。

这里是没问题的,F1没有AHB总线;
重点检查硬件和调试看寄存器的值
TOPCB
6楼-- · 2019-07-16 05:42
SPI3没有重定义吧。

一周热门 更多>