完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
网上大多是查询,或者是用T3中断,我想用T1实现中断,自己修改了一下网上的代码,编译无错,但是不能进中断函数,不知问题出在哪里?
#include //定义数据类型 #define uchar unsigned char #define uint unsigned int //定义控制口 #define LED1 P1_0 //LED1的控制口 #define LED2 P1_1 //LED2的控制口 //声明函数区 void delayms(uint); //延时函数 void InitLed(); //P1口初始化 void InitT1(); int count; //函数定义区 /************************** *函数名称:delayms(uint ms) *函数功能:延时函数 *入口参数:无 *出口参数:无 *返回值 :无 **************************/ void delayms(uint ms) [ uint i = 0; uint j = 0; for(i = 0; i < ms; ++i) for(j = 0; j < 586; ++j); ] /************************** *函数名称:InitLed() *函数功能:LED初始化 *入口参数:无 *出口参数:无 *返回值 :无 **************************/ void InitLed() [ P1SEL &= ~0x01;//定义P1_0为普通IO口 P1DIR |= 0x01;//定义P1_0为输出 LED1 = 0;//初始化LED1熄灭 //LED2 = 0;//初始化LED2熄灭 ] /************************** *函数名称:InitT1() *函数功能:初始化T1函数 *入口参数:无 *出口参数:无 *返回值 :无 **************************/ void InitT1() [ T1CTL |= 0x01; //bu分频,自动重装0x0000-0xffff tiMIF |= 0x40; //T1 overflow interrupt mask IEN1 |= 0x02; //T1IE使能 EA = 1; ] #pragma vector = T1_VECTOR//T1输入中断向量 __interrupt void T1_ISR(void) [ if(IRCON > 0)//查询方式 [ IRCON = 0; if(++count >= 488)//count 为 自己定义 [ count = 0; LED1 = !LED1; ] ] ] /************************** *函数名称:main() *函数功能:主函数 *入口参数:无 *出口参数:无 *返回值 :无 **************************/ void main() [ CLKCONCMD &= ~0x40; //设置系统时钟源为32MHZ晶振 while(CLKCONSTA & 0x40); //等待晶振稳定为32M CLKCONCMD &= ~0x47; //设置系统主时钟频率为32MHZ InitLed(); InitT1(); while(1) [ ] ] |
|
相关推荐
1个回答
|
|
问题解决了,
1 并不是进入不了中断,我单步调试了一下,是判断语句 if(IRCON > 0) 这一步不能实现,IRCON寄存器CPU会自动清零,不过在查询模式是可以作为条件的,在中断情况就不行了,有点疑惑。 2 解决方法就是有TISTAT做判断条件, if(T1STAT > 0)//查询方式 [ IRCON = 0; T1STAT = 0; if(++count >= 488)//count 为 自己定义 [ count = 0; LED1 = !LED1; ] ] |
|
|
|
只有小组成员才能发言,加入小组>>
336 浏览 1 评论
529 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
774 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
651 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1130 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
62浏览 29评论
158浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
253浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
202浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
60浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:48 , Processed in 0.867956 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号