Нужно запретить все прерывания в lpc1768.
В User Manual на 17xx в Главе 34:
1. п.4.2.10.1 написано, что можно воспользоваться:
void __disable_irq(void)
Keil v.4.11 выдаёт ошибку.
2. п.4.2.1 написано:
" The CMSIS mapping of the Cortex-M3 NVIC registers
To improve software efficiency, the CMSIS simplifies the NVIC register presentation. In the
CMSIS:
• the Set-enable, Clear-enable, Set-pending, Clear-pending and Active Bit registers
map to arrays of 32-bit integers, so that:
– the array ISER[0] to ISER[3] corresponds to the registers ISER0 - ISER3"
Как в ISER[0] и ISER[2] записать 0xFFFFFFFF?
3. А требуется всего лишь в регистры ISER0 и ISER1 записать все 1.
В заголовочном файле lpc17xx.h, который идёт с Keil вообще не нашёл таких регистров (и многих других).
Это недоработка Keil (я так предпологал, что в нём должны быть определены все регистры)?
Если "Да", то выложите пожалуйста пример полного, рабочего файла - lpc17xx.h и startup_LPC17xx.s (хорошо бы в стиле как было для LPC2000-ых
или он не будет работать из-за новой версии CMSIS?)
(или хотя бы пример как надо доработать хидер, чтобы можно было написать так:
LPC_ITERRUPT->ISER0 = 0xFFFFFFFF
----------------------------------------------
ЗЫ. В LPC2000-ых файлы хидера и стартапа были куда понятнее