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 

X-ta tema o primerjavi med PIC in AVR + prošnja za nasvet

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
sortaj
Član
Član



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

PrispevekObjavljeno: Tor Mar 03, 2009 9:52 pm    Naslov sporočila:  X-ta tema o primerjavi med PIC in AVR + prošnja za nasvet Odgovori s citatom

No, veliko je tem o razlikah med PIC-i in AVR-ji. TUKAJ je Silvo lepo opisal razlike med njimi, a se je osredotočil na prehod med njimi. Sam sem popoln začetnik v programiranju. Odločil se bom med PIC ali AVR mi C. do sedaj sem "navijal" za PIC-e dokler nisem prebral nekaj tem o AVR-jih tukaj in pa še eno primerjavo tukaj . Seveda vsak svojo "robo" hvali. Če bi se odločil za PIC-e bi si naredil tale programator (v bistvu mi manjkajo še čipi-HTE Twisted Evil d'oh! ), če bi pa za AVR-je bi pa verjetno kar pri VolkD-ju kupil tale programator. Naslednja odločitev-kateri programski jezik? Spet vsak svojo "goni" nekateri, da je dobro začet z assamblerjem, drugi basic, tretji C itd... Nekako sem v dilemi med assamblerjem in C-jem. C se mi zdi še najbolj razumljiv, je pa res, da bomo v šoli programirali motorolo z assamblerjem... malo sem skeptičen... nekje sem zasledil (mislim, da je Aly to rekel), da je za AVR C jezik veliko literature Rolling Eyes ne vem... za PIC imam tole knjigo. Je prednost, da je literatura v slovenščini (ja, vem...brez angleščine ne prideš nikamor...to pravi tisti, ki je že veliko delal-jaz sem komaj v srednji šoli...). No tukaj če mi lahko jazno razložite razlike med čipi-dobre, slabe strani itd... v šoli je 50% možnosti, da bom delal s PIC-i drugo leto (flowcode...). Pa tudi glede programskega jezika bi potreboval nasvet. Ravnokar imam odprto košarico na farnell-u... v kratkem bom naročil. Odločil se bom tako, kot mi boste svetovali.
lepo prosim! Pray Pray



lep pozdrav

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



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Tor Mar 03, 2009 9:56 pm    Naslov sporočila:   Odgovori s citatom

Oboje sprobaj, in boš videl, kaj ti bolj leži... Tako glede čipov, kot programskega jezika.
_________________
Tule nisem več aktiven.
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.: 3.95
Kraj: Med Vipavo in Štanjelom

PrispevekObjavljeno: Tor Mar 03, 2009 10:01 pm    Naslov sporočila:   Odgovori s citatom

mja...
kerj prvič naročam na farnell-u imam 10% popust in bom kar precej naročil.
za poskusit...ne vem...verjetno bo treba...


lp

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



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.02
Kraj: Črnuče

PrispevekObjavljeno: Tor Mar 03, 2009 10:10 pm    Naslov sporočila:   Odgovori s citatom

Kar se asebmlerja tiče je dobro poznati vsaj kakšne osnove. Če boš hotel katerikoli procesor resno uporabiti, boš moral preštudirati njihove specifikacije, kjer pa so podani primeri uporabe registrov in njihovih funkcij v asemblerju. Tudi če obvladaš C bi verjetno imel težave s pisanjem programov za mikrokontrolerje. Rabiš vedet kar nekaj specifičnih detajlov kako se stvari streže.

Sam sem začel z assemblerjem. In to na Picu. Na razpolago je samo ~ 32 ukazov, ki se jih hitro naučiš na pamet. Ker moraš vsako funkcijo napisat sam se pošteno spoznaš tudi z samo arhitekturo kontrolerja. Potem je prehod na višje jezike lažji.

_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.24
Kraj: Ljubljana

PrispevekObjavljeno: Tor Mar 03, 2009 11:41 pm    Naslov sporočila:   Odgovori s citatom

Najprej začni z assemblerjem, pa ne zato, ker bi te želel strašit z njim. Predvsem zato, da boš tudi kasneje lahko kakšno časovno zahtevno funkcijo lahko napisal direktno v asm-ju. Seveda pa potem kar C v roke in po kontrolerju.
Kar se pa izbire kontrolerja tiče bom pa pristranski, tako da ti ne bom svetoval. Vzami PIC Laughing
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Slemi
Član
Član



Pridružen-a: Pet 29 Okt 2004 13:29
Prispevkov: 386
Aktiv.: 1.63
Kraj: Hrastnik

PrispevekObjavljeno: Tor Mar 03, 2009 11:52 pm    Naslov sporočila:   Odgovori s citatom

Vzami tistega, katerega uporablja nekdo, ki živi blizu tebe, da lahko skočiš do njega po kak nasvet in rešitev. Za začetek si nabavi malo zalogo, če boš slučajno videl, da ti izbrani uC ne leži. Začni ali v asemblerju ali v basicu, uporabi kak program, ki je brezplačen, dokler se ne odličiš za uC. Preveri tudi, kateri uC-ji so lažje dobavljivi.

Toliko z moje strani.

LP

P.S.: uC -> mikrokrmilnik
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo AIM - AOL Instant - naslov MSN Messenger - naslov
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.92
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Mar 03, 2009 11:58 pm    Naslov sporočila:   Odgovori s citatom

Za assembleraša je praktično vseeno kaj vzeti. Sam sem praktično "celo življenje" delal s PIC-i. Za prvi izdelek z AVR-jem sem praktično porabil en "nočni šiht", kjer sem preštudiral datasheet za mikrokontroler. Največ časa sem porabil za spozavanje orodja (AVR studia) Prav tako mi je največ časa vzela "priprava terena". Na splošno bi rekel, da pozavalec enega assemblerja ne bo imel težav z drugim.
Če izdam še majhno skrivnost: Pripravlja se "naša forumska" revija, v kateri bo članek z primeri assemblerske kode ter primer uporabne aplikacije z priloženo izvorno kodo.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.70
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Mar 04, 2009 1:50 am    Naslov sporočila:  lasp Odgovori s citatom

Če sem bil omenjen v uvodnem nagovoru, potem se pa res moram oglasit Dancing

PIC-a ti odsvetujem že zaradi nekoliko bolj zakompliciranega programatorja (tistih 13V me je vedno motilo) Eh?

Če si začetnik, ti predlagam takole (pazi, zdej bom komplicial):
Ali izbereš pot od spodaj navzgor (asm -> C) ali pa od zgoraj navzdol (basic-> C -> asm)

Basic (bascom) je tako zelo visokonivojska zadeva, da ne rabiš vedet skoraj nič o zgradbi procesorja. Vse se zgodi samo od sebe. Primer (v tej kratki kodi že uporablja ADC in izpisuje na LCD):
Koda:

Config Adc = Single , Prescaler = Auto

Start Adc

Dim W As Word , Channel As Byte
Channel = 0

Do
  W = Getadc(channel)
  Print "Channel " ; Channel ; " value " ; W
Loop



C je visokonivojski jezik, ki ima bolj zahtevno strukturo, ampak omogoča (in tudi zahteva) poseganje globoko v hardver oz. poznavanje registrov in njihovih funkcij.
primer: (približno ista količina kode kot zgoraj le prižiga in ugaša LEDico)
Koda:

#define F_CPU 1000000

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

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

   while(1)    // glavna zanka
   {
      PORTC |= 0x20;       // z masko postavi PC5 na 1
      _delay_ms(500);       // počakaj pol sekunde
      PORTC &= ~0x20;       // z masko postavi PC5 na 0
      _delay_ms(500);       // počakaj pol sekunde
   }
}


Assembler pa je nujen za detajlno spoznavanje mikrokontrolerja in pisanje časovno zahtevnih rutin.
Primer (v tej kodi se komaj inicializira kontroler, nastavi vse naslove, kje se nahaja program v pomnilniku, nastavi RAM in Stack in ne naredi praktično nič drugega):
Koda:

#include  "tn26def.inc"

.org $000
   rjmp ZACNI
.org $006
   rjmp PREKINITEV
.org $009

PREKINITEV:
   in r18,SREG
   clz
   nop
   out SREG,r18
   reti

ZACNI:
   ldi r16,RAMEND
   out SP,r16
   sez   
   ldi r16,0b00000001
   out TCCR0,r16
   ldi r16,(1<<TOIE0)
   out TIMSK,r16
   sei
   nop
   rjmp PC-1 


Vsi zgoraj pripeti primeri so na random pobrani s tega foruma. Sintaksa ni preverjena in je ne komentirajte!

Vsekakor priporočam, da ( najprej izbereš AVR Razz ), prebereš kompleten datasheet, nabaviš en osnoven procesor (recimo Mega 32) v DIP ohišju, zlotaš 4 upore na konektor (in že imaš programator), naložiš Bascom in tipkaš prvih par vrstic.. in LEDica že utripa. Ko narediš prvih par enostavnih projektov, da vidiš kako stvari špilajo, pa čimprej (!) zamenjaš na C. Tam pa se začne resno delo.
Assembler je za kakšno veliko in kompleksno aplikacijo preprosto prepočasen za pisat.

Moj realen primer:
Krmiljenje testne naprave: motorji, pnevmatika, senzorji, komunikacija RS232 in I2C, PWM, interrupti, ADC, časovno kritične meritve... komplicirano.
V assemblerju sem to pisal več kot 2 meseca. Vsak dan. Eh?
V C-ju bi bilo narejeno v pol krajšem času.
V Bascomu pa se sploh ne da naredit česa takega Razz

Še to:
Asm okolje : AvrStudio
C okolje : WinAVR
Basic okolje : Bascom
Programator : PonyProg

Moje skromne izkušnje. Pa veselo na delo!

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Sre Mar 04, 2009 9:12 am    Naslov sporočila:   Odgovori s citatom

Ne zastopim zakaj PonyProg, ko pa ima že AvrStudio vse kar potrebuješ. Enako velja za ves "home made" SW, ki programira AVRje.
_________________
Answers: $1, Short: $5, Correct: $25, dumb looks are still free.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
bolha95
Član
Član



Pridružen-a: Pet 14 Dec 2007 21:33
Prispevkov: 296
Aktiv.: 1.39
Kraj: Križe / Tržič

PrispevekObjavljeno: Sre Mar 04, 2009 11:44 am    Naslov sporočila:   Odgovori s citatom

Pony prog je fajn in poceni zadeva - pa še hitro ga sestaviš. Naslednji korak pa je lahko JTAG-ICE, ki za osnovo uporablja ATmega16. Z njim lahko že debugiraš integriran je v AVR Studio - odlična zadevica. Seveda se ga na najmanjših CPU-jih ne da uporabiti.

Jaz sem pa en celoten projekt naredil na simulatorju in ga potem samo še zapekel v procesor - in zadeva je delovala

VMLAB simulator

_________________
LP,
Robi
Kjer se znanje konča, se domišljija začne
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Sre Mar 04, 2009 11:50 am    Naslov sporočila:   Odgovori s citatom

Je ze bilo omenjeno, pa vseeno: AVR ISP mkII
_________________
Answers: $1, Short: $5, Correct: $25, dumb looks are still free.
Nazaj na vrh
Skrit 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.: 3.95
Kraj: Med Vipavo in Štanjelom

PrispevekObjavljeno: Sre Mar 04, 2009 10:38 pm    Naslov sporočila:   Odgovori s citatom

Najlepša hvala vsem za odgovore!
Danes sem se posvetoval še z profesorjem, ki mi je svetoval AVR in se bom tako kar za AVR in ASM odločil. Obrniti se žal nimam na nikogar razen na vas, ker v bližnji in dalnji okolici nihče ne programira AVR-jev, na šoli pa je podpora na PIC-ih!
Na farnellu bom nabavil ATMEGA8, ATMEGA16, ATMEGA32 in ATTINY26 za začetek...bom videl kako bo šlo...

lep pozdrav!

_________________
Svet je bil analogen, dokler ni Planck vsega zafrknil...
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 -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

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


Powered by phpBB © 2001, 2005 phpBB Group