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, ÒëÎĽö¹©²Î¿¼£¬ÓëÓ¢ÎÄ°æ³åÍ»µÄ£¬ÒÔÓ¢ÎÄ°æΪ׼