Obsluha USARTu v PIC18F
Admin HWnews
hwnews na cncnet.info
Pondělí Únor 20 12:47:22 CET 2023
Zdravim,
resim tady takovou zalezitost a at delam co delam nenachazim reseni.
Mam v programu dve preruseni jedno od timeru vyvolavajici se kazdych
1.758ms a pak preruseni od serioveho portu, kde se komunikuje pres
terminal rychlosti 115200bps.
Problem je, ze v preruseni od casovace se provadi pomerne slozite nejake
pocitani s doublewordama, longintama a proste to pomerne trva. Bohuzel
to nejsem schopnej presunout "na pozdeji" do main smycky, protoze
vysledky jsou mimojine vykon a potrebuji incrementovat pocitadla
energie. Vypocty jsem se snazil maximalne optimalizovat. Bohuzel tim, ze
to trva se obcas prehlidne prichozi prikaz z terminalu...pokud s tim
komunikuje clovek neni to az tak problem...maximnalne poslete prikaz
znovu. Jenze ted jsem si k tomu pripojil ESP32 kam chci naprogramovat
webserver s nejakym gui a i kdyz se snazim to nejak osetrit...treba kdyz
neprijde odpoved tak prikaz zopakovat...neni to uplne idealni.
Dival jsem se do tabulky priorit (PIC18F26K42) a preruseni od RX by melo
mit vyssi prioritu nez preruseni od casovace...to je asi ok, ale
neexistuje moznost, ze by se vyskocilo z preruseni timeru do preruseni
od RX a pak zase navrat do preruseni od timeru?
Ano uvedomuji si, ze by asi bylo reseni si v timeru nahodit jen priznak,
ze se ma obsluhovat rizeni vykonu, ale mam trochu strach, ze mi to bude
vandrovat s tim pocitanim...takze zatim se k tomu nechci uchylit dokud
nevycerpam veskerou nadeji, ze jsem neco prehlidnul.
RV
Další informace o konferenci Hw-list