[AVR单片机] 刚学AVR,一个最简单的问题,如何在一个口上输出高低变化

[复制链接]
3587|15
 楼主| rockzone 发表于 2008-1-12 20:10 | 显示全部楼层 |阅读模式
#include <mega88.h>
void main(void)
{
int i;
DDRB = 0x01;


while(1)
{
PORTB = 0x01;
for(i=0 ;i<100000 ;i++);
PORTB=0x00;
for(i=0 ;i<100000 ;i++);
};
}


这是我的一段程序,很简单,可是PB0口没反应啊,我用的是CVAVR。

多谢了!!
computer00 发表于 2008-1-12 20:12 | 显示全部楼层

int型的i最大可以到多少?

sz_kd 发表于 2008-1-12 20:14 | 显示全部楼层

楼主变量超界了

 楼主| rockzone 发表于 2008-1-12 20:48 | 显示全部楼层

去掉一个零,还是不行呢?没反应

hc0 发表于 2008-1-12 20:51 | 显示全部楼层

不太可能呀!

你直接输出高看行不行,主要测试硬件电路!
computer00 发表于 2008-1-12 20:56 | 显示全部楼层

你不会量错口了吧? 软件改了后,又没有在下载时重新加载

 楼主| rockzone 发表于 2008-1-12 20:56 | 显示全部楼层

不好意思啊

抱歉,啊。刚才电源掉了。

现在可以了。

可是我想问问,为什么编译的时候没有提示,i出界了呢??
sz_kd 发表于 2008-1-12 20:59 | 显示全部楼层

估计是编译器缺点

jmpxwh 发表于 2008-1-14 15:13 | 显示全部楼层

C编译器通常不检测变量范围的!

C编译器通常不检测变量范围的!
txh353012 发表于 2008-1-20 09:31 | 显示全部楼层

其实出界也可以运行啊

只是延时时间不对了.
AIRWILL 发表于 2008-1-20 14:21 | 显示全部楼层

C编译器通常不检测变量范围

在 gcc 里,如果条件肯定成立,干脆,连比较的代码都省掉了
showyou 发表于 2008-1-21 14:06 | 显示全部楼层

我也不知道

对AVR不清楚。
simon21ic 发表于 2008-1-21 15:40 | 显示全部楼层

PINB = 0x01

可以用这个来ToggleIO口
AIRWILL 发表于 2008-1-21 19:12 | 显示全部楼层

楼上也发现这个功能啦

不错, 我在 M48 上发现了这个功能, 效果不错

不过, 早期的芯片可没有这个功能, 比如 M8 就不行
simon21ic 发表于 2008-1-22 17:28 | 显示全部楼层

这个不是在Mega88的Datasheet上写这的吗

Mega8上不行吗?没试过
这样Toggle操作可以只用一条语句
hpn 发表于 2008-1-31 22:42 | 显示全部楼层

熔丝设置问题·

去掉CKOPT
您需要登录后才可以回帖 登录 | 注册

本版积分规则

69

主题

812

帖子

4

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