Design and use of digital interfaces, including memory, serial, parallel, synchronous and asynchronous interfaces. Hardware implementations of interrupts, buses, input/output devices and direct memory access. Multitasking software architecture, real-time preemptive multitasking kernels. Data structures and mechanisms for flow control. Computer communications interfaces, interfacing of microcontroller to peripheral devices such as stepper motors. Requires payment of additional student instructional support fees. Refer to the Tuition and Fees page in the University Regulations section of the Calendar. Prerequisite: ECE 212 or E E 380 or CMPUT 229, and 275 or permission of the Instructor. Credit may be obtained in only one of CMPE 401 or ECE 315.