⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uet_gpio.h

📁 通过SPI接口写FLASH
💻 H
📖 第 1 页 / 共 2 页
字号:
//GPIO define
//Design by :Tan/yicheng 

#include <stm32f10x_lib.h>              /* STM32F10x Library Definitions      */


/* Enable GPIO   Port    CLOCK                  */
#define GPIOA_ENABLE            RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA, ENABLE);
#define GPIOB_ENABLE            RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB, ENABLE);
#define GPIOC_ENABLE            RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOC, ENABLE);
#define GPIOD_ENABLE            RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOD, ENABLE);
#define GPIOE_ENABLE            RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOE, ENABLE);
/*Disable   Port         CLOCK                        */                        
#define GPIOA_DISABLE           RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA, DISABLE);
#define GPIOB_DISABLE           RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB, DISABLE);
#define GPIOC_DISABLE           RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOC, DISABLE);
#define GPIOD_DISABLE           RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOD, DISABLE);
#define GPIOE_DISABLE           RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOE, DISABLE);
//Syststick enable
#define SysTick_Eanble						SysTick_CounterCmd(SysTick_Counter_Enable);
/*DEFINE DIFFERENT  GPIO PORTS 防,IN ORDR TO EASY SETTING PIN TO 0 OR 1			BY BIT	 */
#define GPIO_A0(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_0)  	| (x ? GPIO_Pin_0 : 0)
#define GPIO_A1(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_1) 	| (x ? GPIO_Pin_1 : 0)
#define GPIO_A2(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_2)  	| (x ? GPIO_Pin_2 : 0)
#define GPIO_A3(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_3)  	| (x ? GPIO_Pin_3 : 0)
#define GPIO_A4(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_4)  	| (x ? GPIO_Pin_4 : 0)
#define GPIO_A5(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_5)  	| (x ? GPIO_Pin_5 : 0)
#define GPIO_A6(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_6)  	| (x ? GPIO_Pin_6 : 0)
#define GPIO_A7(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_7)  	| (x ? GPIO_Pin_7 : 0)
#define GPIO_A8(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_8)  	| (x ? GPIO_Pin_8 : 0)
#define GPIO_A9(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_9)  	| (x ? GPIO_Pin_9 : 0)
#define GPIO_A10(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_10)  | (x ? GPIO_Pin_10 : 0)
#define GPIO_A11(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_11)  | (x ? GPIO_Pin_11 : 0)
#define GPIO_A12(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_12)  | (x ? GPIO_Pin_12 : 0)
#define GPIO_A13(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_13)  | (x ? GPIO_Pin_13 : 0)
#define GPIO_A14(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_14)  | (x ? GPIO_Pin_14 : 0)
#define GPIO_A15(x)        	  GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_15)  | (x ? GPIO_Pin_15 : 0)

#define GPIO_B0(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_0)  	| (x ? GPIO_Pin_0 : 0)
#define GPIO_B1(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_1) 	| (x ? GPIO_Pin_1 : 0)
#define GPIO_B2(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_2)  	| (x ? GPIO_Pin_2 : 0)
#define GPIO_B3(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_3)  	| (x ? GPIO_Pin_3 : 0)
#define GPIO_B4(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_4)  	| (x ? GPIO_Pin_4 : 0)
#define GPIO_B5(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_5)  	| (x ? GPIO_Pin_5 : 0)
#define GPIO_B6(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_6)  	| (x ? GPIO_Pin_6 : 0)
#define GPIO_B7(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_7)  	| (x ? GPIO_Pin_7 : 0)
#define GPIO_B8(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_8)  	| (x ? GPIO_Pin_8 : 0)
#define GPIO_B9(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_9)  	| (x ? GPIO_Pin_9 : 0)
#define GPIO_B10(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_10)  | (x ? GPIO_Pin_10 : 0)
#define GPIO_B11(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_11)  | (x ? GPIO_Pin_11 : 0)
#define GPIO_B12(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_12)  | (x ? GPIO_Pin_12 : 0)
#define GPIO_B13(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_13)  | (x ? GPIO_Pin_13 : 0)
#define GPIO_B14(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_14)  | (x ? GPIO_Pin_14 : 0)
#define GPIO_B15(x)        	  GPIOB->ODR=(GPIOB->ODR&~GPIO_Pin_15)  | (x ? GPIO_Pin_15 : 0)

#define GPIO_C0(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_0)  	| (x ? GPIO_Pin_0 : 0)
#define GPIO_C1(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_1) 	| (x ? GPIO_Pin_1 : 0)
#define GPIO_C2(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_2)  	| (x ? GPIO_Pin_2 : 0)
#define GPIO_C3(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_3)  	| (x ? GPIO_Pin_3 : 0)
#define GPIO_C4(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_4)  	| (x ? GPIO_Pin_4 : 0)
#define GPIO_C5(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_5)  	| (x ? GPIO_Pin_5 : 0)
#define GPIO_C6(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_6)  	| (x ? GPIO_Pin_6 : 0)
#define GPIO_C7(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_7)  	| (x ? GPIO_Pin_7 : 0)
#define GPIO_C8(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_8)  	| (x ? GPIO_Pin_8 : 0)
#define GPIO_C9(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_9)  	| (x ? GPIO_Pin_9 : 0)
#define GPIO_C10(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_10)  | (x ? GPIO_Pin_10 : 0)
#define GPIO_C11(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_11)  | (x ? GPIO_Pin_11 : 0)
#define GPIO_C12(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_12)  | (x ? GPIO_Pin_12 : 0)
#define GPIO_C13(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_13)  | (x ? GPIO_Pin_13 : 0)
#define GPIO_C14(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_14)  | (x ? GPIO_Pin_14 : 0)
#define GPIO_C15(x)        	  GPIOC->ODR=(GPIOC->ODR&~GPIO_Pin_15)  | (x ? GPIO_Pin_15 : 0)

#define GPIO_D0(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_0)  	| (x ? GPIO_Pin_0 : 0)
#define GPIO_D1(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_1) 	| (x ? GPIO_Pin_1 : 0)
#define GPIO_D2(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_2)  	| (x ? GPIO_Pin_2 : 0)
#define GPIO_D3(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_3)  	| (x ? GPIO_Pin_3 : 0)
#define GPIO_D4(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_4)  	| (x ? GPIO_Pin_4 : 0)
#define GPIO_D5(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_5)  	| (x ? GPIO_Pin_5 : 0)
#define GPIO_D6(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_6)  	| (x ? GPIO_Pin_6 : 0)
#define GPIO_D7(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_7)  	| (x ? GPIO_Pin_7 : 0)
#define GPIO_D8(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_8)  	| (x ? GPIO_Pin_8 : 0)
#define GPIO_D9(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_9)  	| (x ? GPIO_Pin_9 : 0)
#define GPIO_D10(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_10)  | (x ? GPIO_Pin_10 : 0)
#define GPIO_D11(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_11)  | (x ? GPIO_Pin_11 : 0)
#define GPIO_D12(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_12)  | (x ? GPIO_Pin_12 : 0)
#define GPIO_D13(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_13)  | (x ? GPIO_Pin_13 : 0)
#define GPIO_D14(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_14)  | (x ? GPIO_Pin_14 : 0)
#define GPIO_D15(x)        	  GPIOD->ODR=(GPIOD->ODR&~GPIO_Pin_15)  | (x ? GPIO_Pin_15 : 0)


#define GPIO_E0(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_0)  	| (x ? GPIO_Pin_0 : 0)
#define GPIO_E1(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_1) 	| (x ? GPIO_Pin_1 : 0)
#define GPIO_E2(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_2)  	| (x ? GPIO_Pin_2 : 0)
#define GPIO_E3(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_3)  	| (x ? GPIO_Pin_3 : 0)
#define GPIO_E4(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_4)  	| (x ? GPIO_Pin_4 : 0)
#define GPIO_E5(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_5)  	| (x ? GPIO_Pin_5 : 0)
#define GPIO_E6(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_6)  	| (x ? GPIO_Pin_6 : 0)
#define GPIO_E7(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_7)  	| (x ? GPIO_Pin_7 : 0)
#define GPIO_E8(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_8)  	| (x ? GPIO_Pin_8 : 0)
#define GPIO_E9(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_9)  	| (x ? GPIO_Pin_9 : 0)
#define GPIO_E10(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_10)  | (x ? GPIO_Pin_10 : 0)
#define GPIO_E11(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_11)  | (x ? GPIO_Pin_11 : 0)
#define GPIO_E12(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_12)  | (x ? GPIO_Pin_12 : 0)
#define GPIO_E13(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_13)  | (x ? GPIO_Pin_13 : 0)
#define GPIO_E14(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_14)  | (x ? GPIO_Pin_14 : 0)
#define GPIO_E15(x)        	  GPIOE->ODR=(GPIOE->ODR&~GPIO_Pin_15)  | (x ? GPIO_Pin_15 : 0)

/* DEFINE DIFFERENT  GPIO PORTS 防,IN ORDR TO EASY SETTING PIN TO 0 OR 1	BY WORD 			 */

//#define GPIOB_HIGH          GPIOB->ODR=(GPIOB->ODR&~0XFF00)        |     


 

/*Setting  pins to General purpose output push-pull mode max speed at 50MHz  (CNFx=00,MODEx=11)                                         */
 //GPIOC
#define GPIO_C0_DIR_OUT        GPIOC->CRL = (GPIOC->CRL&  0xFFFFFFF0)  | 0x00000003;
#define GPIO_C1_DIR_OUT        GPIOC->CRL = (GPIOC->CRL&  0xFFFFFF0F)  | 0x00000030;
#define GPIO_C2_DIR_OUT        GPIOC->CRL = (GPIOC->CRL&  0xFFFFF0FF)  | 0x00000300;
#define GPIO_C3_DIR_OUT        GPIOC->CRL = (GPIOC->CRL&  0xFFFF0FFF)  | 0x00003000;
#define GPIO_C4_DIR_OUT        GPIOC->CRL = (GPIOC->CRL&  0xFFF0FFFF)  | 0x00030000;
#define GPIO_C5_DIR_OUT        GPIOC->CRL = (GPIOC->CRL&  0xFF0FFFFF)  | 0x00300000;
#define GPIO_C6_DIR_OUT        GPIOC->CRL = (GPIOC->CRL&  0xF0FFFFFF)  | 0x03000000;
#define GPIO_C7_DIR_OUT        GPIOC->CRL = (GPIOC->CRL&  0x0FFFFFFF)  | 0x30000000;
#define GPIO_C8_DIR_OUT        GPIOC->CRH = (GPIOC->CRH&  0xFFFFFFF0)  | 0x00000003;
#define GPIO_C9_DIR_OUT        GPIOC->CRH =(GPIOC->CRH&  0xFFFFFF0F)  | 0x00000030;
#define GPIO_C10_DIR_OUT       GPIOC->CRH = (GPIOC->CRH&  0xFFFFF0FF)  | 0x00000300;
#define GPIO_C11_DIR_OUT       GPIOC->CRH = (GPIOC->CRH&  0xFFFF0FFF)  | 0x00003000;
#define GPIO_C12_DIR_OUT       GPIOC->CRH = (GPIOC->CRH&  0xFFF0FFFF)  | 0x00030000;
#define GPIO_C13_DIR_OUT       GPIOC->CRH = (GPIOC->CRH&  0xFF0FFFFF)  | 0x00300000;
#define GPIO_C14_DIR_OUT       GPIOC->CRH = (GPIOC->CRH&  0xF0FFFFFF)  | 0x03000000;
#define GPIO_C15_DIR_OUT       GPIOC->CRH = (GPIOC->CRH&  0x0FFFFFFF)  | 0x30000000; 
 //GPI0B
#define GPIO_B0_DIR_OUT        GPIOB->CRL = (GPIOB->CRL&  0xFFFFFFF0)  | 0x00000003;
#define GPIO_B1_DIR_OUT        GPIOB->CRL = (GPIOB->CRL&  0xFFFFFF0F)  | 0x00000030;
#define GPIO_B2_DIR_OUT        GPIOB->CRL = (GPIOB->CRL&  0xFFFFF0FF)  | 0x00000300;
#define GPIO_B3_DIR_OUT        GPIOB->CRL = (GPIOB->CRL&  0xFFFF0FFF)  | 0x00003000;
#define GPIO_B4_DIR_OUT        GPIOB->CRL = (GPIOB->CRL&  0xFFF0FFFF)  | 0x00030000;
#define GPIO_B5_DIR_OUT        GPIOB->CRL = (GPIOB->CRL&  0xFF0FFFFF)  | 0x00300000;
#define GPIO_B6_DIR_OUT        GPIOB->CRL = (GPIOB->CRL&  0xF0FFFFFF)  | 0x03000000;
#define GPIO_B7_DIR_OUT        GPIOB->CRL = (GPIOB->CRL&  0x0FFFFFFF)  | 0x30000000;
#define GPIO_B8_DIR_OUT        GPIOB->CRH = (GPIOB->CRH&  0xFFFFFFF0)  | 0x00000003;
#define GPIO_B9_DIR_OUT        GPIOB->CRH =(GPIOB->CRH&  0xFFFFFF0F)  | 0x00000030;
#define GPIO_B10_DIR_OUT       GPIOB->CRH = (GPIOB->CRH&  0xFFFFF0FF)  | 0x00000300;
#define GPIO_B11_DIR_OUT       GPIOB->CRH = (GPIOB->CRH&  0xFFFF0FFF)  | 0x00003000;
#define GPIO_B12_DIR_OUT       GPIOB->CRH = (GPIOB->CRH&  0xFFF0FFFF)  | 0x00030000;
#define GPIO_B13_DIR_OUT       GPIOB->CRH = (GPIOB->CRH&  0xFF0FFFFF)  | 0x00300000;
#define GPIO_B14_DIR_OUT       GPIOB->CRH = (GPIOB->CRH&  0xF0FFFFFF)  | 0x03000000;
#define GPIO_B15_DIR_OUT       GPIOB->CRH = (GPIOB->CRH&  0x0FFFFFFF)  | 0x30000000;
//GPIOA

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -