dodawanie zewnętrznego pliku

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
hubertp
-
Posty: 25
Rejestracja: 30 paź 2007, 16:01
Lokalizacja: mińsk maz.

dodawanie zewnętrznego pliku

Post autor: hubertp » 09 wrz 2008, 9:36

Witam.Próbuję ostatnio programować w GCC.Mam program w którym jest linia:

Kod: Zaznacz cały

#include "uart.h" // obsługa portu szeregowego
Nie wiem dlaczego ale wyskakuje mi błąd:
../math.c:6:48: error: uart.h: No such file or directory
Pomocy!

[ Komentarz dodany przez: Spark89: 2008-09-09, 10:39 ]
proszę o umieszczanie jakichkolwiek kodów źródłowych pomiędzy znacznikami [ Code ], nawet jeśli jest to jedna linijka, Spark
Ostatnio zmieniony 09 wrz 2008, 9:37 przez hubertp, łącznie zmieniany 1 raz.

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 09 wrz 2008, 11:44

1. Skopiuj plik uart.h do katalogu z plikiem głownym projektu.
2. Dopisz w makfile plik uart.c jeżeli taki posiadasz i chcesz go użyć w projekcie.

hubertp
-
Posty: 25
Rejestracja: 30 paź 2007, 16:01
Lokalizacja: mińsk maz.

Post autor: hubertp » 09 wrz 2008, 15:47

Tym razem wyskakuje mi błąd:
make: Makefile: No such file or directory
oraz
make: *** No rule to make target `Makefile'. Stop.
Czy plik makefile powinien być w katalogu z projektem?
Bo u mnie jest on właśnie w tym katalogu.
Program napisany był nie przeze mnie.Ja jedynie chciałem go skompilować.

[ Dodano: 2008-09-09, 17:32 ]
Już chyba wiem o co chodziło.Katalog w którym był projekt miał w nazwie kilka spacji a to jest zdaje się niedozwolone.
W każdym razie teraz już nie ma tego błędu,ale za to są inne:
../math.c:16: error: too many arguments to function 'fdevopen'
Program wygląda tak:

Kod: Zaznacz cały

// Testowanie biblioteki funkcji matematycznych

#include <avr/io.h>      // dostęp do rejestrów
#include <math.h>      // funkcje matematyczne
#include <stdio.h>      // standardowe wejście/wyjście
#include "uart.h"      // obsługa portu szeregowego

//----------------------------------------------------------

int main(void)      // program główny
{
  float a,b,c,delta,sqrt_delta,x1,x2;

  UART_init();      // inicjalizacja portu szeregowego

  fdevopen(UART_putchar, UART_getchar, 0);

  printf_P(PSTR("Test biblioteki matematycznej\r\n"));

  while(1)      // pętla nieskończona
  {
    printf_P(PSTR("\r\nRownanie kwadratowe"));
    printf_P(PSTR("\r\nPodaj wpolczynnik a: "));
    scanf("%f",&a);
    printf_P(PSTR("\r\nPodaj wpolczynnik b: "));
    scanf("%f",&b);
    printf_P(PSTR("\r\nPodaj wpolczynnik c: "));
    scanf("%f",&c);
    printf_P(PSTR("\r\nPostac rownania: %fx^2+%fx+%f=0"), a, b, c);
    delta=b*b-4*a*c;
    a*=2;   // od tej pory a nie jest potrzebne
      // wpisujemy tam 2*a
    printf_P(PSTR("\r\nDelta: %f"),delta);
    if (delta<0)
    {
      printf_P(PSTR("\r\nDelta mniejsza od zera - brak pierwiastkow!!!"));
    }
    else if (delta==0)
    {
      printf_P(PSTR("\r\nDelta rowna zero - jeden pierwiastek"));
      x1=-b/a;
      printf_P(PSTR("\r\nx=%f\r\n"),x1);
    }
    else
    {
      printf_P(PSTR("\r\nDelta wieksza od zera - dwa pierwiastki!!!"));
      sqrt_delta=sqrt(delta);
      x1=(-b-sqrt_delta)/a;
      printf_P(PSTR("\r\nx1=%f"),x1);
      x2=(-b+sqrt_delta)/a;
      printf_P(PSTR("\r\nx2=%f"),x2);
    }
  }
} 

ODPOWIEDZ