CCS5.4+Proteus8的F28027实践课三、外部中断0控制LED流水灯

吃完回来了,跟老弟打了个电话,他正处于事业的迷茫期,希望他早点走出这个状态。好了,现在已经晚上八点过十分了,希望十点前能把外部中断这个主题讲完。
外部中断的概念我还是稍微说下吧,就是你映射的外部中断引脚,如果检测到相应的脉冲边沿变化,就进入外部中断处理程序,处理完后跳出中断,等待下次边沿跳变。
现在来回顾下我们外部中断的结构图:
结构图
看到这张图,大家有没有一种直接写程序的冲动,呵呵,这说明大家都前面中断那章节学习的还不错,对寄存器的操作也已经有了自己的理解。
但外部中断寄存器这部分还是需要回顾下:
XINTnCR
XINTnCTR
寄存器这里大家也再次明白了,其实现在也差不多可以写程序了,不过还是要回顾下外部中断的PIE映射表:
PIE
我们这次要使用的是外部中断1,也就是INT1.4
来来来,开始写程序,从最简单的GPIO.c文件开始,因为我们本次课程新增了一个外部中断输入触发端口,我选择了GPIO12,因为这个端口离LED最近,好画图。。
GPIO的操作流程我再复述一遍:
1、引脚规划;
2、通过复用寄存器设置相应引脚的功能;
3、输入滤波设置;
4、数字GPIO引脚方向设置;
5、内部上拉电阻使能或禁止;
好了,直接上程序了

void InitGpio(void)
{
   EALLOW;

   // Each GPIO pin can be:
   // a) a GPIO input/output
   // b) peripheral function 1
   // c) peripheral function 2
   // d) peripheral function 3
   // By default, all are GPIO Inputs
   GpioCtrlRegs.GPAMUX1.all = 0x0000;     // GPIO functionality GPIO0-GPIO15
   GpioCtrlRegs.GPAMUX2.all = 0x000
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值