智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1787|回复: 3
打印 上一主题 下一主题

求助:我在 工程中添加了一个deng.c,想实现闪灯的效果,通过了编译却没显示

[复制链接]

2

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
威望
243
贡献
106
兑换币
2
注册时间
2012-5-18
在线时间
12 小时
毕业学校
河南工程学院
跳转到指定楼层
1#
发表于 2012-5-18 15:05:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
main.c
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include "deng.h"
void main(void) {
  /* put your own code here */
  DDRB=0XFF;
EnableInterrupts;
  for(;;) {
   denga();
    delay();
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
deng.h
void denga(void);
void delay(void);

deng.c
void denga(){

PORTB=~PORTB;

}
void delay(){
unsigned char i,j;
for(i=0;i<1;i++)
for(j=0;j<250;j++);
}

1

主题

12

帖子

0

精华

注册会员

Rank: 2

积分
148
威望
116
贡献
28
兑换币
0
注册时间
2012-5-16
在线时间
2 小时
毕业学校
武汉理工大学
2#
发表于 2012-5-18 15:56:14 | 只看该作者
有可能由两个原因,第一个是你没有给PORTB端口设定初值,可以在 DDRB=0XFF;下面加一句PORTB=0xff;
还有可能是你得延时时间太短了,i<1由什么用,灯闪了你都看不出来的,最起码要设成100以上吧,
回复 支持 反对

使用道具 举报

2

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
威望
243
贡献
106
兑换币
2
注册时间
2012-5-18
在线时间
12 小时
毕业学校
河南工程学院
3#
 楼主| 发表于 2012-5-19 09:01:28 | 只看该作者
好吧,我承认延时有点短,但加长了效果也样,我试了很多,发现在deng.c里可以对端口赋值,但是不能对PORTB做取反,位移等命令,即便在deng.c中添加了头文件还是不行。
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
我主要是想学一下如何用多个.c文件来实现编程,但是不懂多个.c文件怎么编译连接到一起的?
还望各位不吝赐教!!谢谢了!
回复 支持 反对

使用道具 举报

22

主题

242

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2785

优秀会员奖章

威望
534
贡献
1925
兑换币
20
注册时间
2009-10-12
在线时间
163 小时
4#
发表于 2012-9-26 21:21:44 | 只看该作者
吃鱼种豆 发表于 2012-5-19 09:01
好吧,我承认延时有点短,但加长了效果也样,我试了很多,发现在deng.c里可以对端口赋值,但是不能对PORTB做 ...

头文件都添加,函数声明了,在其他文件调用就行了,不行的话,你就但不调试,看程序是如何执行的
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-29 03:21 , Processed in 0.053084 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表