/*****************************************************************************
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. procfs

    https://www.kernel.org/doc/Documentation/filesystems/proc.txt /proc/stat cpu 493610 1050 955506 6140 ...

  2. 如何利用jq来实现复选框的全选,反选!

    $("document").ready(function(){ $("#btn1").click(function(){ $("[name='chec ...

  3. sublineText

    https://github.com/thinkpixellab/flatland { "color_scheme": "Packages/Theme - Flatlan ...

  4. libpcap报文解析: ipv4、ipv6(待优化)

    #include <string.h> #include <stdlib.h> #include <pcap.h> #include <netinet/in. ...

  5. Magento后台界面全局样式修改之——font-weight

    路径: \app\design\adminhtml\Magento\backend\web\app\setup\styles\less\lib\_variables.less

  6. Spring MVC防御CSRF、XSS和SQL注入攻击

    参考: http://www.myhack58.com/Article/html/3/7/2012/36142_6.htm http://blog.csdn.net/jasontome/article ...

  7. C puzzles详解【9-12题】

    第九题 #include <stdio.h> int main() { float f=0.0f; int i; ;i<;i++) f = f + 0.1f; if(f == 1.0 ...

  8. Silverlight动态设置WCF服务Endpoint

    2013-02-02 05:57 by jv9, 1763 阅读, 3 评论, 收藏, 编辑 去年12月收到一位朋友的邮件,咨询Silverlight使用WCF服务,应用部署后一直无法访问的问题,通过 ...

  9. 平衡二叉树(AVL)

    性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树. 定义:平衡二叉树或为空树,或为如下性质的二叉排序树: (1)左右子树深度之差的绝对值不超过1; (2 ...

  10. CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

    firewall:systemctl start firewalld.service#启动firewallsystemctl stop firewalld.service#停止firewallsyst ...