Interrupt Programming in Raspberry Pi Pico Interface
Interrupt programming in Raspberry Pi Pico using MicroPython. Understand the difference between polling and interrupts, view NVIC in Arm Cortex-M, and learn about interrupt vector tables and IRQ assignment in RP2040. Discover how to enable interrupts at different levels and implement interrupts with switches on the Pico board.
Uploaded on Apr 12, 2025 | 0 Views
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Chapter 6: Interrupt Programming in Pico Raspberry Pi Pico Interfacing and Programming with MicroPython www.MicroDigitalEd.com
Table 6-1: Interrupt Vector Table for Arm Cortex-M INT # Interrupt Memory Location 0x00000000 0x00000004 0x00000008 0x0000000C 0x00000010 0x00000014 0x00000018 0x0000001C 0x00000020 0x00000024 0x00000028 0x0000002C 0x00000030 0x00000034 0x00000038 0x0000003C 0x00000040 0x00000044 0x000003FC Stack Pointer initial value Reset NMI Hard Fault Reserved Reserved Reserved Reserved Reserved Reserved Reserved SVCall Reserved Reserved PendSV SysTick IRQ0 for peripherals IRQ1 for peripherals IRQ239 for peripherals 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 255
Table 6-2: IRQ assignment in RP2040 INT# 1-15 IRQ# Vector location 0000 0000 to 0000 003C 0000 0040 0000 0044 0000 0048 0000 004C 0000 0050 0000 0054 0000 0058 0000 005C 0000 0060 0800 0064 0000 0068 0000 006C 0000 0070 0000 0074 0000 0078 0000 007C 0000 0080 0000 0084 0000 0088 0000 008C 0000 0090 0000 0094 0000 0098 0000 009C 0000 00A0 0000 00A4 Device CPU Exceptions 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Timer_IRQ_0 Timer_IRQ_1 Timer_IRQ_2 Timer_IRQ_3 PWM_IRQ_WRAP USBCTRL_IRQ XIP_IRQ PIO0_IRQ_0 PIO0_IRQ_1 PIO1_IRQ_0 PIO1_IRQ_1 DMA_IRQ_0 DMA_IRQ_1 IO_IRQ_BANK0 IO_IRQ_QSPI SIO_IRQ_PROC0 SIO_IRQ_PROC1 CLOCKS_IRQ SPI0_IRQ SPI1_IRQ UART0_IRQ UART1_IRQ ADC_IRQ_FIFO I2C0_IRQ I2C1_IRQ RTC_IRQ
Figure 6-5: Using Interrupt with a Switch Connected to Pico board