> Det är väl en *mycket* större skillnad än så.
Vadå "än så" ? Min kommentar var riktad till det som Swech skrev:
"Skillnaden mellan AVR - PIC blir att på AVR ligger CONFIG utanför, i FUSES".
Det är helt enkelt fel. CONFIG/FUSES ligger "utanför" på båda PIC och AVR.
Det är i princip ingen som helst skillnad i det avseendet, mer än till namnet.
(Och i det faktum att en AVR kan "brickas" om man inte ser upp).
Sen så finns det naturligstvis *andra* skillnader, med det var inget som
kommenterades i föregående inlägg, men eftersom du ända tar upp det...
> T.ex är assemblerkoden helt olika.
Tja, en ADD är alltid en ADD o.s.v. Sen så heter de olika instruktionerna
kanske lite olika saker men *principerna* är i stort ganska lika. PIC är både när det
gäller instruktioner och i arkitekturen mer ortogonal, d.v.s att alla instruktioner
fungerar mot alla adresser (ingen uppdelning i "register" resp "RAM" som i AVR).
> AVR-koden liknar gamla Z80 till viss del,
OK, kanske det. Och exakt för hur många är just *det* är fördel ? Märklig kommentar...
Sen var det lite kommenterar kring adresseringen, och det som verkar stämma bäst
där är nog "har aldrig satt mig in i det" och "Jag är för lite insatt i PIC..."
> ...men verkar väldigt onödigt och krångligt om man vill jobba med stora vektorer t.ex.
Ja, det är uppenbart att du inte vet vad du skriver om. Bankningen är mest något att
ta hänsyn till (vilket är oerhört enkelt dessutom) när det gäller direkt-adressering.
Användningen av indexerad adressering via indexregistren har inte denna "begränsning".
Senaste generationen av PIC16 (de 4-siffriga) har även en mappad linjär adressarea
för hela RAM minnet. PIC18 (vilket sannolikt är aktuellt om man har större datamängder
har alltid haft en linjär hantering av RAM minnet.
> Kanske även Flash och EEprom är uppdelat på det viset i PIC?
Nej, det har de aldrig haft. Flash är uppdelat i "pages", vilket man ibland
får ta hänsyn till. EEPROM är helt linjärt. Spekulativ gissning utan grund.
En annan sak är att på en PIC så fungerar alla register (SFR eller GPR) exakt på
samma sätt. D.v.s att alla instruktioner som jobbar mot ett register kan alltid
användas mot *alla* register. I en AVR finns det en (eller flera) uppdelningar
i olika areor där vissa instruktioner fungerar mot alla register och andra (som
t.ex bit-instruktionern) enbart fungerar mot en mindre del av RAM. Det finns också
en uppdelning av minnet i "register" resp "RAM" som PIC saknar (d.v.s att *allt* RAM i
en PIC kan användas ungeför som det begränsade antalet "register" i en AVR).
> Sedan antar jag att det finns vissa skillnader i kringutrustningen - timers, ADC, UART I2C med mera.
Tja, det är väl samma sak där, en timer är en timer o.s.v. Det finns mindre skillnader
främst i vad saker och ting kallas, men principerna för hur det fungerar är ganska lika.
> ...men det är nog ganska stora skillnader där också, hur flaggor och interrupt fingerar t.ex.
Det är självklart att det *finns* skillnader. Det är lite svårt att tolka vad du ingetligen vill
säga med det konstatarandet, det är ju inget problem i sig med att det *finns* skillnader !?
Du är ute och simmar på ett något för djupt vatten...
