LM3S的GPIO操作相关库函数
2012-03-30 16:46
399 查看
LM3S的GPIO操作相关库函数
1.内核时钟设置 SysCtlClockSet 2.片上设备时钟使能 SysCtlPeripheralEnable 3.GPIO设置 GPIODirModeSet/Get // Param3:1.输入(数字、模拟) 2.输出(数字) 3.硬件决定(数字第二功能) GPIOPadConfigSet/Get // Param2:1.驱动强度(数字、模拟) // Param3:1.推挽/开漏(数字) 2.模拟功能(模拟) 注:上述两个函数被封装成了以下函数做简化 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数据读写 ..\..\driverlib_lm3s;..\..\INC_lm3s G:\Keil\ARM\driverlib_lm3s\rvmdk\DriverLib.lib ------------------------------------------------------------ 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.功能操作 自定义功能 //*********** 1.中断模式设置 2.外设具体中断使能 3.外设总中断使能 4.MCU总中断使能 ---------------------------------------------------------------- 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 ---------------------------------------------------------------- SysTick的操作流程 1.系统时钟设置 SysCtlClockSet 2.SysTick周期设置 SysTickPeriodSet//减法计数器,归零后自动重装 3.SysTick启动 SysTickEnable 4.MCU总中断开启 IntMasterEnable 5.SysTick中断服务函数 void SysTick_ISR() { //SysTick是系统内设,硬件自动清除中断,无须手动清除 ....//功能代码 } ------------------------------------------------------------- Timer的操作流程 32bit 定时器 32bit RTC定时器 16bit 定时器 16bit 捕获器(边沿计数:计算有几个边沿;边沿定时:计算前后边沿的时间差) 16bit PWM 1.系统时钟设置 SysCtlClockSet 2.片上设备时钟使能 SysCtlPeripheralEnable 3.定时器工作模式设置 TimerConfigure 4.定时器载入值设置 TimerLoadSet 5.定时器中断使能 TimerIntEnable 6.外设中断总使能 IntEnable 7.MCU总中断使能 IntMaskEnable 8.定时器启动 TimerEnable Timer中断服务函数 void Timer_ISR() { //手工清除中断状态 TimerIntClear(); ...//功能代码 } ----------------------------- ADC操作流程 1.系统时钟设置 SysCtlClockSet 2.ADC所在GPIO外设时钟打开 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); 3.IO口配置为ADC功能 GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3); 4.ADC外设时钟打开 SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC); 5.ADC采样序列配置 ADCSequenceConfigure(ADC0_BASE, 3, DC_TRIGGER_PROCESSOR, 0); 6.ADC采样序列步进配置 ADCSequenceStepConfigure(ADC0_BASE, 3, 0, ADC_CTL_CH0 | ADC_CTL_IE | ADC_CTL_END); // 启动AD的采样序列发生器3 ADCSequenceEnable(ADC0_BASE, 3); // 清除中断标志 ADCIntClear(ADC0_BASE, 3);
相关文章推荐
- 【C语言】文件指针与文件位置指针,位置指针相关操作库函数
- STM32:GPIO基础与对应管脚操作库函数
- C 操作字符串/字符/字节相关的库函数
- nodemcu的gpio相关操作
- stm32—GPIO操作(库函数)
- 【C语言】文件指针与文件位置指针,位置指针相关操作库函数
- 【C语言】文件指针与文件位置指针,位置指针相关操作库函数
- 编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等
- MAC SVN 相关操作
- sqoop 和mysql相关操作
- 内核中与驱动相关的内存操作之六(vmalloc)
- 运用js动态操作table(新增,删除相关列信息)
- 内核中与驱动相关的内存操作之十七(DMA)
- 链表的简单操作代码相关
- C# 字符串 相关操作
- (C语言版)栈和队列(二)——实现顺序存储栈和顺序存储队列的相关操作
- windows常用命令行操作及相关快捷方式
- cocos2dx中Opacity属性及相关操作(1)
- Ubuntu下Apache web服务器的安装、配置及相关操作
- 树莓派高级GPIO库,wiringpi2 for python使用笔记(三)GPIO操作