yougen3344 发表于 2014-1-20 22:57:12

STM32F030 SPI配置IO口复用功能

配置SPI功能,一旦配置:

后就进入了硬件错误,也就是进入这个函数:

具体来说就是在配置第二个复用功能时进入的硬件错误,我把后面两个复用功能配置屏蔽掉就可以正常跑起来,不进入硬件错误,,,
这是神马情况???想知道有木有小伙伴遇到相同的情况?????欢迎各种指导。。。
 
 
继续阅读原创汇总:
STM32F030探索套件开发日志,中文教程,使用问答80篇

zhangjinlei2005 发表于 2014-1-20 23:34:57

回复:STM32F030 SPI配置IO口复用功能

请注意void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);是GPIO_PinSource哦,上语句应改为GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_0);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_0);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_0);你可以看一下头文件里面的GPIO_Pin 和 GPIO_PinSource定义是不一样的

zhangjinlei2005 发表于 2014-1-20 23:36:53

回复:STM32F030 SPI配置IO口复用功能

我也遇到过这个问题,检查了好久才搞明白,自己太脑残了:L

lkl0305 发表于 2014-1-21 07:55:17

RE:STM32F030 SPI配置IO口复用功能

是呀,这就是要仔细阅读库文件了:)

lkl0305 发表于 2014-1-21 07:58:24

RE:STM32F030 SPI配置IO口复用功能

是呀,这就是要仔细阅读库文件了:)
/*--------------------------------------------*/
#defineGPIO_PinSource0   ((uint8_t)0x00)
#defineGPIO_PinSource1   ((uint8_t)0x01)
#defineGPIO_PinSource10   ((uint8_t)0x0A)
#defineGPIO_PinSource11   ((uint8_t)0x0B)
#defineGPIO_PinSource12   ((uint8_t)0x0C)
#defineGPIO_PinSource13   ((uint8_t)0x0D)
#defineGPIO_PinSource14   ((uint8_t)0x0E)
#defineGPIO_PinSource15   ((uint8_t)0x0F)
#defineGPIO_PinSource2   ((uint8_t)0x02)
#defineGPIO_PinSource3   ((uint8_t)0x03)
#defineGPIO_PinSource4   ((uint8_t)0x04)
#defineGPIO_PinSource5   ((uint8_t)0x05)
#defineGPIO_PinSource6   ((uint8_t)0x06)
#defineGPIO_PinSource7   ((uint8_t)0x07)
#defineGPIO_PinSource8   ((uint8_t)0x08)
#defineGPIO_PinSource9   ((uint8_t)0x09)
/*--------------------------------------------*/
#defineGPIO_Pin_0   ((uint16_t)0x0001)
#defineGPIO_Pin_1   ((uint16_t)0x0002)
#defineGPIO_Pin_10   ((uint16_t)0x0400)
#defineGPIO_Pin_11   ((uint16_t)0x0800)
#defineGPIO_Pin_12   ((uint16_t)0x1000)
#defineGPIO_Pin_13   ((uint16_t)0x2000)
#defineGPIO_Pin_14   ((uint16_t)0x4000)
#defineGPIO_Pin_15   ((uint16_t)0x8000)
#defineGPIO_Pin_2   ((uint16_t)0x0004)
#defineGPIO_Pin_3   ((uint16_t)0x0008)
#defineGPIO_Pin_4   ((uint16_t)0x0010)
#defineGPIO_Pin_5   ((uint16_t)0x0020)
#defineGPIO_Pin_6   ((uint16_t)0x0040)
#defineGPIO_Pin_7   ((uint16_t)0x0080)
#defineGPIO_Pin_8   ((uint16_t)0x0100)
#defineGPIO_Pin_9   ((uint16_t)0x0200)
#defineGPIO_Pin_All   ((uint16_t)0xFFFF)
/*--------------------------------------------*/

发表于 2014-1-21 09:52:15

RE:STM32F030 SPI配置IO口复用功能

楼上几位解释正确。

有缘于你 发表于 2014-1-21 14:11:30

RE:STM32F030 SPI配置IO口复用功能

以后先看看例程,常用外设都有官方例程的

yougen3344 发表于 2014-1-22 15:04:03

回复:STM32F030 SPI配置IO口复用功能

回复第 2 楼 于2014-01-20 23:34:57发表:
请注意void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);是GPIO_PinSource哦,上语句应改为GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_0);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_0);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_0);你可以看一下头文件里面的GPIO_Pin 和 GPIO_PinSource定义是不一样的
奥。。。原来是酱紫,,,太脑残了。。。
 

leitianyilty 发表于 2014-6-18 16:10:01

RE:STM32F030 SPI配置IO口复用功能

look啊啊啊 啊

jumping1967 发表于 2014-10-1 21:04:28

回复:STM32F030 SPI配置IO口复用功能

 :P:P:P:P
页: [1]
查看完整版本: STM32F030 SPI配置IO口复用功能