打印

单片机程序运行问题?

[复制链接]
2372|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 | 只看该作者
楼上哲学了

使用特权

评论回复
5
第二个小江| | 2011-9-14 20:29 | 只看该作者
其它函数里是不是变动了某了关键寄存器的值,或变动了全局变量,或像2楼说的那样影响到时序了。

使用特权

评论回复
6
chunyang| | 2011-9-15 01:08 | 只看该作者
注意内存分配和寄存器冲突。

使用特权

评论回复
7
暖风吹过|  楼主 | 2011-9-15 08:30 | 只看该作者
运行U盘程序的时候与后加入得程序一点联系也没有,后加入的程序也没有设置新的全局变量。发现用STUDIO单步调试的时候是读取.TXT文件名的时候不同,也就是读取文件名的起始地址不同。或许就是内存分配和寄存器上的问题吧 ,C语言编写程序不是自动分配内存的吗,这个怎么调呢   读取U盘好使的程序读取文件名是从0x07f8开始,到0x07fb结束的,不好用的读取文件名是从0x0817到0x081a结束的,难道是越界了吗?

使用特权

评论回复
8
暖风吹过|  楼主 | 2011-9-15 08:33 | 只看该作者
影响到时序的话,怎么算是影响到了时序呢? 我后增加的函数跟U盘程序八竿子打不着的啊。

使用特权

评论回复
9
jihh44| | 2011-9-15 10:59 | 只看该作者
KHDVFSDNFMH

使用特权

评论回复
10
暖风吹过|  楼主 | 2011-9-19 08:52 | 只看该作者
会不会是程序占用了同一块存储空间,或寄存器溢出呢?这个ICC不会报错的吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

40

帖子

1

粉丝