单片机程序运行问题?

[复制链接]
3316|9
 楼主| 暖风吹过 发表于 2011-9-14 16:36 | 显示全部楼层 |阅读模式
我用ATMEGA128单片机编写了U盘读取功能函数,读的是.TXT文件。同时还有其他功能函数,读取U盘可以正常读取其中的数值,然后我对其他功能函数进行修改的时候(增加)功能,发现读U盘的数据错误,然后我对增加后的函数进行/* */后 读U盘的数据就正确,为什么修改同读U盘函数无关的函数,会影响到读U盘的数值呢? 百思不得其解啊!
liang7143 发表于 2011-9-14 17:07 | 显示全部楼层
可能影响到了 U盘的读写时序
NE5532 发表于 2011-9-14 17:16 | 显示全部楼层
用一个哲学观点就可以回答了:事物是普遍联系的,矛盾是普遍存在的!
rclong 发表于 2011-9-14 19:29 | 显示全部楼层
楼上哲学了
第二个小江 发表于 2011-9-14 20:29 | 显示全部楼层
其它函数里是不是变动了某了关键寄存器的值,或变动了全局变量,或像2楼说的那样影响到时序了。
chunyang 发表于 2011-9-15 01:08 | 显示全部楼层
注意内存分配和寄存器冲突。
 楼主| 暖风吹过 发表于 2011-9-15 08:30 | 显示全部楼层
运行U盘程序的时候与后加入得程序一点联系也没有,后加入的程序也没有设置新的全局变量。发现用STUDIO单步调试的时候是读取.TXT文件名的时候不同,也就是读取文件名的起始地址不同。或许就是内存分配和寄存器上的问题吧 ,C语言编写程序不是自动分配内存的吗,这个怎么调呢   读取U盘好使的程序读取文件名是从0x07f8开始,到0x07fb结束的,不好用的读取文件名是从0x0817到0x081a结束的,难道是越界了吗?
 楼主| 暖风吹过 发表于 2011-9-15 08:33 | 显示全部楼层
影响到时序的话,怎么算是影响到了时序呢? 我后增加的函数跟U盘程序八竿子打不着的啊。
jihh44 发表于 2011-9-15 10:59 | 显示全部楼层
KHDVFSDNFMH
 楼主| 暖风吹过 发表于 2011-9-19 08:52 | 显示全部楼层
会不会是程序占用了同一块存储空间,或寄存器溢出呢?这个ICC不会报错的吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

40

帖子

1

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