upper 发表于 2008-4-29 19:45:57

刚学GCC编程就遇到了麻烦事:编译没法通过

我最近刚学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: *** Error 2

> Process Exit Code: 2
不知道是不是MAKEFILE文件设置出了问题了?
我的GCC的相关设置是按照教材上该的,我反复搞也弄不出,C文件与MAKEFILE文件在附件里,C里有些写法可能是错误的,望马老师指点。还有请马老师推荐新手教材,比如GCC自己的函数头文件、一些与C的不同语法等,看了我们网上的一些教材,好象漏了些新手应注意的问题,还望多多指点,谢谢。

点击此处下载 ourdev_262403.rar(文件大小:59K) (原文件名:op_test.rar)


以下蓝色文字由站长:armok 于:2008-04-30,05:20:49 加入。你的原标题:“<font color=black>新手请教马老师,急急急!” 不合符规定。请更改成能说明帖子大意的标题
试想一下,如果本论坛的帖子标题清一色的‘帮助!’,‘ADC求救!’等笼统的标题,你在阅读的过程中会造成许多麻烦。
所以本论坛规定:一定要起一个能说明帖子大意的标题。不允许“关于 AVR 的 ADC 使用!”这种笼统标题。作为标题,必须说明清楚:
 ①你是在请教问题,还是在介绍有关的知识?
 ②ADC的问题有许多,你是想说那方面的内容?
注意以上两点,标题应该改成如:“请教:ADC 可以不使用中断吗?”。
起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。
注:使用合格的标题,对你来说只是举手之劳,但却会为我们的管理工作提供很大的便利。谢谢你的支持。
./bbs_upload/files_6/armok01122228.gif

caizifang 发表于 2008-4-29 20:08:05

我也是菜鸟,才开始学AVR。
本人觉得最好的手册在 winAVR文件夹\doc\avr-libc。
中文的去芯艺的网站http://www.chipart.cn/ 。
下载了你的源代码在winAVR(20080411)中试了下:
“swith”应该是“switch”,case后面第一个;错了,应该是:。(这是最基本的c,建议c教材认真看下)
makefile应该没有错。主要是你代码写法有错。
替你贴源代码:
#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;
                }
swith(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
}
}

machao 发表于 2008-4-29 21:01:58

在我的书中使用的是CVAVR环境.我个人认为CVAVR适合初学者学习.

mljda 发表于 2008-4-29 21:42:45

avrstdio+gcc
IDE环境编译。很方便的。
页: [1]
查看完整版本: 刚学GCC编程就遇到了麻烦事:编译没法通过