4117|4

667

帖子

3

TA的资源

版主

楼主
 

【C2000学习之[6]】GPIO中断 [复制链接]

学习笔记使用F28069为例,但是其具有通用意义,学习C2000系列均可参考该例子。

本节中,介绍一下使用GPIO中断的方法。

以GPIO4为例,设置为双边沿触发中断。在中断中设置GPIO4的输出。

设置步骤如下:

1. GPIO初始化

需要将GPIO4设置为输入,GPIO6设置为输出。

程序初始化代码如下:

  1. EALLOW;
  2.    GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 0x00;
  3.    GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0x00;                        // 设置GPIO4,GPIO6 为GPIO

  4.    GpioCtrlRegs.GPADIR.bit.GPIO4 = 0;                                // 设置GPIO4为输入
  5.    GpioCtrlRegs.GPADIR.bit.GPIO6 = 1;                                // 设置GPIO6 为输出
  6.    EDIS;
复制代码
2.设置GPIO4 为外部中断3XINT3)的中断源

  1.    EALLOW;
  2.    GpioIntRegs.GPIOXINT3SEL.bit.GPIOSEL = 4;
  3.    EDIS;
复制代码
3.设置XINT3的边沿触发:双边沿触发

  1. XIntruptRegs.XINT3CR.bit.POLARITY = 3;
复制代码
4.使能 XINT3 中断

  1. XIntruptRegs.XINT3CR.bit.ENABLE = 1;
复制代码
5.使能PIE级及CPU级中断向量

  1.    PieCtrlRegs.PIEIER12.bit.INTx1 = 1;
  2.    IER |= M_INT12;

  3.    EINT;   // Enable Global interrupt INTM
  4.    ERTM;   // Enable Global realtime interrupt DBGM

  5.    PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
复制代码
6.中断服务函数的设置

  1. interrupt void xint3_isr(void)
  2. {
  3.         PieCtrlRegs.PIEACK.all = PIEACK_GROUP12;
  4.         GpioDataRegs.GPASET.bit.GPIO6 = 1;//继电器关闭,COM接ON
  5.         if(        GpioDataRegs.GPADAT.bit.GPIO4 == 1) //有阻碍物
  6.                 GpioDataRegs.GPASET.bit.GPIO6 = 1;    //继电器关闭,COM接ON
  7.         else
  8.                 GpioDataRegs.GPACLEAR.bit.GPIO6 = 1;        //继电器打开,COM接OFF
  9. }
复制代码
7.完整初始化代码


main.rar

700 Bytes, 下载次数: 43

最新回复

哈哈,我意思是出个完整的DSP教程,那就更帅了   详情 回复 发表于 2015-5-15 11:46

赞赏

1

查看全部赞赏

 
点赞 关注(1)

回复
举报

5310

帖子

453

TA的资源

五彩晶圆(高级)

沙发
 
不错!可以考虑增加趣味性的
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

板凳
 
不错。加油,希望能出个完整教程。

点评

啊? 这个不完整吗?  详情 回复 发表于 2015-5-15 11:19
 
 
 

回复

667

帖子

3

TA的资源

版主

4
 
ltbytyn 发表于 2015-5-15 11:15
不错。加油,希望能出个完整教程。

啊?

这个不完整吗?


点评

哈哈,我意思是出个完整的DSP教程,那就更帅了  详情 回复 发表于 2015-5-15 11:46
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

5
 
nemo1991 发表于 2015-5-15 11:19
啊?

这个不完整吗?

哈哈,我意思是出个完整的DSP教程,那就更帅了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表