完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
#include "DSP2833x_Device.h"
#include "DSP2833x_examples.h" #include "LED.h" /***********************函数声明**********************/ void DELAY1(Uint32 t); interrupt void Light_led1(); interrupt void Light_led2(); #define tiME 10000000 /***********************主程序************************/ void DELAY1(Uint32 t) { Uint32 i; for (i=0;i void main() { /*******初始化*********/ InitSysCtrl(); DINT; InitPieCtrl(); IER=0x0000; IFR=0x0000; InitPieVectTable(); //Init_LED(); //Init_KEYBOARD(); /*******外部中断PIE向量表配置*********/ EALLOW; //PieVectTable.XINT1=&Light_led1; //PieVectTable.XINT2=&Light_led2; EDIS; /*******PIE,CPU中断使能*********/ PieCtrlRegs.PIECTRL.bit.ENPIE=1; PieCtrlRegs.PIEIER1.bit.INTx4=1; PieCtrlRegs.PIEIER1.bit.INTx5=1; IER |= M_INT1; EINT; //开全局中断 /*外部中断采样频率(与系统时钟相同)*/ EALLOW; GpioCtrlRegs.GPBPUD.bit.GPIO60=0; //LED10输出设置初始化 GpioDataRegs.GPBSET.bit.GPIO60=1; // GpioCtrlRegs.GPBMUX2.bit.GPIO60=0; // GpioCtrlRegs.GPBDIR.bit.GPIO60=1; // GpioCtrlRegs.GPBPUD.bit.GPIO61=0; //LED11输出设置初始化 GpioDataRegs.GPBSET.bit.GPIO61=1; // //GpioDataRegs.GPBCLEAR.bit.GPIO61=0; // GpioCtrlRegs.GPBMUX2.bit.GPIO61=0; // GpioCtrlRegs.GPBDIR.bit.GPIO61=1; // EDIS; EALLOW; GpioCtrlRegs.GPADIR.bit.GPIO14=0; //K3输入设置初始化 GpioCtrlRegs.GPAMUX1.bit.GPIO14=0; // GpioCtrlRegs.GPADIR.bit.GPIO15=0; //K4输入设置初始化 GpioCtrlRegs.GPAMUX1.bit.GPIO15=0; // EDIS; EALLOW; GpioCtrlRegs.GPAQSEL1.bit.GPIO14=0; GpioCtrlRegs.GPAQSEL1.bit.GPIO15=0; EDIS; /***********中断I/O接口************/ GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL=0x0E; GpioIntRegs.GPIOXINT2SEL.bit.GPIOSEL=0x0F; /*******触发方式(下降沿)*********/ XIntruptRegs.XINT1CR.bit.POLARITY=0; XIntruptRegs.XINT2CR.bit.POLARITY=0; /*********使能XINT1、XINT2*********/ XIntruptRegs.XINT1CR.bit.ENABLE=1; XIntruptRegs.XINT2CR.bit.ENABLE=1; /**************D10、D11屏蔽******************/ for(;;); } /*********************中断子程序***********************/ interrupt void Light_led1(void) { Uint32 i; int A; A=K3_SWITCH; for(i=0;i<10000000;i++); while(A==0) D10_ON; DELAY1(TIME); PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; } interrupt void Light_led2(void) { Uint32 i; Uint32 j; int B; B=K4_SWITCH; for(i=0;i<10000000;i++); while(B==0) for(j=0;j<5;j++) { D11_ON; DELAY1(TIME); D11_OFF; DELAY1(TIME); } PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; } |
|
相关推荐
1个回答
|
|
|
PIE向量的函数地址屏蔽掉了还有中断组的启用也有问题
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
TMS320C6748 板卡设计中是否一定需要有SDRAM或者DDR
2502 浏览 0 评论
1539 浏览 0 评论
4185 浏览 1 评论
【六岳微LY-F335开发板试用体验】epwm启动ADC并在OLED上显示结果
5059 浏览 0 评论
【六岳微LY-F335开发板试用体验】软件开发环境及调试下载
5069 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 04:39 , Processed in 0.845376 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3880