koyodza (16.07.2011 20:56 - 23:51, просмотров: 121) ответил IdleMode на Подскажите, STM32Fxxx после пробуждения из StandBy будильником RTC он что, не продолжает программу а резетится? И еще, как написать на языке С для него команду перехода на начальный адрес (аналог jmp0)?
по второму вопросу есть несколько ответов. Дополнено Если Вам нужен ресет, то в библиотеке у STM32 есть для этого
NVIC_SystemReset();
Можете посмотреть, что именно она делает.
Если нужен переход по произвольному адресу, то это делается (не только на STM32) так:
((void(*)(void))((void*)addr))();
Напомню, что программа во flash STM32 стартует не с нулевого адреса, а с адреса, который находится в 4 байтах по адресу 0х08000004, т.е. стандартный переход на старт выглядит так:
((void(*)(void))((void*)*((DWORD*)(0x08000004))))();
Если быть более точным, то это будет не переход, а вызов подпрограммы, т.е. в стек помещается текущий адрес, и при желании (и возможности) можно осуществить возврат