完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void main(void)
{unsigned int x=0; unsigned int t=1,a,b,c,d; a=EEPROM_read(0x10); b=EEPROM_read(0x20); io_init(); t1_init(); SREG|=0x80; decode(x); while(1) { if((PINB&0x01)==0) t++; if((t%3)==1) { n=0; x=get_ad(); x=(unsigned int)(((unsigned long)x*5000)/1024); decode(x); } while((t%3)==2) { if((PINB&0x02)==0) { a=a+1; EEPROM_write(0x10,a); a=EEPROM_read(0x10); c=a*20; decode(c); } if((PINB&0x04)==0) { a=a-1; EEPROM_write(0x10,a); a=EEPROM_read(0x10); c=a*20; decode(c); } } while((t%3)==0) { if((PINB&0x02)==0) { b=b+1; EEPROM_write(0x20,b); a=EEPROM_read(0x20); d=b*20; decode(d); } if((PINB&0x04)==0) { b=b-1; EEPROM_write(0x20,b); a=EEPROM_read(0x20); d=b*20; decode(d); } if(x if(x>d) PORTB=~0x40; if(x<=d&&x>=c) PORTB=0xFF; } } } 这是一个报警系统的作业代码,但是我仿真的时候EEPROM中的a,b两个值都变为了256,然后就不能改变它们的值了,而且一进入调整a,b的值的时候就卡死了,按什么键都没有反应,不能跳出循环 情况很紧急啊,求各位高手指点 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5131 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7772 浏览 0 评论
3033 浏览 2 评论
3108 浏览 1 评论
10062 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 07:37 , Processed in 0.539183 second(s), Total 44, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号