首先说明:开发环境Manjaro linux,内核5.0,滚动升级版本,随时都是最新,CCS也是最新的CCv 8

 #include "DSP2833x_Device.h"     // 这是一个很重要的头文件,决定CPU类型,数据类型、asm宏指令,包含的所有的外设,外设的头文件和其他硬件的抽象头文件
#include "DSP2833x_Examples.h" // 该头文件是常用实现函数的文件包含
//中断服务函数声明
__interrupt void wakeint_isr(void); //声明全局变量
Uint32 WakeCount;
Uint32 LoopCount; //主函数
void main(void)
{
// Step 1. 初始化系统控制:
// 配置PLL,设置cpu时钟
// 配置外设时钟
// 配置看门狗 该函数在 DSP2833x_SysCtrl.c中.
InitSysCtrl(); // Step 2. 初始化GPIO:
// 该函数在 DSP2833x_Gpio.c 中.
//InitGpio();
// Step 3. 初始化中断:
// 禁止CPU中断,该函数在 DSP2833x_Device.h 中 DINT; // 禁止外设中断
// 清理外设中断允许寄存器
// 清理外设中断标志寄存器
// 禁止CPU中断,设置允许中断位为0
// 初始化外设中断向量表
// 设置中断函数
InitPieCtrl(); //
// Disable CPU interrupts and clear all CPU interrupt flags
//
IER = 0x0000;
IFR = 0x0000; //
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
// This will populate the entire table, even if the interrupt
// is not used in this example. This is useful for debug purposes.
// The shell ISR routines are found in DSP2833x_DefaultIsr.c.
// This function is found in DSP2833x_PieVect.c.
//
InitPieVectTable(); //
// Interrupts that are used in this example are re-mapped to
// ISR functions found within this file.
//
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.WAKEINT = &wakeint_isr;
EDIS; // This is needed to disable write to EALLOW protected registers // Step 4. 初始化外设:
// 该函数在 DSP2833x_InitPeripherals.c 中
//
//InitPeripherals(); // Not required for this example // Step 5. 用户自己的代码
// Clear the counters
//
WakeCount = ; // Count interrupts
LoopCount = ; // Count times through idle loop //
// 将看门狗中断连接到PIE中断,该寄存器首SCM控制,使用特定的修改方式
// Write to the whole SCSR register to avoid clearing WDOVERRIDE bit
//
EALLOW;
SysCtrlRegs.SCSR = BIT1;
EDIS; //
// Enable WAKEINT in the PIE: Group 1 interrupt 8
// Enable INT1 which is connected to WAKEINT:
//
PieCtrlRegs.PIECTRL.bit.ENPIE = ; // Enable the PIE block
PieCtrlRegs.PIEIER1.bit.INTx8 = ; // Enable PIE Group 1 INT8
IER |= M_INT1; // Enable CPU int1
EINT; // Enable Global Interrupts //
// Reset the watchdog counter
//
ServiceDog(); //
// Enable the watchdog
//
EALLOW;
SysCtrlRegs.WDCR = 0x0028;
EDIS; //
// Step 6. 函数执行环节
//
for(;;)
{
LoopCount++; //
// Uncomment ServiceDog to just loop here
// Comment ServiceDog to take the WAKEINT instead
//
//ServiceDog();
}
} // 中断函数
// Step 7. Insert all local Interrupt Service Routines (ISRs) and functions
// here: If local ISRs are used, reassign vector addresses in vector table as
// shown in Step 5
// //
// wakeint_isr -
//
__interrupt void
wakeint_isr(void)
{
WakeCount++; //
// Acknowledge this interrupt to get more from group 1
//
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}

在我看来,这就是个看门狗6 + 1,通常包括ti的都把他们当成7个环节,但是作为中断函数更多的应该只是个附属品而已,我这样说也是可以的。

DSP学习教程基于28335(一)的更多相关文章

  1. SVN教程 -- 基于自己学习记录

    SVN教程 -- 基于自己学习记录 1. 概述 a. 什么是SVN? Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统.相较于 git ,svn 是集中式版本控 ...

  2. Git 教程 -- 基于自己学习记录

    Git 教程 -- 基于自己学习记录 1. 引言 由于学校布置了一项熟悉 git 和 svn 操作的实验,所以自己重新温习了下 git,记录过程在这. 2. 注册登录 GitHub. 3. 选择一个仓 ...

  3. WebPack 简明学习教程

    WebPack 简明学习教程 字数1291 阅读22812 评论11 喜欢35 WebPack是什么 一个打包工具 一个模块加载工具 各种资源都可以当成模块来处理 网站 http://webpack. ...

  4. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

  5. Deep Learning 5_深度学习UFLDL教程:PCA and Whitening_Exercise(斯坦福大学深度学习教程)

    前言 本文是基于Exercise:PCA and Whitening的练习. 理论知识见:UFLDL教程. 实验内容:从10张512*512自然图像中随机选取10000个12*12的图像块(patch ...

  6. ASP.NET MVC 5 学习教程:添加查询

    原文 ASP.NET MVC 5 学习教程:添加查询 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...

  7. ASP.NET MVC 5 学习教程:添加控制器

    原文 ASP.NET MVC 5 学习教程:添加控制器 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过 ...

  8. 大量Javascript/JQuery学习教程电子书合集

    [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人   不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pd ...

  9. [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人

    不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pdf 274.79 KB   21天学通JavaScript(第2版)-顾宁燕扫描版.pdf ...

随机推荐

  1. Ajax在jQuery中的应用(加载异步数据、请求服务器数据)

    加载异步数据 jQuery中的load()方法 load(url,[data],[callback]) url:被加载的页面地址 [data]:可选项表示发送到服务器的数据,其格式为 key/valu ...

  2. HTML5 Web SQL 数据库总结

    Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs. 如果你是一个 Web 后端程序员,应该很容易理解 SQ ...

  3. FullCalendar(日程管理控件)

    (以下是我学习FullCalendar控件时,网络上收集的一些资料) jQuery.fullCalendar官方网址: http://arshaw.com/fullcalendar/ http://a ...

  4. MD5 十六进制加密

    MD5的加密方法很多,今天说下MD5的十六进制加密···先贴方法···· class Program { static void Main(string[] args) { //202cb962ac5 ...

  5. HTML、 CSS、 JavaScript三者的关系 1

    HTML. CSS. JavaScript三者的关系 网页主要由三部分组成: 结构( Structure) . 表现( Presentation) 和行为( Behavior)    HTML —— ...

  6. IBatis Map时间参数文字格式不匹配!

    CS. ht.Add("start_time", startTime); Map <isNotNull prepend="and" property=&q ...

  7. YBT 5.2 树形动态规划

    题解在代码中 二叉苹果树[loj 10153] /* 若要留q条边便是要留q+1个点 所以记忆化搜索 dp[pos][ans]=max(dp[pos][ans],dp[l[pos]][k]+dp[r[ ...

  8. 【简单算法】17.字符串转整数(atoi)

    题目: 实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为 ...

  9. jQuery获取元素对象本身的html

    Jquery获取html标签,包含该标签本身 2018年04月01日 20:16:10 清--水 阅读数:829   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.c ...

  10. 搭建openresty需要注意到的地方

    openresty的完整包放在百度云盘linux目录下 一键安装openresty ./install.sh 安装好后,修改nginx.conf配置文件 cd /usr/local/openresty ...