呵呵,大虾就不用看了,像我一样的新手可以看看
GPIO操作流程中的库函数
1.内核时钟设置
SysCtlClockSet
2.片上设备时钟使能
SysCtlPeripheralEnable
3.GPIO设置
//输入(数字、模拟)、输出(数字)、由硬件决定
GPIODirModeSet/Get
//驱动强度、推挽/开漏、模拟功能设置
GPIOPadConfigSet/Get
注:上述两个函数被封装成了以下函数做简化
GPIOPinTypeGPIOInput //输入、2mA、推挽_GPIO
GPIOPinTypeGPIOOnput //输出、2mA、推挽_GPIO
GPIOPinTypeGPIOOutputOD //输出、2mA、开漏_GPIO
GPIOPinTypeADC //输入、2mA、模拟_ADC
GPIOPinTypeComparator //输入、2mA、模拟_比较器
GPIOPinTypeCAN //硬件、8mA、推挽_CAN
GPIOPinTypeEthernetLED //硬件、8mA、推挽_以太网LED
GPIOPinTypeI2C //硬件、2mA、开漏弱上拉_I2C
GPIOPinTypeI2S //硬件、2mA、推挽_I2S
GPIOPinTypePWM //硬件、2mA、推挽_PWM
GPIOPinTypeQEI //硬件、2mA、推挽弱上拉_QEI
GPIOPinTypeSSI //硬件、2mA、推挽_SSI
GPIOPinTypeTimer //硬件、2mA、推挽_Timer
GPIOPinTypeUART //硬件、2mA、推挽_Uart
GPIOPinTypeUSBDigital //硬件、2mA、推挽_USB
4 IO口读写
GPIOPinRead/Write //Pin数据读写
------------------------------------------------------------
GPIO用作中断的操作流程
1.系统时钟配置 SysCtlClockSet
2.GPIO设备时钟打开 SysCtlPeripheralEnable
3.Pin脚功能设置 GPIOPinTypeInput
4.Pin脚中断触发模式设置 GPIOIntTypeSet //0.片内外设中断模式配置
5.Pin脚中断允许 GPIOPinIntEnable //1.使能片内外设的具体中断
6.内设中断允许 IntEnable //2.使能片内外设的总中断
7.MCU总中断允许 IntMasterEnable //3.使能MCU的总中断
中断服务程序
1.读取中断源 GPIOPinIntStatus
2.清除中断源 GPIOPinIntClear //M3的内核中断,不需要手动清除
3.功能操作 自定义功能
----------------------------------------------------------------
UART的操作流程
1.系统时钟配置 SysCtlClockSet
2.GPIO设备时钟打开 SysCtlPeripheralEnable
3.UART设备时钟打开 SysCtlPeripheralEnable
4.GPIO复用引脚设定为Tx和Rx GPIOPinTypeUART
5.1UART工作参数配置 UARTConfigSetExpClk
[5.2] 若使用UART中断模式,则需配置
5.2.1 Tx和Rx引脚中断允许 UARTIntEnable
5.2.2 UART功能启动 UARTEnable
5.2.3 内设中断允许 IntEnable
6.UART收发
6.1 Block模式: (将NoBlock模式的4个函数封装成2个)
直接发送字符 UARTCharPut
直接接收字符 UARTCharGet
6.2 NoBlock模式:(使用FIFO)
等待Rx_FIFO有数据 UARTCharsAvail
等待Tx_FIFO有数据 UARTSpaceAvail
Block发送字符 UARTCharPutNonBlocking
Block接收字符 UARTCharGetNonBlocking (注:使用此函数,必须先查询UARTCharsAvail)
6.3 INT模式:(中断服务函数)
UART中断清除 UARTIntClear
使用Block/NoBlock模式发送和接收字符
----------------------------------------------------------------
PWM的操作流程
1.系统时钟设置 SysCtlClockSet
2.PWM模块时钟设置 SysCtlPWMClockSet
3.GPIO设备时钟打开 SysCtlPeripheralEnable
4.PWM模块时钟打开 SysCtlPeripheralEnable
5.GPIO设置为硬件指定(PWM) GPIOPinTypePWM
6.Pin脚配置为PWM功能 GPIOPinConfigure
7.PWM发生器计数模式设置 PWMGenConfigure
8.PWM发生器周期设置 PWMGenPeriodSet
9.PWM发生器脉宽设置 PWMPulseWidthSet
10.PWM输出管脚使能 PWMOutputState
11.PWM启动 PWMGenEnable