07.12.2011, 19:28
|
#1061
|
Прописка
Регистрация: 14.04.2009
Сообщений: 103
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Странно, а у меня все запаяно правильно, и не надо передергивать питание и работает загрузка флеш отдельно. только я платку покупал недавно.
Вопрос такой, как менять канал АЦП без переинициализации ацп?
Кроме как в функции ADC_RegularChannelConfig вроде ни где не упоминается.
В регистрах смотрел, не понял где устанавливается.
Нужно просто перед
ADC_SoftwareStartConvCmd(ADC1, ENABLE); // запуск одного конвертирования
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET); // ожидаем конвертирования
return ADC_GetConversionValue(ADC1);//читаем полученное значение АЦП
выбрать произвольный канал.
Последний раз редактировалось makser1; 07.12.2011 в 19:37.
|
|
|
|
07.12.2011, 22:34
|
#1062
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от makser1
|
Странно, а у меня все запаяно правильно
|
У меня тоже... на всех трёх...
|
|
|
|
07.12.2011, 23:00
|
#1063
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от st_1
|
У меня тоже... на всех трёх...
|
MB913-C00 или -С01?
Или это вообще не в теме?
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
07.12.2011, 23:05
|
#1064
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Все MB913-C01 ...
Про -С00 ничего сказать не могу...
|
|
|
|
07.12.2011, 23:24
|
#1065
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от st_1
|
Все MB913-C01 ...
Про -С00 ничего сказать не могу...
|
У меня С00 и вдоль джамперов. Попозже перепаяю. Если бы это что-то изменило.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
08.12.2011, 07:09
|
#1066
|
Прописка
Регистрация: 14.04.2009
Сообщений: 103
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
У меня тоже MB913-C01
Сам себе и отвечаю,насчет АЦП, надо так:
ADC_RegularChannelConfig(ADC1,ADC_Channel_xx, 1 ,ADC_SampleTime_55Cycles5);
ADC_SoftwareStartConvCmd(ADC1, ENABLE); // запуск одного конвертирования
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET); // ожидаем конвертирования
return ADC_GetConversionValue(ADC1);//читаем полученное значение АЦП
это даже лучше, можно не только канал выбрать но и время оцифровки.
|
|
|
|
08.12.2011, 10:15
|
#1067
|
Прописка
Регистрация: 08.10.2009
Сообщений: 101
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от makser1
|
У меня тоже MB913-C01
Сам себе и отвечаю,насчет АЦП, надо так:
ADC_RegularChannelConfig(ADC1,ADC_Channel_xx, 1 ,ADC_SampleTime_55Cycles5);
ADC_SoftwareStartConvCmd(ADC1, ENABLE); // запуск одного конвертирования
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET); // ожидаем конвертирования
return ADC_GetConversionValue(ADC1);//читаем полученное значение АЦП
это даже лучше, можно не только канал выбрать но и время оцифровки.
|
Сколько каналов надо оцифровать ?
Если 2 то можете использовать еще инжектируемую группу
Я не использую библиотеку но все примерно так же выглядит только я в инициализации прописываю времена для всех каналов , а выбор это делаю в 1 регистре ADC_SQR3 все это когда надо по 1 результату , а так пришлось писать с дма1 чтоб сразу несколько каналов читать .
|
|
|
|
08.12.2011, 19:17
|
#1068
|
Прописка
Регистрация: 14.04.2009
Сообщений: 103
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
EugenPKH, в произвольной последовательности, и наиболее просто. Этот вариант самый подходящий, навароты инжектирования, последовательное оцифровывание не нужно.
|
|
|
|
09.12.2011, 11:30
|
#1069
|
Временная регистрация
Регистрация: 14.11.2008
Сообщений: 68
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Всем привет. задача: копирование програмного кода из одной области флэш в другую. Как это реализовать? Есть у кого нибудь примерчик?
хочу из 0х0802.... копирнуть в 0х08006... прошивку
|
|
|
|
09.12.2011, 12:42
|
#1070
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Для работы АЦП выкладываю свой код. Тут все очень примитивно и понятно.
Код:
|
ADC_InitTypeDef ADC_InitStructure;
void adc_init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); //ADC init
ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
/* Now do the setup */
ADC_Init(ADC1, &ADC_InitStructure);
/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);
/* Enable ADC1 reset calibaration register */
ADC_ResetCalibration(ADC1);
/* Check the end of ADC1 reset calibration register */
while(ADC_GetResetCalibrationStatus(ADC1));
/* Start ADC1 calibaration */
ADC_StartCalibration(ADC1);
/* Check the end of ADC1 calibration */
while(ADC_GetCalibrationStatus(ADC1));
}
u16 adc_read(u8 channel)
{
ADC_RegularChannelConfig(ADC1, channel, 1, ADC_SampleTime_1Cycles5);
// Start the conversion
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
// Wait until conversion completion
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);
// Get the conversion value
return ADC_GetConversionValue(ADC1);
}
u32 adc_read_int(u8 channel, u16 integration)
{
u32 summ=0;
u16 cnt=0;
while(cnt!=integration)
{
summ=summ+adc_read(channel);
cnt++;
}
return (summ/integration);
} |
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:13.
|
|