/*****************************************************************************
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);
}

28335timer的更多相关文章

随机推荐

  1. python3的文件操作

    open的原型定义在bultin.py中,是一种内建函数,用于处理文件 open(file, mode='r', buffering=None, encoding=None, errors=None, ...

  2. SecondaryNamenode配置与NameNode故障恢复

    一.配置 1. 在masters文件中添加 Secondary节点的主机名. *注:masters文件用于指定secondary的主机而不是namenode,slaves用于指定datanode和ta ...

  3. Unieap3.5Java端通过SQL语句直接查询DataStore

    通过sql查询dataStore 例子见 /mcss/src/com/neusoft/mcss/base/todo/dao/WorkTodoDaoImpl.java getWorksTodo() ID ...

  4. 2.1Android底层开发需要哪些工具

    开发.测试和调试Linux驱动.HAL程序库需要的工具: (1)JDK6或以上版本: (2)Eclipse3.4或以上版本: (3)ADT(用于开发Android应用程序): (4)CDT(用于开发A ...

  5. C++ 三种工厂模式

    工厂模式是将带有继承于基类的子类的创建过程交于一个工厂来创建,通过赋予不同的创建标识来创建不同的子类. 基于自己的理解和使用这里巩固一下工厂模式. 我们的项目目前使用最多的是简单工厂模式,不过其他两种 ...

  6. partial class 说明

    C# 2.0 可以将类.结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可. 例如:下面的PartialTest类 class PartialTest { string ...

  7. Qt使用默认浏览器打开网页

    #include <QDesktopServices> #include <QUrl> QDesktopServices::openUrl(QUrl("http:// ...

  8. C#高级功能(一)Lambda 表达式

    Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数. Lambda 表达式对于编写 LINQ ...

  9. C#之匿名类型与隐式局部变量

    一.匿名类型 下面一段代码展示了如何定义并且使用匿名类型: static void Main(string[] args) { var patent1 = new { Title = "Ne ...

  10. 04-树5 Root of AVL Tree

    平衡二叉树 LL RR LR RL 注意画图理解法 An AVL tree is a self-balancing binary search tree. In an AVL tree, the he ...