|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
lojzek Član
Pridružen-a: Pet 25 Jan 2008 8:00 Prispevkov: 3352 Aktiv.: 17.02
|
Objavljeno: Čet Feb 26, 2009 7:14 am Naslov sporočila: |
|
|
Rgorazd, morebiti bi pred tem ukazom
Koda: |
LCDstring("Adijo World",12); |
dodal še tole:
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.
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 |
|
|
tadej.ko2 Član
Pridružen-a: Sre 17 Okt 2007 18:26 Prispevkov: 76 Aktiv.: 0.38 Kraj: sveta trojica
|
Objavljeno: Sob Mar 07, 2009 3:09 am Naslov sporočila: ne čisto začetniški problem |
|
|
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
Opis: |
|
Download |
Ime datoteke: |
jasna.c |
Velikost datoteke: |
4.32 KB |
Downloadano: |
11 krat |
|
|
Nazaj na vrh |
|
|
tadej.ko2 Član
Pridružen-a: Sre 17 Okt 2007 18:26 Prispevkov: 76 Aktiv.: 0.38 Kraj: sveta trojica
|
Objavljeno: Ned Mar 08, 2009 12:46 pm Naslov sporočila: |
|
|
zgoraj opisani problem (mojo napako) sem rešil! misterije v računalništvu pač ne obstajajo
težavo mi je delalo moje nebriljantno poznavanje c-ja: 2^k sem pričakoval, da mi bo vrnilo k-to potenco števila 2
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 |
|
|
lojzek Član
Pridružen-a: Pet 25 Jan 2008 8:00 Prispevkov: 3352 Aktiv.: 17.02
|
Objavljeno: Pon Mar 09, 2009 7:16 am Naslov sporočila: |
|
|
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 |
|
|
domen_puncer Član
Pridružen-a: Čet 01 Maj 2008 13:30 Prispevkov: 78 Aktiv.: 0.40 Kraj: Ljubljana, Mozirje
|
Objavljeno: Ned Mar 15, 2009 6:57 pm Naslov sporočila: |
|
|
x<<n je shiftanje za n bitov v levo.
_________________ Tiskanje sudoku |
|
Nazaj na vrh |
|
|
lojzek Član
Pridružen-a: Pet 25 Jan 2008 8:00 Prispevkov: 3352 Aktiv.: 17.02
|
Objavljeno: Ned Mar 15, 2009 8:51 pm Naslov sporočila: |
|
|
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 |
|
|
dkone Član
Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2104 Aktiv.: 10.13 Kraj: Krško
|
Objavljeno: Čet Mar 26, 2009 6:50 pm Naslov sporočila: |
|
|
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 |
|
|
domen_puncer Član
Pridružen-a: Čet 01 Maj 2008 13:30 Prispevkov: 78 Aktiv.: 0.40 Kraj: Ljubljana, Mozirje
|
Objavljeno: Čet Mar 26, 2009 7:44 pm Naslov sporočila: |
|
|
Oh, my... grozna koda
Problem je v
Koda: |
#define tipka PIND.1; |
Prav je brez podpicja,
Koda: |
#define tipka PIND.1 |
, ker drugače ti zamenja v
.
Za kakšne bolj komplicirane preprocessor težave je uporabnen gcc -E, če seveda uporabljaš gcc.[/code]
_________________ Tiskanje sudoku |
|
Nazaj na vrh |
|
|
dkone Član
Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2104 Aktiv.: 10.13 Kraj: Krško
|
Objavljeno: Pet Mar 27, 2009 11:19 am Naslov sporočila: |
|
|
domen_puncer je napisal/a: |
Oh, my... grozna koda
Problem je v
Koda: |
#define tipka PIND.1; |
Prav je brez podpicja,
Koda: |
#define tipka PIND.1 |
, ker drugače ti zamenja v
.
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 |
|
|
sortaj Član
Pridružen-a: Sre 23 Jul 2008 21:51 Prispevkov: 812 Aktiv.: 4.25 Kraj: Med Vipavo in Štanjelom
|
Objavljeno: Ned Apr 05, 2009 12:05 pm Naslov sporočila: |
|
|
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č.
Opis: |
|
Velikost datoteke: |
203.14 KB |
Pogledana: |
43 krat |
|
_________________ Svet je bil analogen, dokler ni Planck vsega zafrknil... |
|
Nazaj na vrh |
|
|
domen_puncer Član
Pridružen-a: Čet 01 Maj 2008 13:30 Prispevkov: 78 Aktiv.: 0.40 Kraj: Ljubljana, Mozirje
|
Objavljeno: Ned Apr 05, 2009 3:48 pm Naslov sporočila: |
|
|
Preden lahko sprogramiras uC, se ti mora sploh skompajlat.
Izgleda uporabljaš 'delay_ms', ki ga nisi definiral.
_________________ Tiskanje sudoku |
|
Nazaj na vrh |
|
|
sortaj Član
Pridružen-a: Sre 23 Jul 2008 21:51 Prispevkov: 812 Aktiv.: 4.25 Kraj: Med Vipavo in Štanjelom
|
Objavljeno: Ned Apr 05, 2009 6:31 pm Naslov sporočila: |
|
|
bi si lahko kdo prosim vzel čas, da mi napiše program(enostaven-LED), ki bi deloval na ATtiny26, samo da zadevo "sprobam"? 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 |
|
|
sortaj Član
Pridružen-a: Sre 23 Jul 2008 21:51 Prispevkov: 812 Aktiv.: 4.25 Kraj: Med Vipavo in Štanjelom
|
Objavljeno: Tor Apr 07, 2009 6:50 pm Naslov sporočila: |
|
|
Enako mi napiše s programom, ki preverjeno deluje (flowcode AVR)!
Mi lahko kdo razloži postopek, kako sprogramirati AVR v CVAVR?
lp
_________________ Svet je bil analogen, dokler ni Planck vsega zafrknil... |
|
Nazaj na vrh |
|
|
searider Član
Pridružen-a: Sre 09 Apr 2008 23:12 Prispevkov: 70 Aktiv.: 0.36 Kraj: Maribor
|
Objavljeno: Pet Maj 01, 2009 7:03 pm Naslov sporočila: |
|
|
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 |
|
|
lojzek Član
Pridružen-a: Pet 25 Jan 2008 8:00 Prispevkov: 3352 Aktiv.: 17.02
|
Objavljeno: Pet Jul 17, 2009 1:05 pm Naslov sporočila: |
|
|
Ponovno eno vprašanje predem naredim kaj trapastega:
Ali se v WinAvr asemblerska komanda v C programu vključi takole:
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 |
|
|
|
|
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
|