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 

Začetniški problem v C-ju pri AVR-ju
Pojdi na stran Prejšnja  1, 2, 3 ... 9, 10, 11 ... 27, 28, 29  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
jjakob
Član
Član



Pridružen-a: Pet 19 Nov 2004 14:12
Prispevkov: 1348
Aktiv.: 6.07

PrispevekObjavljeno: Ned Feb 22, 2009 7:15 pm    Naslov sporočila:   Odgovori s citatom

target = (datoteka, v kateri imaš main)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Ned Feb 22, 2009 7:28 pm    Naslov sporočila:   Odgovori s citatom

Kam pa moram to napisati?
_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
jjakob
Član
Član



Pridružen-a: Pet 19 Nov 2004 14:12
Prispevkov: 1348
Aktiv.: 6.07

PrispevekObjavljeno: Ned Feb 22, 2009 7:38 pm    Naslov sporočila:   Odgovori s citatom

V 8. vrstico makefilea Confused

Predlagam ti kak drug makefile, ker je ta zelo nefleksibilno napisan. Recimo da poskusiš s tem v priponki, frekvenco, mcu, programator ... spremeni po svoji želji.



makefile.zip
 Opis:

Download
 Ime datoteke:  makefile.zip
 Velikost datoteke:  5.75 KB
 Downloadano:  10 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Ned Feb 22, 2009 7:44 pm    Naslov sporočila:   Odgovori s citatom

Hmmm Jakob. Hvala za vso ponujeno pomoč, sam kam pa naj dam tale makefile? V Isto mapo kot imam lcdtest.c ? In potem tudi za v naprej ga kar kopiram ali kako? Ali lahko kje to v AvrStudiu povem kam naj gre to gledat? Sorry, s tem res nisem še nikoli delal (razen da sem blinkal lediko).
_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
jjakob
Član
Član



Pridružen-a: Pet 19 Nov 2004 14:12
Prispevkov: 1348
Aktiv.: 6.07

PrispevekObjavljeno: Ned Feb 22, 2009 8:04 pm    Naslov sporočila:   Odgovori s citatom

Makefile je datoteka, ki pravzaprav compilerju pove, kaj naj sploh naredi. V njej imaš ponavadi konfiguracijo mikrokontrolerja (frekvenca, tip), compilerja (poti, optimizacija), ...
Za vsak projekt imaš svoj makefile, v projektni mapi poleg vseh programskih datotek. Nima smisla imeti en skupen makefile.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Ned Feb 22, 2009 8:16 pm    Naslov sporočila:   Odgovori s citatom

No, sem skopiral tvoj Makefile v mapo, kjer imam ta projekt, pa še vedno ne skompajlira...
_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
lojzek
Član
Član



Pridružen-a: Pet 25 Jan 2008 8:00
Prispevkov: 3352
Aktiv.: 17.02

PrispevekObjavljeno: Pon Feb 23, 2009 7:24 am    Naslov sporočila:   Odgovori s citatom

RGorazd: Očitno imaš isto knjižnico kot jaz.

1. Inkludaš jo takole:


#include <avr/io.h>
#include <util/lcd_lib.c>
#include <util/delay.h>
#include <avr/interrupt.h>


2. mislim, da se ravno pri uporabi te knjižnice mora v Project/Configuration options/custom options v desno okence dodati tekst (stikalo) -std=gnu99. To ima nekaj veze z verzijami C jezika

3. makefile izvoziš v tisto mapo, kjer imaš projekt.

4. EDIT: ali imaš uporabljen pravi port za povezavo z LCDjem? V defaultu je v tej knjižnici uporabljen PORTB, mogoče pa tvoj AVR tega nima...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Pon Feb 23, 2009 7:46 pm    Naslov sporočila:   Odgovori s citatom

No, sedaj mi je ratalo zadevo skompajlirat. Sedaj pa grem lcd.h popravljat na moj moj harware. Upam, da mi ne bo spet žrlo živcev. Hvala vsem trem za pomoč!

LP G

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Pon Feb 23, 2009 10:09 pm    Naslov sporočila:   Odgovori s citatom

Evo mene! S cel kup novimi problemi...

A mi lahko kdo razloži kje ga biksam. Sedaj mi kodo pravilno prevede, vendar se na displeju ne dogaja kaj dosti (razen tega da je tiho tudi ničesar ne prikazuje).

Tu je lcd.h

Koda:

#define LCD_PORT         PORTD        /**< port for the LCD lines   */
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
#define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
#define LCD_DATA0_PIN    7            /**< pin for 4bit data bit 0  */
#define LCD_DATA1_PIN    6            /**< pin for 4bit data bit 1  */
#define LCD_DATA2_PIN    5            /**< pin for 4bit data bit 2  */
#define LCD_DATA3_PIN    4            /**< pin for 4bit data bit 3  */
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
#define LCD_RS_PIN       1            /**< pin  for RS line         */
#define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
#define LCD_RW_PIN       2            /**< pin  for RW line         */
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
#define LCD_E_PIN        0            /**< pin  for Enable line     */



Jaz imam razpored za LCD takle (testna plata doma narejena in sem LCD priključil prek enega DIP Switcha na PORTD od ATmega8 (ostale periferije se na tem portu najmanj uporablja).

Signal E = Portd.0
Signal RS = Portd.1
Signal R/W = GND
Signal DB4 = Portd.7
Signal DB5 = Portd.6
Signal DB6 = Portd.5
Signal DB7 = Portd.4

LCD je priklopljen v 4 bitnem I/O načinu...

Koda vsebuje samo inicializacijo, brisanje LCDja ter izpis stringa...nič drugega zaenkrat...pa še to ne dela...

Aja, v lcd.h imam pravilno nastavljeno frekvenco kristala in ostale parametre...

Hvala za pomoč

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
lojzek
Član
Član



Pridružen-a: Pet 25 Jan 2008 8:00
Prispevkov: 3352
Aktiv.: 17.02

PrispevekObjavljeno: Tor Feb 24, 2009 8:18 am    Naslov sporočila:   Odgovori s citatom

Očitno imam malce drugačno knjižnico kot ti. V moji je malce lažje razumljiva nastavitev izhodov. Poglej v priponko.

dobil sem jo pa nekje tukaj



AVR-LCD4b.zip
 Opis:
4 bitna knjižnica

Download
 Ime datoteke:  AVR-LCD4b.zip
 Velikost datoteke:  2.81 KB
 Downloadano:  11 krat

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



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Sre Feb 25, 2009 10:44 pm    Naslov sporočila:   Odgovori s citatom

No, s pomočjo Lojszek-a (hvala) sem uspel priti do te stopnje, da mi ukazi kot so LCDclr();LCDhome(); in LCDcursorOnBlink(); delujejo. Ko pa hočem izpisati kak karakter ali string se pa ne zgodi nič. (s hardverom je vse OK, saj mi na hitro spisan program v Bascomu normalno izpisuje na LCD);

Drugo vprašanje pa je v zvezi s samim Build-om in sicer:

Ko tole kodo:

Koda:

#include <lcd_lib.c>
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <string.h>

int main(void)
   {

DDRB=0xff;
PORTB = 0x02;
LCDinit();   
LCDclr();
_delay_ms(1000);
LCDhome();
LCDcursorOnBlink();
LCDstring("Adijo World",12);

_delay_ms(1000);   
   while (1)
      {
      PORTB = ~PORTB;
      _delay_ms(500);            
      
      }

   }


prevedem, mi kot warning javi tole:

../Lcd_lojzek.c:17: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness


Če pa stistnem še enkrat Build, pa tega opozorila ni več. A je mogoče tudi to, da je to opozorilo vir mojih težav?

Pa še to, a je potrebno F_CPU definirati samo tam v tistem "Configuration options" ali je to potrebno po vseh knjižnicah spremeniti?

Muči me dejstvo, da ko hočem simulirati v AvrStudiu skompajlirano kodo, mi tam ob strani piše, da je moj clock 4Mhz....

Hvala za pomoč.

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Sokrat
Član
Član



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

PrispevekObjavljeno: Sre Feb 25, 2009 11:46 pm    Naslov sporočila:   Odgovori s citatom

Tale tema je odlicen primer zakaj se za take reci napise svoje knjiznice ... v vsem tem casu, ki si ga zapravil doslej z iskanjem napak, ki jih je morda zagresil nekdo drug, bi imel izpis na LCD ze 10x narejen.
_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Sre Feb 25, 2009 11:52 pm    Naslov sporočila:   Odgovori s citatom

Sokrat res maš, vendar ta knjižnica deluje, tako Lojzku kot še komu drugemu...Problem je v mojem nepoznavanju okolja. S tem še nisem delal, s Cjem se še nisem dajal...to je zame vse "novo"... Silvotov primer pisanja na LCD v assemblerju mi je bil precej jasen in mi je z malo njegove pomoči in malo mukami celo ratalo spraviti v življenje, zdaj me zanima pa, kako se to dela v Cju, ker je to moj naslednji korak.
_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
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.18
Kraj: Celje

PrispevekObjavljeno: Sre Feb 25, 2009 11:54 pm    Naslov sporočila:   Odgovori s citatom

Se strinjam s tem. Pa še več se naučiš pri pisanju svoje knjižnice in večje zadovoljstvo imaš. Je pa dobro shranjevati na varno mesto, kajti sam sem jo že enkrat pomotoma izbrisal Laughing
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.: 25.15

PrispevekObjavljeno: Čet Feb 26, 2009 12:01 am    Naslov sporočila:   Odgovori s citatom

RGorazd je napisal/a:
Silvotov primer pisanja na LCD v assemblerju mi je bil precej jasen in mi je z malo njegove pomoči in malo mukami celo ratalo spraviti v življenje, zdaj me zanima pa, kako se to dela v Cju, ker je to moj naslednji korak.


Saj ni nic druagce - tlacis vrednosti v registre in to je to. Lazje je toliko, ker iams elemente visjenivojskega jezika, s katerim je precej bolj pregleno pisanje zank, preverjanja pogojev, vejitev ...

_________________
Ka ti bo pa torba ce si kupu kolo ?
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 Prejšnja  1, 2, 3 ... 9, 10, 11 ... 27, 28, 29  Naslednja
Stran 10 od 29

 
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: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group