STM32¹Ì¼þ¿âʹÓÃÊÖ²áµÄÖÐÎÄ·­Òë ÏÂÔر¾ÎÄ

GPIO

/* Set the GPIOA port pin 15 */

GPIO_WriteBit(GPIOA, GPIO_Pin_15, Bit_SET);

10.2.12 º¯ÊýGPIO_Write

Table 196. ÃèÊöÁËGPIO_Write Table 196. º¯ÊýGPIO_Write º¯ÊýÃû º¯ÊýÔ­ÐÎ ¹¦ÄÜÃèÊö ÊäÈë²ÎÊý1 ÊäÈë²ÎÊý2 Êä³ö²ÎÊý ·µ»ØÖµ ÏȾöÌõ¼þ ±»µ÷Óú¯Êý Àý£º

/* Write data to GPIOA data port */ GPIO_Write(GPIOA, 0x1101);

GPIO_Write

void GPIO_Write(GPIO_TypeDef* GPIOx, u16 PortVal) ÏòÖ¸¶¨GPIOÊý¾Ý¶Ë¿ÚдÈëÊý¾Ý

GPIOx£ºx¿ÉÒÔÊÇA£¬B£¬C£¬D»òÕßE£¬À´Ñ¡ÔñGPIOÍâÉè PortVal: ´ýдÈë¶Ë¿ÚÊý¾Ý¼Ä´æÆ÷µÄÖµ ÎÞ ÎÞ ÎÞ ÎÞ

10.2.13 º¯ÊýGPIO_PinLockConfig

Table 197. ÃèÊöÁËGPIO_PinLockConfig Table 197. º¯ÊýGPIO_PinLockConfig º¯ÊýÃû º¯ÊýÔ­ÐÎ ¹¦ÄÜÃèÊö ÊäÈë²ÎÊý1 ÊäÈë²ÎÊý2

GPIO_PinLockConfig

void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, u16 GPIO_Pin) Ëø¶¨GPIO¹Ü½ÅÉèÖüĴæÆ÷

GPIOx£ºx¿ÉÒÔÊÇA£¬B£¬C£¬D»òÕßE£¬À´Ñ¡ÔñGPIOÍâÉè GPIO_Pin£º´ýËø¶¨µÄ¶Ë¿Úλ

¸Ã²ÎÊý¿ÉÒÔÈ¡GPIO_Pin_x(x¿ÉÒÔÊÇ0-15)µÄÈÎÒâ×éºÏ ²ÎÔÄSection£ºGPIO_Pin²éÔĸü¶à¸Ã²ÎÊýÔÊÐíÈ¡Öµ·¶Î§ ÎÞ ÎÞ ÎÞ ÎÞ

Êä³ö²ÎÊý ·µ»ØÖµ ÏȾöÌõ¼þ ±»µ÷Óú¯Êý Àý£º

/* Lock GPIOA Pin0 and Pin1 */

ÒëÎÄÓ¢ÎÄÔ­°æΪUM0427 Oct. 2007 Rev 2, ÒëÎĽö¹©²Î¿¼£¬ÓëÓ¢ÎÄ°æ³åÍ»µÄ£¬ÒÔÓ¢ÎÄ°æΪ׼

GPIO

GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);

10.2.14 º¯ÊýGPIO_EventOutputConfig

Table 198. ÃèÊöÁËGPIO_EventOutputConfig Table 198. º¯ÊýGPIO_EventOutputConfig º¯ÊýÃû º¯ÊýÔ­ÐÎ ¹¦ÄÜÃèÊö ÊäÈë²ÎÊý1 ÊäÈë²ÎÊý2

GPIO_EventOutputConfig

void GPIO_EventOutputConfig(u8 GPIO_PortSource, u8 GPIO_PinSource) Ñ¡ÔñGPIO¹Ü½ÅÓÃ×÷ʼþÊä³ö

GPIO_PortSource: Ñ¡ÔñÓÃ×÷ʼþÊä³öµÄGPIO¶Ë¿Ú

²ÎÔÄSection£ºGPIO_PortSource²éÔĸü¶à¸Ã²ÎÊýÔÊÐíÈ¡Öµ·¶Î§ GPIO_PinSource£ºÊ¼þÊä³öµÄ¹Ü½Å

¸Ã²ÎÊý¿ÉÒÔÈ¡GPIO_PinSourcex(x¿ÉÒÔÊÇ0-15) ÎÞ ÎÞ ÎÞ ÎÞ

Êä³ö²ÎÊý ·µ»ØÖµ ÏȾöÌõ¼þ ±»µ÷Óú¯Êý

GPIO_PortSource

GPIO_PortSourceÓÃÒÔÑ¡ÔñÓÃ×÷ʼþÊä³öµÄGPIO¶Ë¿Ú¡£Table 199. ¸ø³öÁ˸òÎÊý¿ÉÈ¡µÄÖµ

Table 199. GPIO_PortSourceÖµ GPIO_PortSource

ÃèÊö

GPIO_PortSourceGPIOA Ñ¡ÔñGPIOA GPIO_PortSourceGPIOB Ñ¡ÔñGPIOB GPIO_PortSourceGPIOC Ñ¡ÔñGPIOC GPIO_PortSourceGPIOD Ñ¡ÔñGPIOD GPIO_PortSourceGPIOE Ñ¡ÔñGPIOE Àý£º

/* Selects the GPIOE pin 5 for EVENT output */

GPIO_EventOutputConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5);

10.2.15 º¯ÊýGPIO_EventOutputCmd

Table 200. ÃèÊöÁËGPIO_EventOutputCmd Table 200. º¯ÊýGPIO_EventOutputCmd º¯ÊýÃû º¯ÊýÔ­ÐÎ GPIO_EventOutputCmd

void GPIO_EventOutputCmd(FunctionalState NewState)

ÒëÎÄÓ¢ÎÄÔ­°æΪUM0427 Oct. 2007 Rev 2, ÒëÎĽö¹©²Î¿¼£¬ÓëÓ¢ÎÄ°æ³åÍ»µÄ£¬ÒÔÓ¢ÎÄ°æΪ׼

GPIO

¹¦ÄÜÃèÊö ÊäÈë²ÎÊý1 Êä³ö²ÎÊý ·µ»ØÖµ ÏȾöÌõ¼þ ±»µ÷Óú¯Êý Àý£º

ʹÄÜ»òÕßʧÄÜʼþÊä³ö

NewState: ʼþÊä³öµÄÐÂ״̬

Õâ¸ö²ÎÊý¿ÉÒÔÈ¡£ºENABLE»òÕßDISABLE ÎÞ ÎÞ ÎÞ ÎÞ /* Enable Event Ouput to the GPIOC pin 6 */

GPIO_EventOutputConfig(GPIO_PortSourceGPIOC, GPIO_PinSource6); GPIO_EventOutputCmd(ENABLE);

10.2.16 º¯ÊýGPIO_PinRemapConfig

Table 201. ÃèÊöÁËGPIO_ PinRemapConfig Table 201. º¯ÊýGPIO_ PinRemapConfig º¯ÊýÃû º¯ÊýÔ­ÐÎ ¹¦ÄÜÃèÊö ÊäÈë²ÎÊý1 ÊäÈë²ÎÊý2

GPIO_ PinRemapConfig

void GPIO_PinRemapConfig(u32 GPIO_Remap, FunctionalState NewState)

¸Ä±äÖ¸¶¨¹Ü½ÅµÄÓ³Éä

GPIO_Remap: Ñ¡ÔñÖØÓ³ÉäµÄ¹Ü½Å

²ÎÔÄSection£ºGPIO_Remap²éÔĸü¶à¸Ã²ÎÊýÔÊÐíÈ¡Öµ·¶Î§ NewState: ¹Ü½ÅÖØÓ³ÉäµÄÐÂ״̬

Õâ¸ö²ÎÊý¿ÉÒÔÈ¡£ºENABLE»òÕßDISABLE ÎÞ ÎÞ ÎÞ ÎÞ

Êä³ö²ÎÊý ·µ»ØÖµ ÏȾöÌõ¼þ ±»µ÷Óú¯Êý

GPIO_Remap

GPIO_RemapÓÃÒÔÑ¡ÔñÓÃ×÷ʼþÊä³öµÄGPIO¶Ë¿Ú¡£Table 202. ¸ø³öÁ˸òÎÊý¿ÉÈ¡µÄÖµ

Table 202. GPIO_RemapÖµ GPIO_Remap GPIO_Remap_SPI1 GPIO_Remap_I2C1 GPIO_Remap_USART1 GPIO_PartialRemap_USART3 GPIO_FullRemap_USART3 ÃèÊö

SPI1¸´Óù¦ÄÜÓ³Éä I2C1¸´Óù¦ÄÜÓ³Éä USART1¸´Óù¦ÄÜÓ³Éä USART2¸´Óù¦ÄÜÓ³Éä USART3¸´Óù¦ÄÜÍêÈ«Ó³Éä

ÒëÎÄÓ¢ÎÄÔ­°æΪUM0427 Oct. 2007 Rev 2, ÒëÎĽö¹©²Î¿¼£¬ÓëÓ¢ÎÄ°æ³åÍ»µÄ£¬ÒÔÓ¢ÎÄ°æΪ׼

GPIO

GPIO_PartialRemap_TIM1 GPIO_FullRemap_TIM1 GPIO_PartialRemap1_TIM2 GPIO_PartialRemap2_TIM2 GPIO_FullRemap_TIM2 GPIO_PartialRemap_TIM3 GPIO_FullRemap_TIM3 GPIO_Remap_TIM4 GPIO_Remap1_CAN GPIO_Remap2_CAN GPIO_Remap_PD01

GPIO_Remap_SWJ_NoJTRST GPIO_Remap_SWJ_Disable Àý£º

USART3¸´Óù¦Äܲ¿·ÖÓ³Éä TIM1¸´Óù¦ÄÜÍêÈ«Ó³Éä TIM2¸´Óù¦Äܲ¿·ÖÓ³Éä1 TIM2¸´Óù¦Äܲ¿·ÖÓ³Éä2 TIM2¸´Óù¦ÄÜÍêÈ«Ó³Éä TIM3¸´Óù¦Äܲ¿·ÖÓ³Éä TIM3¸´Óù¦ÄÜÍêÈ«Ó³Éä TIM4¸´Óù¦ÄÜÓ³Éä CAN¸´Óù¦ÄÜÓ³Éä1 CAN¸´Óù¦ÄÜÓ³Éä2 PD01¸´Óù¦ÄÜÓ³Éä

³ýJTRSTÍâSWJÍêȫʹÄÜ£¨JTAG+SW-DP£© SWJÍêȫʧÄÜ£¨JTAG+SW-DP£© GPIO_Remap_SWJ_JTAGDisable JTAG-DPʧÄÜ + SW-DPʹÄÜ

/* I2C1_SCL on PB.08, I2C1_SDA on PB.09 */ GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE);

10.2.17 º¯ÊýGPIO_EXTILineConfig

Table 203. ÃèÊöÁËGPIO_EXTILineConfig Table 203. º¯ÊýGPIO_EXTILineConfig º¯ÊýÃû º¯ÊýÔ­ÐÎ ¹¦ÄÜÃèÊö ÊäÈë²ÎÊý1 ÊäÈë²ÎÊý2

GPIO_EXTILineConfig

void GPIO_EXTILineConfig(u8 GPIO_PortSource, u8 GPIO_PinSource) Ñ¡ÔñGPIO¹Ü½ÅÓÃ×÷ÍⲿÖжÏÏß·

GPIO_PortSource: Ñ¡ÔñÓÃ×÷ÍⲿÖжÏÏßÔ´µÄGPIO¶Ë¿Ú

²ÎÔÄSection£ºGPIO_PortSource²éÔĸü¶à¸Ã²ÎÊýÔÊÐíÈ¡Öµ·¶Î§ GPIO_PinSource£º´ýÉèÖõÄÍⲿÖжÏÏß·

¸Ã²ÎÊý¿ÉÒÔÈ¡GPIO_PinSourcex(x¿ÉÒÔÊÇ0-15) ÎÞ ÎÞ ÎÞ ÎÞ

Êä³ö²ÎÊý ·µ»ØÖµ ÏȾöÌõ¼þ ±»µ÷Óú¯Êý Àý£º

/* Selects PB.08 as EXTI Line 8 */

GPIO_EXTILineConfig(GPIO_PortSource_GPIOB, GPIO_PinSource8);

ÒëÎÄÓ¢ÎÄÔ­°æΪUM0427 Oct. 2007 Rev 2, ÒëÎĽö¹©²Î¿¼£¬ÓëÓ¢ÎÄ°æ³åÍ»µÄ£¬ÒÔÓ¢ÎÄ°æΪ׼