URL: <https://savannah.nongnu.org/bugs/?59427>
Summary: Pending external interrupts can not be cleared Project: Simulavr: an AVR simulator Submitted by: None Submitted on: Sat 07 Nov 2020 11:30:24 AM UTC Category: Simulation Severity: 3 - Normal Item Group: None Status: None Privacy: Public Assigned to: None Originator Email: timol...@gmail.com Open/Closed: Open Discussion Lock: Any Component Version: simulavr _______________________________________________________ Details: I observed that clearing pending external interrupts has no effect. For instance, clearing the PCIE bit (by writing a 0 bit) inside of GIMSK or clearing the PCIF bit (by writing a 1 bit) inside of GIFR, does not prevent the interrupt handler to be run. Looking at the simulavr source code it seems like a Problem inside of libsim/externalirq.cpp in the function ExternalIRQHandler::set_from_reg. The function does not call ClearIrqFlag which would be required to clear any pending interrupts... _______________________________________________________ Reply to this item at: <https://savannah.nongnu.org/bugs/?59427> _______________________________________________ Message sent via Savannah https://savannah.nongnu.org/