|
我最近刚学GCC编程就遇到了麻烦事:编译没法通过
> "make.exe" all
-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
g++ -c -o op_test1.o op_test1.C
process_begin: CreateProcess((null), g++ -c -o op_test1.o op_test1.C, ...) failed.
make (e=2): 系统找不到指定的文件。
make.exe: *** [op_test1.o] Error 2
> Process Exit Code: 2
不知道是不是MAKEFILE文件设置出了问题了?
我的GCC的相关设置是按照教材上该的,我反复搞也弄不出,C文件与MAKEFILE文件在附件里,C里有些写法可能是错误的,望马老师指点。还有请马老师推荐新手教材,比如GCC自己的函数头文件、一些与C的不同语法等,看了我们网上的一些教材,好象漏了些新手应注意的问题,还望多多指点,谢谢。
#include <avr/io.h>
#include<stdio.h>
int main(void)
{ unsigned char retc,A;
int i;
retc=0;
sbi(portC,0); //E1=1
sbi(portB,1); //E2=1
cbi(portD,6); //CTR28=1
cbi(portD,7); //CTR30=1
while (1)
{
while(portD_0==0);
while(portD_0==1);
while(portD_0==0);
for(i=0;i<=7;i++)
{
retc=retc<<1;
if(PINC&0X10)retc=retc+1;
}
switch(retc)
case(01):A=0xF0&portC;portC=A;break; //CTR1
case(02):A=(0xF0&portC)|0x08;portC=A;break; //CTR2
case(03):A=(0XF0&portC)|0X04;portC=A;break; //CTR3
case(04):A=(0XF0&portC)|0X0C;portC=A;break; //CTR4
case(05):A=(0XF0&portC)|0X02;portC=A;break; //CTR5
case(11):A=(0XC1&portB);portB=A;break; //CTR6
case(12):A=(0XC1&portB)|0X20;portB=A;break; //CTR7
case(13):A=(0XC1&portB)|0X10;portB=A;break; //CTR8
case(14):A=(0XC1&portB)|0X30;portB=A;break; //CTR9
case(15):A=(0XC1&portB)|0X08;portB=A;break; //CTR10
case(16):A=(0XC1&portB)|0X28;portB=A;break; //CTR11
case(17):A=(0XC1&portB)|0X18;portB=A;break; //CTR12
case(18):A=(0XC1&portB)|0X38;portB=A;break; //CTR13
case(19):A=(0XC1&portB)|0X04;portB=A;break; //CTR14
case(21):sbi(portD,6);break; //CTR29
case(22):sbi(portD,7);break; //CTR30
case(23):sbi(portB,0);break; //CTR22
}
}
其中
while(portD_0==0); 在GCC该怎么改变?对弹片机引脚一定要先设置输入或输出?为什么我的程序编译不了,上面程序有什么不正确之错,忘大家多多指
while(portD_0==1); 正。
while(portD_0==0);
点击此处下载 ourdev_262822.rar(文件大小:59K) (原文件名:op_test.rar) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|