Jag har hållit på med PIC'ar nu ett bra tag (änsålänge bara med 12F, 16F och 18F, så jag har planer på att testa PIC32 också
 ), och nu fick jag låna en Orangutan X2 (Som är i princip ett väldigt välutrustat labbkort för AVR). Det består av en AtMega644 och en slavprocessor (AtMega168) som är färdigprogrammerad, så att man skickar instruktioner via SPI till den (Den fungerar även som programmerare över USB via en USB-RS232 krets), och sen finns där en 4*20 raders LCD (HD44780) samt en H-brygga, 2 * 30A. Så nu tänkte jag börja labba med den, men först läste jag lite manualer, och några tuturials för AVR... Efter ett tag kom jag fram till att i tutorialerna ställde dem inte enskilda bitar på utgångarna med read-write-modify instruktioner, utan med eget hemmagjort krafs (dvs. använda logiska operatorer som bitwise AND, OR m.m.) som dem lade in som funktioner eller macron (då krävdes två macron för varje IO pinne...). Så jag tänkte "Då är det bara för att man ska lära sig grunderna först..." och började googla på det. Då kom jag in på AVR-freaks (heter den väll?) där någon hade ställt exakt den frågan. Då hade han fått till svar att det var så man skulle göra (med logiska operatorer). Vid detta tillfället hade jag börjat tycka att AVR va helt okej, men när jag fick reda på detta tänkte jag "Vilket skräp!! Sånt mög kan man ju inte hålla på med.."
), och nu fick jag låna en Orangutan X2 (Som är i princip ett väldigt välutrustat labbkort för AVR). Det består av en AtMega644 och en slavprocessor (AtMega168) som är färdigprogrammerad, så att man skickar instruktioner via SPI till den (Den fungerar även som programmerare över USB via en USB-RS232 krets), och sen finns där en 4*20 raders LCD (HD44780) samt en H-brygga, 2 * 30A. Så nu tänkte jag börja labba med den, men först läste jag lite manualer, och några tuturials för AVR... Efter ett tag kom jag fram till att i tutorialerna ställde dem inte enskilda bitar på utgångarna med read-write-modify instruktioner, utan med eget hemmagjort krafs (dvs. använda logiska operatorer som bitwise AND, OR m.m.) som dem lade in som funktioner eller macron (då krävdes två macron för varje IO pinne...). Så jag tänkte "Då är det bara för att man ska lära sig grunderna först..." och började googla på det. Då kom jag in på AVR-freaks (heter den väll?) där någon hade ställt exakt den frågan. Då hade han fått till svar att det var så man skulle göra (med logiska operatorer). Vid detta tillfället hade jag börjat tycka att AVR va helt okej, men när jag fick reda på detta tänkte jag "Vilket skräp!! Sånt mög kan man ju inte hålla på med.."  .
.Men efter lite letande i databladet för AtMega644 hittade jag detta:
Är det jag som är korkad (helkorkad!) eller är detta samma sak som BSF och BCF för PIC? Varför påstår dem då något annat på AVR forumet?? Är det bara på IO pinnarna (och sakerna nämnda i quoten) som man kan använda dem instruktionerna på?All AVR ports have true Read-Modify-Write functionality when used as general digital I/O ports.
This means that the direction of one port pin can be changed without unintentionally changing
the direction of any other pin with the SBI and CBI instructions. The same applies when changing
drive value (if configured as output) or enabling/disabling of pull-up resistors (if configured as
input).
Mvh. (förvirrad) Danne...
 
				







