Sida 3 av 3
Re: Från PIC till AVR - Bit instruktioner...
Postat: 30 januari 2009, 14:06:20
av InSipiD
Väcker denna tråd, då jag och mina klasskamrater försöker översätta lite från PIC till AVR.
Kod: Markera allt
PORTC |= 1<<1; //Styrsignal
small_delay();
PORTC |= 1<<2; //Klockpuls
small_delay();
small_delay();
PORTC &= 0<<2;
small_delay();
Koden ska alltså sätta en signal hög, och sedan klocka en gång. Problemet jag har är att både signal och klocka blir 0 när klockpulsen sätts till 0!
Vi måste ha vurpat rejält i tänket kring det här..
Re: Från PIC till AVR - Bit instruktioner...
Postat: 30 januari 2009, 14:09:23
av eqlazer
Och tydligare om man skriver PC2, åtminstone tycker jag det.
Re: Från PIC till AVR - Bit instruktioner...
Postat: 30 januari 2009, 14:20:22
av InSipiD
eqlazer skrev:
Och tydligare om man skriver PC2, åtminstone tycker jag det.
Du är vår GUD!
det där gjorde numera att vi kan utböra en Boundary Scan från en Atmega16 istället för PIC16 =)
Re: Från PIC till AVR - Bit instruktioner...
Postat: 30 januari 2009, 14:42:33
av sodjan
Och fördelen med det är... ?

Re: Från PIC till AVR - Bit instruktioner...
Postat: 30 januari 2009, 14:47:06
av cykze
Genom att använda _BV() så tror jag att risken att göra fel minskar ytterligare. Det är t ex ingen risk att man istället för att skriva (1<<PC2) råkar skriva (1>>PC2), (PC2>>1) eller (PC2<<1).
Alltså,
PORTC &= ~_BV(PC2);
där _BV(x) är definierad som (1<<x) i någon av AVR-header-filerna.
Re: Från PIC till AVR - Bit instruktioner...
Postat: 30 januari 2009, 16:12:14
av InSipiD
sodjan skrev:Och fördelen med det är... ?

Det passar uppdragsgivaren bättre, då den använder sig av Atmel i större utsträckning.