www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 
Sponsored by SiOL

Začetniški problem v C-ju pri AVR-ju
Pojdi na stran 1, 2, 3 ... 24, 25, 26  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.56
Kraj: Celje

PrispevekObjavljeno: Tor Feb 05, 2008 2:06 pm    Naslov sporočila:  Začetniški problem v C-ju pri AVR-ju Odgovori s citatom

Imam en začetniški problem. Hotel sem napisati en preprost testni programček v C-ju, pa mi prevajalnik vedno najde neko napako, ker nisem vključil nekatere knjižnice.
Torej, katere so tiste nujno potrebne knjižnice, ki jih moram na začetku vključiti za samo delovanje? Program sem napisal v AVR Studio 4 z vgrajenim WINAvr-jem.
Krmilnik je ATMega8515. Poskusil sem prevesti tudi nekaj Sample programčkov iz interneta, pa je tudi vedno neka napaka.
Aja, pa še to me zanima...kako vem v kateri vrstici je napaka pri omenjenem programskem okolju? Npr., poskusil sem klikniti na napako, ki se je izpisala in sem mislil, da se bo označila vrstica v kateri je omenjena napaka pa se ni.

Hvala za odgovor!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 33.44

PrispevekObjavljeno: Tor Feb 05, 2008 2:44 pm    Naslov sporočila:   Odgovori s citatom

Nobena ni nujno potrebna, program lahko napises tudi brez njih.

Ce imas v svojem programu vkljucene funkcije, ki so deklarirane v dolocenem headerju (.h), pa je doticni header seveda potrebno vkljuciti (#include).

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Domenius
Član
Član



Pridružen-a: Sre 30 Nov 2005 14:15
Prispevkov: 1188
Aktiv.: 7.11
Kraj: Trbovlje, LJ

PrispevekObjavljeno: Tor Feb 05, 2008 5:02 pm    Naslov sporočila:  Re: Začetniški problem v C-ju pri AVR-ju Odgovori s citatom

upornik je napisal/a:

Aja, pa še to me zanima...kako vem v kateri vrstici je napaka pri omenjenem programskem okolju? Npr., poskusil sem klikniti na napako, ki se je izpisala in sem mislil, da se bo označila vrstica v kateri je omenjena napaka pa se ni.

Če dvakrat klikneš na obvestilo za napako bi ti prevajalnik moral pokazati vrstico z napako.

_________________
It's electric!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
silvo_v
Član
Član



Pridružen-a: Pon 11 Jul 2005 22:00
Prispevkov: 137
Aktiv.: 0.82
Kraj: Domžale

PrispevekObjavljeno: Tor Feb 05, 2008 5:15 pm    Naslov sporočila:   Odgovori s citatom

upornik,
navedi točen opis napake.
Tudi jaz sem imel v pri povezavi AVR Studia in WinAVR-ja težave, če sem imel podobne, ti bom lahko pomagal.
Meni je javljalo napako, da ne najde datoteke *.o.d. Problem sem rešil tako, da sem ročno ustvaril mapo, ne spominjam pa se natančno ali je bila to mapa default ali dep.

Lp, Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.56
Kraj: Celje

PrispevekObjavljeno: Tor Feb 05, 2008 8:24 pm    Naslov sporočila:   Odgovori s citatom

Koda:
Build started 5.2.2008 at 19:17:07
make: Makefile: No such file or directory
make: *** No rule to make target `Makefile'.  Stop.
Build failed with 2 errors and 0 warnings...

Tole mi napiše, ko prevedem...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1183
Aktiv.: 7.67
Kraj: glej fogl

PrispevekObjavljeno: Tor Feb 05, 2008 9:29 pm    Naslov sporočila:   Odgovori s citatom

klik
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
silvo_v
Član
Član



Pridružen-a: Pon 11 Jul 2005 22:00
Prispevkov: 137
Aktiv.: 0.82
Kraj: Domžale

PrispevekObjavljeno: Tor Feb 05, 2008 9:44 pm    Naslov sporočila:   Odgovori s citatom

upornik,

očitno nimaš makefile datoteke.

AVR studio samodejno naredi makefile datoteko pri ustvarjanju novega projekta.

Postopek je opisan v help-u AVR studia pod AVR Studio, Project, AVR GCC Project, Introduction, Getting Started, Creating a new project.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.56
Kraj: Celje

PrispevekObjavljeno: Sre Feb 06, 2008 12:38 am    Naslov sporočila:   Odgovori s citatom

Sem ustvaril projekt po tem postopku, vendar je bil problem drugje. Pot do projekta je vsebovala besedo, v kateri je bila črka ž in je očitno zelo občutljiv na šumnike. Hvala za pomoč, verjetno vas bom še kaj vprašal, če se bo zalomilo Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.56
Kraj: Celje

PrispevekObjavljeno: Sre Feb 06, 2008 3:18 pm    Naslov sporočila:   Odgovori s citatom

Sedaj sem naletel na en drug problem. Rad bi uporabljal funkcijo delay, pa ne vem kako jo vključiti v program. Na začetku programa sem vključil delay knjižnico z ukazom #include <delay.h>, pa me je prevajalnik opozoril, da ta datoteka ne obstaja.
Nato sem preiskal vse mape in podatke v njih, ki so se ustvarile ob instalaciji, pa nisem nikjer našel omenjene knjižnice. Zanima me, ali moram te knjižnice dobiti iz interneta ali kje drugje in jih namestiti v mapo trenutnega projekta, ali kako drugače?
Če je to tako, bi bil vesel za kakšen link do knjižnic.

Hvala za odgovor!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
dragoon
Član
Član



Pridružen-a: Čet 03 Maj 2007 21:51
Prispevkov: 452
Aktiv.: 3.00
Kraj: Trojane

PrispevekObjavljeno: Sre Feb 06, 2008 3:39 pm    Naslov sporočila:   Odgovori s citatom

delay ssi lahko nardiš sam; primer:

void delay(char d)
{
char i;
for(i=0;i<d;i++)
}

lahko dodaš še kakšen nop, v programu pa samo kličeš delay(123).



A lahko priporočim codevision? Zraven so vse osnovne knjižnice, uporaben GUI, help, wizard,...
Zastonj do 2k, če pa rabiš met licenco za firmo pa ni tako draga. Za učenje se da "popravit" da dela vse... in pa prihrani veliko živcev.

_________________
LP, Mitja
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.56
Kraj: Celje

PrispevekObjavljeno: Sre Feb 06, 2008 4:24 pm    Naslov sporočila:   Odgovori s citatom

Mislim, da sem celo že imel instaliran CodeVision pred nekaj dnevi, bom poskusil spet. Kaj pa če bi iz CodeVision-a skopiro knjižnico v svoj project file bi delovalo?
Namreč, meni se AVRStudio4 okolje kar dopade...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Domenius
Član
Član



Pridružen-a: Sre 30 Nov 2005 14:15
Prispevkov: 1188
Aktiv.: 7.11
Kraj: Trbovlje, LJ

PrispevekObjavljeno: Sre Feb 06, 2008 5:41 pm    Naslov sporočila:   Odgovori s citatom

Ravno pišem kratke primerčke kode s komentarji za na spletno stran - napisano je za AVR Studio + WinAVR. Tole je moj primer Blinky-ja - vidi se tudi kako je vključen delay.h. Upam da ti bo ratalo oživeti zadevo.
Koda:
/*****************************************************
Project : Blinky 01
Version :
Date    :
Author  :

Chip type           : ATmega8
Clock frequency     : 1,000000 MHz
Memory model        :
External SRAM size  :
Data Stack size     :

Comments:
Program ni nič posebnega - na portu c.5 nam
na vsake pol sekunde za enak čas vklopi/izklopi
ledico - program je namenjen "oživljanju"
mikrokontrolerja oz. povezave

*****************************************************/

#define F_CPU 1000000


#include <avr\io.h>
#include <util\delay.h>


int main(void)
{
   // PC5 je izhod
   DDRC = 0x20;

   // glavna zanka
   while(1)
   {
      // z masko postavi PC5 na 1
      PORTC |= 0x20;

      // počakaj pol sekunde
      _delay_ms(500);

      // z masko postavi PC5 na 0
      PORTC &= ~0x20;

      // počakaj pol sekunde
      _delay_ms(500);
   }
}

_________________
It's electric!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.56
Kraj: Celje

PrispevekObjavljeno: Čet Feb 07, 2008 12:35 am    Naslov sporočila:   Odgovori s citatom

Direktno sem skopiral tole kodo, le tisto vrstico kjer definiraš frekvenco sem izbrisal. Nato sem v Project Configuration nastavil tip ATMega8515 in frekvenco 4MHz. Program je začel delovati, vendar _delay_ms(500); traja cca. 3s.
Prevajalnik je vrnil eno opozorilo:
Koda:
c:/winavr-20071221/bin/../avr/include/util\delay.h:90:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"

Poleg tega se mi zdi pa čudno to, da je tale programček zasedel nekaj čez 40% pomnilnika.
Koda:
AVR Memory Usage
----------------
Device: atmega8515

Program:    3386 bytes (41.3% Full)
(.text + .data + .bootloader)

Data:          8 bytes (1.6% Full)
(.data + .bss + .noinit)


Build succeeded with 1 Warnings...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
silvo_v
Član
Član



Pridružen-a: Pon 11 Jul 2005 22:00
Prispevkov: 137
Aktiv.: 0.82
Kraj: Domžale

PrispevekObjavljeno: Čet Feb 07, 2008 2:17 pm    Naslov sporočila:   Odgovori s citatom

Verjetno je vzrok obeh problemov, ki si ju opisal, da nimaš vključene optimizacije.

Pod Project Configuration nastavi Optimization - Os, (s=size).

Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.56
Kraj: Celje

PrispevekObjavljeno: Čet Feb 07, 2008 2:47 pm    Naslov sporočila:   Odgovori s citatom

Aha, sem vključil in je zdaj super. Omenjeni programček je zasedel le 138 Bajtov. Čas pa še vedno ni čisto realn. Sedaj traja 500ms okoli 2sekundi.
Je lahko razlog v tem, da je v knjižnici za delay definiran kristal 1MHz, sam pa uporabljam 4MHz? Takole izgleda:
Koda:

/** \file */
/** \defgroup util_delay <util/delay.h>: Convenience functions for busy-wait delay loops
    \code
    #define F_CPU 1000000UL  // 1 MHz
    //#define F_CPU 14.7456E6
    #include <util/delay.h>
    \endcode
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2, 3 ... 24, 25, 26  Naslednja
Stran 1 od 26

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 142 dni


Powered by phpBB © 2001, 2005 phpBB Group