mantech
Jan 31 2014, 06:17
Приветствую.
Вопрос конечно глупый, наверно, но все-таки - есть группа регистров таймеров, к которым до недавнего времени обращался как TIM1->CCR1 = nnnn и все нормально, но пришлось создать массив таких регистров, чтоб делать примерно так - TIM_PWM[1] = nnnn без всяких кейсов и ифов
И уж до кучи - как вообще записать произвольное число в память по произв. адресу?
Вопрос- как это сделать в стм32f4 ?
megajohn
Jan 31 2014, 07:04
навскидку типо так
typedef struct{
uint32_t volatile* PR;
uint32_t volatile* PC;
uint32_t volatile* CR;
uint32_t volatile* MR;
}S_my_timer;
S_my_timer my_timer[] = {
{ &LPC_TIM0->PR, &LPC_TIM0->PC, &LPC_TIM0->CR0, &LPC_TIM0->MR0 },
{ &LPC_TIM1->PR, &LPC_TIM1->PC, &LPC_TIM1->CR0, &LPC_TIM1->MR0 },
{ &LPC_TIM2->PR, &LPC_TIM2->PC, &LPC_TIM2->CR0, &LPC_TIM2->MR0 },
};
*(my_timer[0].PC) = 0xABCD;
по произвольному адресу так
*((uint32_t*)0x10000000) = 0x1234;
А лучше
Код
const S_my_timer my_timer[] = и т.д.