chapter 15 external interrupt