完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在座的各位,有没有遇到过这种问题?
其中user.h 中的文件就是些头文件 #include #include til/delay.h> #include #define u8 unsigned char #define u16 unsigned int Main.c 如下: #include "user.h" #define LED1_ON (PORTC &= ~(1 << PC1)) #define LED1_OFF (PORTC |= (1 << PC1)) u8 flag = 0; void Key_Init(void) { DDRD &= ~(1 << PD2); PORTD |= (1 << PD2); DDRC |= (1 << PC1); LED1_OFF; MCUCR |= (1 << ISC01); //外部中断0 下降沿中断 GICR |= (1 << INT0); //使能中断 sei(); //开总中断 } /*--------------------Main-------------------*/ int main(void) { Key_Init(); while(1) { if(flag == 0) { LED1_OFF; } else { LED1_ON; } } } /*--------------------End-------------------*/ SIGNAL(INT0_vect) { flag = !flag; // PORTC ^= (1 << PC1); } 这样子 就会不行,然而把主函数中的while(1)中的语句 放入中断函数中就可以,难道这是BUG?求解 |
|
相关推荐
5 个讨论
|
|
????
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5140 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7774 浏览 0 评论
3038 浏览 2 评论
3111 浏览 1 评论
10068 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 03:55 , Processed in 0.617245 second(s), Total 58, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号