打印
[AVR单片机]

AVR的C语言学习的各种疑惑,求指点一二

[复制链接]
1615|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yfei827|  楼主 | 2013-8-5 10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在看别人写的代码,看得我都是一头的污水,其中疑惑多多!!
1、怎么样能快速看懂别人写的源代码?特别是在注释不多的情况下。
2、对于程序很长变量太多时,怎么样才能看懂别人为什么要定义一个这样的变量,以及此变量的用法?
3、一些定义还是理解不透。比如:#define        T_15MINUTE 900 // 15 * 60 = 900sec 就这样的一条定义语句怎么就能实现15分钟的定时?单片机是ATmega16
等等问题。。疑惑真的是太多。。请各位前辈指点。。

相关帖子

沙发
airwill| | 2013-8-5 11:55 | 只看该作者
看来菜鸟了.

#define        T_15MINUTE 900   

只是个宏而已, 应该是个计时器用了这个宏定参数. 这个计时器每 1 S 减1 吧.

做笔记, 把变量都列处理, 从使用的地方去理解其作用, 都写下来.
最后做个整理

使用特权

评论回复
板凳
huangxz| | 2013-8-5 14:00 | 只看该作者
要看懂别人的代码,首先要知道人家要做什么

使用特权

评论回复
地板
赛元sc| | 2013-8-5 14:56 | 只看该作者
要看懂代码 首先要 看明白什么目的吧   这个版块人还是多啊 不错 以后经常来

使用特权

评论回复
5
yfei827|  楼主 | 2013-8-5 16:24 | 只看该作者
airwill 发表于 2013-8-5 11:55
看来菜鸟了.

#define        T_15MINUTE 900   

首先非常感谢你的回答。。。没错我就是一菜鸟。。:lol这个是宏定义没错,而且还复定义了一下两个(#define LEAKAGE_GAP_TIME        T_15MINUTE          #define LEAKAGE_GAP_TIME        T_15MINUTE)用法则是if(guLeakageSec >= LEAKAGE_GAP_TIME)   做判断  我想知道的是900这个参数为什么就是900S而不是900MS或者是900us?

使用特权

评论回复
6
yfei827|  楼主 | 2013-8-5 16:28 | 只看该作者
huangxz 发表于 2013-8-5 14:00
要看懂别人的代码,首先要知道人家要做什么

大概的框架懂别人要干嘛 就是到具体的细节 就是不太明白。。

使用特权

评论回复
7
airwill| | 2013-8-5 16:35 | 只看该作者
用法是

if(guLeakageSec >= LEAKAGE_GAP_TIME)

说明变量 guLeakageSec  是每1秒加1的. 如果是每 1 mS 加1, 那么就是 900mS 了

使用特权

评论回复
8
joyme| | 2013-8-5 16:58 | 只看该作者
宏定义是为了方便理解和修改程序
从字面上看就是一个漏气检测,超过15分钟就做相关处理,会不会就是胎压检测产品啊

使用特权

评论回复
9
huangxz| | 2013-8-5 17:05 | 只看该作者
yfei827 发表于 2013-8-5 16:28
大概的框架懂别人要干嘛 就是到具体的细节 就是不太明白。。

如果不懂,可以问原作者的,充分的交流有利于自己的进步,不能老靠猜

使用特权

评论回复
10
yfei827|  楼主 | 2013-8-5 18:00 | 只看该作者
joyme 发表于 2013-8-5 16:58
宏定义是为了方便理解和修改程序
从字面上看就是一个漏气检测,超过15分钟就做相关处理,会不会就是胎压检 ...

是充电器类的产品  呵呵

使用特权

评论回复
11
yfei827|  楼主 | 2013-8-5 18:02 | 只看该作者
huangxz 发表于 2013-8-5 17:05
如果不懂,可以问原作者的,充分的交流有利于自己的进步,不能老靠猜

原作者都已经离职了 我也是刚拿到源程序没多久。。这不看起来有点迷糊。。

使用特权

评论回复
12
499734424| | 2013-8-8 09:15 | 只看该作者
先了解产品的功能
而后只能慢慢啃了

使用特权

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

本版积分规则

5

主题

28

帖子

2

粉丝