View Single Post
Du har tilgang på alle interruptene. men du må bruke assembly eller c, dette språket kan også brukes i arduino sin compilerer. skaff deg brukermanualen til microcontrolleren på arduinoen. læringskurven er relativt bratt for å skrive program i dette språket da du må bitvis sette pinner høye eller lave.

en microcontroller kan f.eks være på 4 bit og ha 16 I/O. Da har du 4 dataregister, disse kalles gjerne ddra, ddrb, ddrc og ddrd. der du må sende et binært nr på 4 bit til en av registrene. si du vil sette pinne 3 høyt på datarettningsregisteret ddra. Da må du skrive i programmet at du sender 0100 til det registeret. samme prinsippene gjelder hvis du skal initialesere interrupts, så må du gå i brukermanualen, finne ut hva interruptregisteret ditt heter, finne ut hvilket bit du må sette høye for å få egenskapene du ønsker og sende binært alle til dette registeret.

si du skal sette interrupt int01 på atmega328
da må du i første av programmet sende
eimsk 0000 0010, dette er adressen for interrupte og finnes i brukermanualen, binærtallet sier hvilken interrupt som skal initilaiseres

så settet vi at vi skal ha interrupt på fallende flanke
eicra 0000 1000 eicra er adressen til registeret som styrer når du ska få interrupt og binærtallet forteller controlleren at det skal være på fallende flanke.

fordelen med arduino sitt språk er at det er veldig enkelt å gjøre de grunnleggende tingene. men du må nok bruke brukermanualen til microcontrolleren hvis du har lyst til å bruke alle egenskapene som den har.

http://arduino.cc/en/Main/ArduinoBoardUno
her finner du brukermanualen.

det c-språket som er brukt i brukermanualen kan også brukes i arduino sin compilerer.