11. juli 2007 - 20:12
Der er
3 kommentarer og 1 løsning
Input caputere flag - Atmel microprocessor
Hej jeg har lige et hurtigt spørgsmål. Jeg har lavet en interrupt rutine ved hjælp af input capture. Hvordan tjekker jeg om "input capture" falget er "sat? Jeg skal lave noget i denne stil: if(captureflag i set) correction = 10+10; Tak for hjælpen med venlig hilsen
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Fandt du ud af det? Jeg er ikke bekendt med atmel microprocessorer men jeg formoder at du programmerer den i C eller C++? Under alle omstændigheder kan du altid tjekke om et bit er HIGH/LOW hvis du ved hvilke bit(s) vi snakker om. Evt: #define BIT0 0x01 #define BIT1 0x02 #define BIT2 0x04 #define BIT3 0x08 #define BIT4 0x10 #define BIT5 0x20 #define BIT6 0x40 #define BIT7 0x80 int main() { //PORTA er en 8-bit port (en pointer til volatile data) //Er bit 5 TRUE?: if ((PORTA & BIT5) == BIT5) {} //Er bit 3 FALSE?: if ((~PORTA & BIT3) == BIT3) {} } Noget du kan bruge? Mvh Intel4004
Hej Jeg fandt ud af det det er jo super simpelt :-) Skrev bare if(TIFR & 0x20) Men du må gerne få point hvis det er
Ja det vil selvfølgelig også virke da udtrykke (TIFR & 0x20), hvis bit 5 i TIFR er TRUE, altid vil være forskelligt fra 0. Nej ellers tak til point. Du løste selv problemet. Mvh Intel4004
Kurser inden for grundlæggende programmering