Obsluha USARTu v PIC18F

M. milger na pobox.sk
Pondělí Únor 20 13:58:28 CET 2023


Zdravim,


prerusitelnost prerusenia nie je bezna vec u malych kontrolerov 
(bohuzial PIC nepoznam).

Ale mozem povedat, ze ARM (LPC1788) to zvlada a "zachranilo" to moju 
myslienku nahradit cast spracovania povodne rieseneho Xilinxom, 
procesorom. Takze vo finale a podla priorit preruseni:

1.  prerusenie od Timeru0, cca kazde 3usec.

2. prerusenie od Timeru1, nepravidelne ale ked uz tak kazdych 20usec.

3. prerusenie od Timeru , kazdych 33usec (1 a 3 uzko suvisi ale musel 
som to rozdelit, aby to procesor stihal).

4. prerusenie od integrovaneho HW CAN.

5. prerusenie od integrovaneho HW UARTs + ADC.

6. prerusenie od casovaca pre chod RTX OS

Povodne body 1,2,3 riesil Xilinx, teraz to cele riesi procesor a stoji 
to cca 50% jeho max. mozneho vykonu. Bolo sice treba riesit 
optimalizaciu kodu (pre 1,2,3).  Ale vdaka prerusitelnosti prerusenia to 
funguje bravurne. A stacilo "iba" doplnit obsluhu preruseni 1-3 + 
minimalne upravy povodneho kodu.


...viem neporadil som, ale mozno to niekomu pomoze.


Milan

M.

On 20-Feb-23 13:35, Admin HWnews wrote:
> No abych pravdu rekl nikdy jsem to nepotreboval a tak se to ted nejak 
> snazim pochopit...a zatim to chapu tak, ze v pripade soubehu dvou 
> preruseni se nejdrive vykona to s vyssi prioritou a pak to s nizsi. 
> Jenze to neresi problem, kdyz uz se jedno preruseni (nizsi) 
> obsluhuje...podle toho jak ctu dokumentaci a jak se to chova tak 
> nedojde k novemu preruseni a pozastaveni obsluhy preruseni s nizsi 
> prioritou.
>
> Nebo to tak neni?
>
> RV
>
> Dne 20.02.2023 v 13:26 tomas mainzer napsal(a):
>> zde neni moznost nastavit priority pretuseni (hi/low) - tj, 
>> komunikaci nastavit na hi, vypocty/timer na low?
>> v nejhorsim - testovat "manualne" prijem znaku i v interrupt 
>> rutine timeru (predpokladam ze jen ukladate do bufferu)
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list