[so2] [SO2][Tema2] Comportament COM-uri

Alexandru Juncu alexj at rosedu.org
Fri Apr 5 12:08:04 EEST 2013


2013/4/5 Liviu Chircu <liviu.chircu at gmail.com>:
> Salut,
>
> Dacă presupunem că întreruperea RDAI e activată pe ambele COM-uri pe care
> modulul meu le-a deschis și scriu un octet în COM1, ar trebui să se genereze
> două intreruperi de RDAI (COM1 și COM2) sau una singură (pe COM2) ? Din câte
> am văzut, e vorba de a 2-a variantă... dar normal mi s-ar părea să fie
> prima.

Salut!

În primul rând nu știu la ce te referi cu "întreruperea RDAI". "RDAI"
sună a adresă de IO port...  Receive Data Available Interrupt.
Fiecare "COM" are întreruperea sa
#define COM1_IRQ»       4
#define COM2_IRQ»       3

Dar tu folosești io porturile, prin registre gen RDAI, să zici
controller-ului când să trimită întreruperi. RDAI parcă zicea
controller-ului să trimită întrerupere nubcleului (adică să apeleze
funcția handler) atunci când există date în bufferul hardware.

Porturile, la fel ce întreruperile (în cazul temei), sunt per dispozitiv.


More information about the so2 mailing list