реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ADC в STM32F100RB, сколько же все-таки регистров ADC_DR ?
kumle
сообщение Aug 16 2011, 13:36
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Начал разбираться с АЦП микроконтроллера STM32F100RB.
Открыл пример из библиотеки stm32f10x_stdperiph_lib, там где разбирается работа трех каналов два из которых обращаются к DMA, а один работает по прерыванию.
И сразу попал в ступор когда увидел в файле такие строчки:

#define ADC1_DR_Address ((uint32_t)0x4001244C)
#define ADC3_DR_Address ((uint32_t)0x40013C4C)

Затем далее по тексту файла они используются в настройке каналов DMA:
/* DMA1 channel1 configuration ----------------------------------------------*/
DMA_DeInit(DMA1_Channel1);
DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;
...
...
...


/* DMA2 channel5 configuration ----------------------------------------------*/
DMA_DeInit(DMA2_Channel5);
DMA_InitStructure.DMA_PeripheralBaseAddr = ADC3_DR_Address;
...
...
...

Но в даташите в карте регистров АЦП написано что регистр ADC_DR только один и смещение у него 0x4C от адреса 0x40012400 (начало регистров АЦП). Откуда тогда они взяли адрес 0x40013C4C для третьего канала?


Ой, кажется дошло. Написано, что пример только под high - density devices а у меня medium. Видимо у тех 3 блока ADC и для каждого свой регистр ADC_DR
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01345 секунд с 7
ELECTRONIX ©2004-2016