zoukankan      html  css  js  c++  java
  • 28335timer

    /*****************************************************************************
    Copyright: 2014,Tkai
    File name: main.c
    Description:28335定时器0中断测试
    Author:
    Version: v1.0
    Date: 2014.02.23
    History: 无
    *****************************************************************************/
    #include "DSP2833x_Device.h"
    #include "DSP2833x_Examples.h"
    Uint16 ledon=0x00;
    /*************************************************
    Function: gpio_init()
    Description: IO的初始化
    Calls: NO
    Called By: main()
    Table Accessed: 无
    Table Updated: 无
    Input: void
    Output: NULL
    Return: void
    Others: NO
    *************************************************/
    void gpio_init(void)
    {
     EALLOW;
     GpioCtrlRegs.GPAMUX1.all=0x0000;//IO做为GPIO
     GpioCtrlRegs.GPADIR.all=0xffff;//GPIO输出使能
     EDIS;
    }

    /*************************************************
    Function: timer_isr()
    Description: 定时器中断服务程序
    Calls: NO
    Called By: timer_init()
    Table Accessed: 无
    Table Updated: 无
    Input: void
    Output: NULL
    Return: void
    Others: NO
    *************************************************/
    interrupt void timer_isr(void)
    {
     ledon+=10;
     GpioDataRegs.GPADAT.all=ledon;//IO数据位变化
     PieCtrlRegs.PIEACK.all=0xffff;//开所有中断
     
    }
    /*************************************************
    Function: timer_init()
    Description: 定时器中断的初始化
    Calls: NO
    Called By: main()
    Table Accessed: 无
    Table Updated: 无
    Input: void
    Output: NULL
    Return: void
    Others: NO
    *************************************************/
    void timer_init(void)
    {
     InitSysCtrl();
     InitPieVectTable();
     InitPieCtrl();
     InitCpuTimers();
     EALLOW;
     PieVectTable.TINT0=&timer_isr;       //中断服务程序指定 
     XIntruptRegs.XINT1CR.bit.ENABLE=1;  //INT1打开
     ConfigCpuTimer(&CpuTimer0,150,100); //配置定时器0
     /*指针指向定时器0,第二个参数主频MHZ,第三个参数定时值us单位*/
     EDIS;
     DINT;
     IER=0x0000;
     IFR=0x0000;
     PieCtrlRegs.PIEIER1.bit.INTx7=1;  //INTx7 外部中断号
     PieCtrlRegs.PIECTRL.bit.ENPIE=1;  //打开中断
     IER=M_INT1;     //打开中断
     EINT;
     StartCpuTimer0();//启动定时器0 
    }
    /*************************************************
    Function: main()
    Description: 主函数
    Calls: gpio_init(),timer_init()
    Called By: NO
    Table Accessed: 无
    Table Updated: 无
    Input: void
    Output: NULL
    Return: void
    Others: NO
    *************************************************/
    void main(void)
    {
     gpio_init();
     timer_init();
     GpioDataRegs.GPADAT.all=0x0000;
     while(1);
    }

  • 相关阅读:
    【Bootloader】探究bootloader,分析u-boot源码
    【内核】linux2.6版本内核编译配置选项(一)
    【内核】linux2.6版本内核编译配置选项(二)
    【内核】探究linux内核,超详细解析子系统
    【内核】几个重要的linux内核文件
    【教程】探究暴风影音视频截图黑屏原因
    【Linux技术】BusyBox详解
    【C/C++】C/C++中Static的作用详述
    cf515d
    poj1155
  • 原文地址:https://www.cnblogs.com/luxiaolai/p/3411297.html
Copyright © 2011-2022 走看看