SPI1重映射后不正常!

2020-01-01 17:33发布

DX,我使用STM32的SPI1时,直接用PA5PA6PA7正常,但是改用重映射为PB3,PB4,和PB5后就是不正常了
使用示波器测试波形,PA5,PA7都有,PB5有,PB3和PB4没有,谁知道怎么回事啊?参考STM32官方手册,SPI1不能
重映射和I2C1一起用,我也关掉I2C1的时钟了,还是不行!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
shnd
1楼-- · 2020-01-02 17:18
to yugen:具体应该如何实现呢?我对SPI1重映射后没有使能TIM3和TIM2,只使能了SPI1,TIM3和TIM2都是在其基本功能使能的,TIM2用了PA0,PA1,PA2,TIM3用了PB0,PB1,TIM4用了PB6,PB7。至于关闭JTAG,我倒是使用了GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable | GPIO_Remap_SPI1,ENABLE)这个函数,也不行。
yugen
2楼-- · 2020-01-02 22:29
 精彩回答 2  元偷偷看……
shnd
3楼-- · 2020-01-03 02:23
SPI1重映射也要使用GPIO_PinRemapConfig(GPIO_Remap_SPI1,ENABLE)啊?您的意思是不重映射吗?我使用了GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable | GPIO_Remap_SPI1,ENABLE)这个函数,就是SPI1重映射,同时关闭JTAG啊!这样用我试了,还是不行啊!
wsccyp
4楼-- · 2020-01-03 03:07
顶下 请高手帮忙,我也是遇到了这个问题的。原来的SPI1可用,想用8路AD采集数据时,需要映射SPI1了,结果就是不能用。
原来的程序改成 SPI2也不能正常使用,搞晕了。

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SPI1,ENABLE);
Alexkey
5楼-- · 2020-01-03 07:44
到底能不能用啊,搞死人了
qingaixww
6楼-- · 2020-01-03 11:30
亲测,OK
把GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable | GPIO_Remap_SPI1,ENABLE);
改成    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
          GPIO_PinRemapConfig(GPIO_Remap_SPI1, ENABLE);

一周热门 更多>