[原创] [新手学习一点心得]几个常用外设模块的库函数操作流程

fishplj2000   2011-10-28 08:39 楼主

呵呵,大虾就不用看了,像我一样的新手可以看看

 

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

[ 本帖最后由 fishplj2000 于 2011-10-28 08:42 编辑 ]

回复评论 (6)

好!
点赞  2011-10-28 08:46
非常好
点赞  2012-2-21 22:46
一个字:非常好。
点赞  2012-2-24 11:57
非常棒,这位这个发愁呢
点赞  2012-2-24 17:11
对我这个菜鸟挺有用的,谢谢分享。
点赞  2012-6-11 23:19
很棒。!
点赞  2016-7-21 11:21
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复