Hello,
Turning off and on all interrupts is typically done by:
asm(" wrteei 0");
asm (" wrteei 1");
But, how to just disable a certain interrupt or group of interrupts?
Or is it possibly to just disable interrupts configured with a prio below a certai level?
Best Regards,
Peder Rogö
Peder Rogö
Senior SW Design Engineer
CPAC SYSTEMS AB
Box 217
SE-401 23 Göteborg
Visitors: Bergskroken 3, Mölndal
Phone: +46 (0)31 352 16 00
Mobile: +46 (0)707 218740
TAKING CONTROL FORWARD
This email message (including its attachments) is confidential and may contain privileged information and is intended solely for the use of the individual and/or entity to whom it is addressed. If you are not the intended recipient of this e-mail you may not disseminate, distribute or copy this e-mail (including its attachments), or any part thereof. If this e-mail is received in error, please notify the sender immediately by return e-mail and make sure that this e-mail (including its attachments), and all copies thereof, are immediately deleted from your system. Please further note that when you communicate with us via email or visit our website we process your personal data. See our privacy policy for more information about how we process it: https://www.volvogroup.com/en-en/privacy.html
Hi Lukas,
Thanks for your support. We will look into to this in the quite near future and come to you if we would need any further support.
Regards,
Peder
Hi,
an interrupt can be enabled/disabled on three levels:
- MSR[EE] bit
- priority level
- local interrupt enable bit in a peripheral (like PITINTEN register, for example)
If all three conditions are satisfied, an interrupt will be triggered. If an interrupt is disabled on one or on more levels, it won't be triggered.
MSR[EE] bit and local interrupt enable bits are clear, I think. Regarding the priority, please take a look at section "9.5.5 Priority Ceiling Protocol" in the reference manual. This allows you to disable group of interrupts based on their priority level.
Regards,
Lukas