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 ... 10, 11, 12 ... 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
lojzek
Član
Član



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

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

Rgorazd, morebiti bi pred tem ukazom
Koda:
LCDstring("Adijo World",12);

dodal še tole:
Koda:
LCDGotoXY(0,0);


Mogoče piše nekam, kjer ti ne vidiš.

Je pa res, tista opozorila javlja tudi meni, pri ponovnem kompiliranju jih ni. Glavno mi je, da stvar deluje. Smile

Prav tako je pa res, da z malce podlage lahko sam narediš knjižnico. Včasih je to celo lažje kot že narejena (tak primer je pisanje v eeprom - vsaj zame)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tadej.ko2
Član
Član



Pridružen-a: Sre 17 Okt 2007 18:26
Prispevkov: 76
Aktiv.: 0.38
Kraj: sveta trojica

PrispevekObjavljeno: Sob Mar 07, 2009 3:09 am    Naslov sporočila:  ne čisto začetniški problem Odgovori s citatom

po zgledu http://www.faro.si/primer1.htm sem začel pisati program za AtTiny26.
program bi bil že nared, če mi nebi ponagajala bugica, ki je ne znam najti.

program deluje tako: ob pritisku na t1 ali t2 se postavi zastavica vklop1 ali vklop2, preko katere se potem v intervalu dt (spremenljivka iz programa) prižigajo naslednje ledice. če pritisneš t1, grejo ledice z ene strani, če t2 pa z druge.
ob vsakem prižigu se postavi tudi bit na določenem mestu v spremenljivki bitstack (ta spremenljivka je verjetno vzrok težav), prav tako pa se tudi shrani čas vklopa določene luči v array vklop.
nato je spodaj še en if, ki po pretečenem času "clock - vklop[k] > interval" izklaplja ledice.
problem je pa z led0, ki se noče ugasniti.

stvari so priklopljene na čip tako, kot so navedene v definicijah, oscilator je interni 1M. l1 in l2 sem uporabil kot izhoda, da sem preveljal spremenljivko bitstack (vrstice na koncu programa), tipko t3 pa za preklop opazovane veličine. te 3 veličine ne igrajo vloge v jedru programa.

upam da bi mi kdo znal razložiti to misterijo. kot pravim, sam sumim spremenljivko bitstack, vendar Think



jasna.c
 Opis:

Download
 Ime datoteke:  jasna.c
 Velikost datoteke:  4.32 KB
 Downloadano:  11 krat

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



Pridružen-a: Sre 17 Okt 2007 18:26
Prispevkov: 76
Aktiv.: 0.38
Kraj: sveta trojica

PrispevekObjavljeno: Ned Mar 08, 2009 12:46 pm    Naslov sporočila:   Odgovori s citatom

zgoraj opisani problem (mojo napako) sem rešil! misterije v računalništvu pač ne obstajajo Mr. Green
težavo mi je delalo moje nebriljantno poznavanje c-ja: 2^k sem pričakoval, da mi bo vrnilo k-to potenco števila 2 Whistle

dodal sem funkcijo ter na vseh mestih 2^k zamenjal z potenca(2,k). stran gredo tudi vsi obupani poskusi parsanja: i==0?(short)1:(short)2^i .

funckija:

unsigned long potenca(char osnova, char pot);
unsigned long potenca(char osnova, char pot)
{unsigned long rez = 1;if(pot > 31) return 0; while(pot-- > 0) rez *=osnova;return rez;}

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



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

PrispevekObjavljeno: Pon Mar 09, 2009 7:16 am    Naslov sporočila:   Odgovori s citatom

Tista ^ v Cju pomeni nekaj drugega. In sicer bitni XOR na tistih številkah, ki si jih napisal okoli znaka.

drugače pa: 2^n je samo shiftanje bitov v spremenljivki za n bitov v levo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
domen_puncer
Član
Član



Pridružen-a: Čet 01 Maj 2008 13:30
Prispevkov: 78
Aktiv.: 0.40
Kraj: Ljubljana, Mozirje

PrispevekObjavljeno: Ned Mar 15, 2009 6:57 pm    Naslov sporočila:   Odgovori s citatom

x<<n je shiftanje za n bitov v levo.
_________________
Tiskanje sudoku
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: Ned Mar 15, 2009 8:51 pm    Naslov sporočila:   Odgovori s citatom

Smile Hotel sem omeniti, da 2 na nekaj (2^n) je dejansko shiftanje bitov v levo za n mest. Nisem pisal odgovora sintaktično, ampak pomensko.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2104
Aktiv.: 10.13
Kraj: Krško

PrispevekObjavljeno: Čet Mar 26, 2009 6:50 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljeni!

Imam naslednji program:

Koda:


#include <tiny2313.h>
#include <delay.h>
#define tipka PIND.1;

void main(void)
{
// Declare your local variables here

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port A initialization
// Func2=In Func1=In Func0=In
// State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port D initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// Interrupt on any change on pins PCINT0-7: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Universal Serial Interface initialization
// Mode: Disabled
// Clock source: Register & Counter=no clk.
// USI Counter Overflow Interrupt: Off
USICR=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
zanka1:
stevec=0;
PORTB.1=0;
while (1)
      {
      delay_ms(100);
      if(tipka==0)
      {
        goto zanka2;
      }
   
      };
     
zanka2:
while(1)
        {
        goto zanka1;
        };
     
}


ki z tipko skakam iz ene zanke v drugo,res da ne dela nič pametnega ampak se mi ustavi pri if(tipka==0){....},saj mi compiler javla napako:

Error: F:\vaja c\vaja.c(180): missing ')'
Error: F:\vaja c\vaja.c(180): invalid expression

Torej kaj je narobe?

Če dam pa namesto direktive tipka,pind.1,pa mi skompajla brezproblema.

V Bascomu nisem imel težav.

tipka alias pind.1
set tipka
if tipka=0 then
.
.
.
end if

_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
domen_puncer
Član
Član



Pridružen-a: Čet 01 Maj 2008 13:30
Prispevkov: 78
Aktiv.: 0.40
Kraj: Ljubljana, Mozirje

PrispevekObjavljeno: Čet Mar 26, 2009 7:44 pm    Naslov sporočila:   Odgovori s citatom

Oh, my... grozna koda Razz

Problem je v
Koda:
#define tipka PIND.1;


Prav je brez podpicja,
Koda:
#define tipka PIND.1
, ker drugače ti zamenja v
Koda:
if (PIND.1;==0) {
.

Za kakšne bolj komplicirane preprocessor težave je uporabnen gcc -E, če seveda uporabljaš gcc.[/code]

_________________
Tiskanje sudoku
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2104
Aktiv.: 10.13
Kraj: Krško

PrispevekObjavljeno: Pet Mar 27, 2009 11:19 am    Naslov sporočila:   Odgovori s citatom

domen_puncer je napisal/a:
Oh, my... grozna koda Razz

Problem je v
Koda:
#define tipka PIND.1;


Prav je brez podpicja,
Koda:
#define tipka PIND.1
, ker drugače ti zamenja v
Koda:
if (PIND.1;==0) {
.

Za kakšne bolj komplicirane preprocessor težave je uporabnen gcc -E, če seveda uporabljaš gcc.[/code]



Vem,da je grozna,nekako "prehajam" iz bascoma na CV,zato toliko pravopisni napak.Ampak,sedaj ko sem odstranil ;,pa mi prevede. Hvala ti. Sedaj grem pa naprej,v dopolnitev.

_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
sortaj
Član
Član



Pridružen-a: Sre 23 Jul 2008 21:51
Prispevkov: 812
Aktiv.: 4.25
Kraj: Med Vipavo in Štanjelom

PrispevekObjavljeno: Ned Apr 05, 2009 12:05 pm    Naslov sporočila:   Odgovori s citatom

pozdravljeni!
eno začetniško vprašanje:

v codeVision sem poskušal sprogramirat ATTiny26, vendar mi javi neko napako (program seveda ne dela) kopiral sem to kodo.

lahko, da sem kakšno neumno napravil, ker je to prvič.



CodeVision.JPG
 Opis:
 Velikost datoteke:  203.14 KB
 Pogledana:  43 krat

CodeVision.JPG



_________________
Svet je bil analogen, dokler ni Planck vsega zafrknil...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
domen_puncer
Član
Član



Pridružen-a: Čet 01 Maj 2008 13:30
Prispevkov: 78
Aktiv.: 0.40
Kraj: Ljubljana, Mozirje

PrispevekObjavljeno: Ned Apr 05, 2009 3:48 pm    Naslov sporočila:   Odgovori s citatom

Preden lahko sprogramiras uC, se ti mora sploh skompajlat.
Izgleda uporabljaš 'delay_ms', ki ga nisi definiral.

_________________
Tiskanje sudoku
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
sortaj
Član
Član



Pridružen-a: Sre 23 Jul 2008 21:51
Prispevkov: 812
Aktiv.: 4.25
Kraj: Med Vipavo in Štanjelom

PrispevekObjavljeno: Ned Apr 05, 2009 6:31 pm    Naslov sporočila:   Odgovori s citatom

bi si lahko kdo prosim vzel čas, da mi napiše program(enostaven-LED), ki bi deloval na ATtiny26, samo da zadevo "sprobam"? Pray Jutri si grem sposodit revije SE, da preberem članke od VolkD-ja.

lp

_________________
Svet je bil analogen, dokler ni Planck vsega zafrknil...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
sortaj
Član
Član



Pridružen-a: Sre 23 Jul 2008 21:51
Prispevkov: 812
Aktiv.: 4.25
Kraj: Med Vipavo in Štanjelom

PrispevekObjavljeno: Tor Apr 07, 2009 6:50 pm    Naslov sporočila:   Odgovori s citatom

Enako mi napiše s programom, ki preverjeno deluje (flowcode AVR)! d'oh!
Mi lahko kdo razloži postopek, kako sprogramirati AVR v CVAVR? Pray



lp

_________________
Svet je bil analogen, dokler ni Planck vsega zafrknil...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
searider
Član
Član



Pridružen-a: Sre 09 Apr 2008 23:12
Prispevkov: 70
Aktiv.: 0.36
Kraj: Maribor

PrispevekObjavljeno: Pet Maj 01, 2009 7:03 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljeni,

lotil sem se C-ja na atmega8 in naletel na mnogo težav. Namreč na netu je mnogo izvornih kod, ko pa jo hočeš skompalirat, pa napake kot po tekočem traku. Bi lahko kdo priporočal kakšen dober link, kjer bi bilo razloženo na kaj paziti, da se to ne dogaja. Ker eni uporabljajo ene knjižnice, drugi druge in prihaja do totalne zmede (vsaj začetniku se tako zdi). Uporabljal sem AVRStudio in WinAVR.


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



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

PrispevekObjavljeno: Pet Jul 17, 2009 1:05 pm    Naslov sporočila:   Odgovori s citatom

Ponovno eno vprašanje predem naredim kaj trapastega:

Ali se v WinAvr asemblerska komanda v C programu vključi takole:
Koda:
asm ("sleep");


Očitno je, da gre za spravljanje procesorja v spanje. Seveda sem potrebne registre že prej obdelal - MCUCR.
Sprašujem zato da vem, če jo uC sploh izvede (pri prevajanju namreč ni bilo težav).
Nazaj na vrh
Odsoten 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 ... 10, 11, 12 ... 27, 28, 29  Naslednja
Stran 11 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