Interrupt med EtherNut
Interrupt med EtherNut
Någon som har erfarenhet av EhterNut och hur man fångar upp interrupt mha operativsystemet?
Det går ju inte att deklarera interrupten som "vanligt" i C. Jag skulle vilja ha igång typ "SIGNAL(SIG_UART1_RECV)"
Har tittat och funderat en hel del över EtherNut's API men inte mött några framgångar.
aja.. vi börjar sådär...
Det går ju inte att deklarera interrupten som "vanligt" i C. Jag skulle vilja ha igång typ "SIGNAL(SIG_UART1_RECV)"
Har tittat och funderat en hel del över EtherNut's API men inte mött några framgångar.
aja.. vi börjar sådär...
ja, den där sidan har jag nött igenom några gånger... tycker inte att det fungerar speciellt bra och jag är övertygad om att jag gör fel men många av funktionerna går ju inte att anropa.
Du säger att NutOs har en bra seriedriver? Har du andra förslag på hur jag ska detektera inkommande data på UART så mottages de gärna.
Du säger att NutOs har en bra seriedriver? Har du andra förslag på hur jag ska detektera inkommande data på UART så mottages de gärna.
mm, sådär har jag harvat på lite..
detta går ej:
men detta fungerar:
sedan ger detta felet: i kompilatorn.. kör WinAvr
Är det nåt mer som måste inkluderas för just detta funktionsanrop?
tack för hjälpen förresten.
detta går ej:
Kod: Markera allt
NutRegisterIrqHandler (&sig_UART0_RECV, myHandler(), NULL);
men detta fungerar:
Kod: Markera allt
NutRegisterIrqHandler(&sig_UART0_RECV, (void*)myHandler, NULL);
Kod: Markera allt
NutIrqEnable (&sig_UART0_RECV);
Kod: Markera allt
main.c:181: warning: implicit declaration of function `NutIrqEnable'
Är det nåt mer som måste inkluderas för just detta funktionsanrop?
tack för hjälpen förresten.
Oj jag klippte lite fel.
Det blir lätt fel när man programmerar i phpBB...
så bör det se ut:
Inget mer än irqreg.h tycks behövas enligt mig.
Men jag har varken ethernut eller byggmiljö tillgänglig på jobbet.
Det blir lätt fel när man programmerar i phpBB...
så bör det se ut:
Kod: Markera allt
NutRegisterIrqHandler (&sig_UART0_RECV, myHandler, NULL);
Men jag har varken ethernut eller byggmiljö tillgänglig på jobbet.
okej.. men är det så att NutIrqEnable() inte gör annat än att sätter bit RXCIE i UCSR0B så bordet det vara okej ändå för att när jag läser in UCSR0B så är det registret 0b11011000 så både 'RX Complete Interrupt Enable' och 'TX Complete Interrupt Enable' är ju satta.
då kanske det fungerar bara att jag inte märker att myHandler() körs...
måste försäkra mig om detta innan jag yrar vidare... har dåligt med utrustning där jag sitter just nu...
tack igen
då kanske det fungerar bara att jag inte märker att myHandler() körs...
måste försäkra mig om detta innan jag yrar vidare... har dåligt med utrustning där jag sitter just nu...
tack igen