打印
[AVR单片机]

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

[复制链接]
2747|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 | 只看该作者

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

使用特权

评论回复
5
hc0| | 2008-1-12 20:51 | 只看该作者

不太可能呀!

你直接输出高看行不行,主要测试硬件电路!

使用特权

评论回复
6
computer00| | 2008-1-12 20:56 | 只看该作者

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

使用特权

评论回复
7
rockzone|  楼主 | 2008-1-12 20:56 | 只看该作者

不好意思啊

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

现在可以了。

可是我想问问,为什么编译的时候没有提示,i出界了呢??

使用特权

评论回复
8
sz_kd| | 2008-1-12 20:59 | 只看该作者

估计是编译器缺点

使用特权

评论回复
9
jmpxwh| | 2008-1-14 15:13 | 只看该作者

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

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

使用特权

评论回复
10
txh353012| | 2008-1-20 09:31 | 只看该作者

其实出界也可以运行啊

只是延时时间不对了.

使用特权

评论回复
11
AIRWILL| | 2008-1-20 14:21 | 只看该作者

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

在 gcc 里,如果条件肯定成立,干脆,连比较的代码都省掉了

使用特权

评论回复
12
showyou| | 2008-1-21 14:06 | 只看该作者

我也不知道

对AVR不清楚。

使用特权

评论回复
13
simon21ic| | 2008-1-21 15:40 | 只看该作者

PINB = 0x01

可以用这个来ToggleIO口

使用特权

评论回复
14
AIRWILL| | 2008-1-21 19:12 | 只看该作者

楼上也发现这个功能啦

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

不过, 早期的芯片可没有这个功能, 比如 M8 就不行

使用特权

评论回复
15
simon21ic| | 2008-1-22 17:28 | 只看该作者

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

Mega8上不行吗?没试过
这样Toggle操作可以只用一条语句

使用特权

评论回复
16
hpn| | 2008-1-31 22:42 | 只看该作者

熔丝设置问题·

去掉CKOPT

使用特权

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

本版积分规则

69

主题

807

帖子

4

粉丝