智能车制作

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

作者: 吃鱼种豆    时间: 2012-5-18 15:05
标题: 求助:我在 工程中添加了一个deng.c,想实现闪灯的效果,通过了编译却没显示
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++);
}


作者: fangmao14309    时间: 2012-5-18 15:56
有可能由两个原因,第一个是你没有给PORTB端口设定初值,可以在 DDRB=0XFF;下面加一句PORTB=0xff;
还有可能是你得延时时间太短了,i<1由什么用,灯闪了你都看不出来的,最起码要设成100以上吧,
作者: 吃鱼种豆    时间: 2012-5-19 09:01
好吧,我承认延时有点短,但加长了效果也样,我试了很多,发现在deng.c里可以对端口赋值,但是不能对PORTB做取反,位移等命令,即便在deng.c中添加了头文件还是不行。
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
我主要是想学一下如何用多个.c文件来实现编程,但是不懂多个.c文件怎么编译连接到一起的?
还望各位不吝赐教!!谢谢了!
作者: 仁者    时间: 2012-9-26 21:21
吃鱼种豆 发表于 2012-5-19 09:01
好吧,我承认延时有点短,但加长了效果也样,我试了很多,发现在deng.c里可以对端口赋值,但是不能对PORTB做 ...

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




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2