单片机中long型变量之间比较大小

[复制链接]
4733|5
 楼主| liuxiaolinsara 发表于 2012-6-28 16:09 | 显示全部楼层 |阅读模式
单片机中long型变量之间怎样比较大小?
变量定义:
unsigned long idata flash_addr;
unsigned long idata addr;
addr=0;
程序中addr会不断自加,当addr>flash_addr时,程序结束。
当初始化flash_addr=0xff时,程序正常执行;但是当flash_addr=0x01ff时,程序会不断循环,无法结束。
忘高手指点!
xxlin1984 发表于 2012-6-28 16:35 | 显示全部楼层
关键问题:addr是在哪自增的,中断内?
ayb_ice 发表于 2012-6-28 16:35 | 显示全部楼层
flash_addr = 0xxx;
for(addr = 0; addr < flash_addr; addr++){
    ....
}
 楼主| liuxiaolinsara 发表于 2012-6-29 09:16 | 显示全部楼层
2楼:
在调用子函数的时候,读取flash中的数据时自增的。
xxlin1984 发表于 2012-6-29 09:33 | 显示全部楼层
1. 实验3L的测试办法;
2. 跟踪addr值的变化,看有没超过0x1FF;
3. addr初始化值直接设为0x1FF;
highgear 发表于 2012-6-29 12:18 | 显示全部楼层
检查自己的程序,看看是否循环或其他地方更改了 addr
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部