Sample polling routine, An181 – Cirrus Logic AN181 User Manual
Page 4

AN181
4
AN181REV1
SAMPLE POLLING ROUTINE
Pseudo Code
#define EventMask = 0xFFC0
#define RegisterMask = 0x003F
#define RxEvent = 0x0004
#define TxEvent = 0x0008
#define BufEvent = 0x000C
Poll-Chip{
unsigned short Event;
Event = Poll-Registers()
While Event <> 0x0000 {
Switch (RegisterMask & Event) {
Case RxEvent:
result = Process-RxEvent(Event);
break;
Case TxEvent:
result = Process-TxEvent(Event)
break;
Case BufEvent:
result = Process-BufEvent(Event);
break;
} // End Switch
Event = Poll-Registers()
} // End While
} // End Poll-Chip
Poll-Registers{
unsigned short Event;
Event = Read-RxEventRegister();
If (EventMask & Event) {
return Event;}
Event = Read-TxEventRegister()
If (EventMask & Event) {
return Event;}
Event = Read-BufEventRegister()
If (EventMask & Event) {
return Event;}
Return 0x0000
// End Poll-Registers
}
- CobraNet (147 pages)
- CS4961xx (54 pages)
- CS150x (8 pages)
- CS1501 (16 pages)
- CS1601 (2 pages)
- CS1601 (16 pages)
- CS1610 (16 pages)
- CRD1610-8W (24 pages)
- CRD1611-8W (25 pages)
- CDB1610-8W (21 pages)
- CS1610A (18 pages)
- CDB1611-8W (21 pages)
- CDB1610A-8W (21 pages)
- CDB1611A-8W (21 pages)
- CRD1610A-8W (24 pages)
- CRD1611A-8W (25 pages)
- CS1615 (16 pages)
- AN403 (15 pages)
- AN401 (14 pages)
- AN400 (15 pages)
- AN375 (27 pages)
- AN376 (9 pages)
- CRD1615-8W (22 pages)
- CRD1616-8W (23 pages)
- AN402 (14 pages)
- AN404 (15 pages)
- CRD1615A-8W (21 pages)
- CS1615A (16 pages)
- CS1630 (56 pages)
- AN374 (35 pages)
- AN368 (80 pages)
- CRD1630-10W (24 pages)
- CRD1631-10W (25 pages)
- CS1680 (16 pages)
- AN405 (13 pages)
- AN379 (31 pages)
- CRD1680-7W (31 pages)
- AN335 (10 pages)
- AN334 (6 pages)
- AN312 (14 pages)
- AN Integrating CobraNet into Audio Products (16 pages)
- CobraNet Audio Routing Primer (9 pages)
- Bundle Assignments in CobraNet Systems (3 pages)
- CS2300-01 (3 pages)
- CS2000-CP (38 pages)