25 C
Hanoi
Chủ Nhật, Tháng Chín 25, 2022

THIẾT KẾ PHẦN CỨNG - NHẬN THIẾT KẾ ĐIỆN TỬ CHO SẢN PHẨM PHẦN CỨNG SỐ, IOT, CÔNG NGHIỆP,...

Home LẬP TRÌNH VI ĐIỀU KHIỂN ESP8266 Lỗi ISR not in IRAM khi lập trình ESP8266

Lỗi ISR not in IRAM khi lập trình ESP8266

Hiện trạng:

Xuất hiện dòng “ISR not in IRAM!” khi bạn theo dõi qua cửa sổ UART.

Cách khắc phục

+ Phải khai báo nguyên mẫu hàm cho hàm ngắt (hoặc định nghĩa hàm ngắt trước setup)
+ Hàm ngắt phải có từ khóa ICACHE_RAM_ATTR trước tên hàm
Ví dụ:

 void ICACHE_RAM_ATTR MyInterruptHandler();
...
attachInterrupt(digitalPinToInterrupt(5),MyInterruptHandler,FALLING)
...
 void ICACHE_RAM_ATTR MyInterruptHandler() { // do your interrupt handling stuff in here.... }

Chi tiết theo link Github:

https://github.com/esp8266/Arduino/blob/master/doc/reference.rst?fbclid=IwAR1Zjb0K110uzkO6VLD5Qh_zLD_ZRom4QSbpWyATu2JxtXCDz2I2UYGNASk

Pin Functions

Digital pins 6—11 are not shown on this diagram because they are used to connect flash memory chip on most modules. Trying to use these pins as IOs will likely cause the program to crash.

Note that some boards and modules (ESP-12ED, NodeMCU 1.0) also break out pins 9 and 11. These may be used as IO if flash chip works in DIO mode (as opposed to QIO, which is the default one).

Pin interrupts are supported through attachInterruptdetachInterrupt functions. Interrupts may be attached to any GPIO pin, except GPIO16. Standard Arduino interrupt types are supported: CHANGERISINGFALLING. ISRs need to have ICACHE_RAM_ATTR before the function definition.

Hi vọng bài viết này giúp ích cho các bạn 🙂

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Chia sẻ PCB KIT ESP32

Mạch nguyên lý schemaic: Download toàn bộ project phần mềm Altium: DOWNLOAD Một vài hình ảnh thiết kế trên Altium:

Chia sẻ PCB Ethernet Gigabit Switch 5 Port

Mạch nguyên lý Schematic: DOWNLOAD ALTIUM PROJECT Một số hình ảnh 3D và 2D của mạch: Lớp TOP: Lớp 2: Lớp 3:Lớp Bottom:

Chia sẻ PCB mạch Hub USB2.0 dùng FE1.1S

DOWNLOAD PROJECT (ALTIUM) Mạch thiết kế trên phần mềm Altium, 2 lớp, dùng cho mục đích thử nghiệm.

Chia sẻ PCB nguồn công nghiệp VRB2405YMD-20WR3

Công suất đầu ra 20 Vin (VDC) 18~36 Vout (VDC) 5 Số đầu ra 1 Điện áp cách ly 1500     DOWNLOAD  

Recent Comments