mantech 53 31 января, 2014 Опубликовано 31 января, 2014 (изменено) · Жалоба Приветствую. Вопрос конечно глупый, наверно, но все-таки - есть группа регистров таймеров, к которым до недавнего времени обращался как TIM1->CCR1 = nnnn и все нормально, но пришлось создать массив таких регистров, чтоб делать примерно так - TIM_PWM[1] = nnnn без всяких кейсов и ифов И уж до кучи - как вообще записать произвольное число в память по произв. адресу? Вопрос- как это сделать в стм32f4 ? Изменено 31 января, 2014 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 8 31 января, 2014 Опубликовано 31 января, 2014 · Жалоба навскидку типо так 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; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAI 0 31 января, 2014 Опубликовано 31 января, 2014 · Жалоба А лучше const S_my_timer my_timer[] = и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 31 января, 2014 Опубликовано 31 января, 2014 · Жалоба навскидку типо так Спасибо, попробую B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться