Перейти к содержанию
    

anubis

Участник
  • Постов

    25
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о anubis

  • Звание
    Участник
    Участник
  1. Спасибо большое, это помогло. Заработало Спасибо всем за помощь!
  2. Указан STM32F107VC и STM32F10X_CL. в файле stm32f10x.h у STM32F10X_CL нет поля TIM6_DAC_IRQn. Подскажите какой нужно указать или что еще можно сделать? Подключен startup_stm32f10x_cl.c
  3. Не включается прерывание

    Всем привет! При компиляции выдает ошибку :18: error: 'TIM6_DAC_IRQn' undeclared (first use in this function) библиотеки подключены и т.д. Помоги пожалуйста разобраться #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_gpio.h" uint32_t i=0; void Delay(volatile uint32_t nCount) { for (; nCount != 0; nCount--); } int main(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); /* Включаем таймер 6 */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE); /* Настраиваем ногу ЦАПа */ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, &GPIO_InitStructure); TIM6->PSC = 0; TIM6->ARR = 500; TIM6->DIER |= TIM_DIER_UIE; //разрешаем прерывание от таймера TIM6->CR1 |= TIM_CR1_CEN; // Начать отсчёт! NVIC_EnableIRQ(TIM6_DAC_IRQn); //Разрешение TIM6_DAC_IRQn прерывания DAC->CR |= DAC_CR_BOFF1; DAC->CR |= DAC_CR_EN1; while (1) { //Delay(1000); //x Ticks } } /*Обработчик прерывания от таймера 6 */ void TIM6_DAC_IRQHandler(void) { TIM6->SR &= ~TIM_SR_UIF; //Сбрасываем флаг UIF DAC->DHR12R1=2048; //Запихиваем в ЦАП очередной элемент массива }
  4. Спасибо большое! Harbour и другие проблема была в "висящих" ножках + подача Vref от внешнего источника Помогите разобраться с ЦАП и АЦП, возможно ли их сделать биполярными?
  5. Доброго времени! Заливаем на плату 1 и 2 след прошивку. Прошу прощение за закорючки, это CoIDE, CooCox последней версии отображает кириллицу. пока чет это не пофиксили. Тем не менее обе через SWD. Первая выдает белый шум с PA4 вторая с того же порта "молчит". #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_gpio.h" int main(void) { GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); /* Включаем РїРѕСЂС‚ Рђ */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); /* Включаем ЦАП */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); /* Включаем таймер 6 */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE); /* Настраиваем РЅРѕРіСѓ ЦАПа */ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Настраиваем таймер так чтоб РѕРЅ тикал почаще */ TIM6->PSC = 0; TIM6->ARR = 500; TIM6->CR2=TIM_CR2_MMS_1; /* Таймер будет источником событий для ЦАПа */ TIM6->CR1 |= TIM_CR1_CEN; // Начать отсчёт! /* Включить DAC1 */ DAC->CR |= DAC_CR_TEN1; /* Преобразование РїРѕ возникновению события ... */ DAC->CR &= ~DAC_CR_TSEL1; /* ... РѕС‚ таймера 6*/ DAC->CR |= DAC_CR_WAVE1_0; /* Генерация шума */ // DAC->CR |= DAC_CR_WAVE1_1; /* Генерация сигнала треугольной формы */ DAC->CR |= DAC_CR_MAMP1; /* Максимальная амплитуда */ DAC->CR |= DAC_CR_EN1; /* Включить ЦАП1 */ /* Бесконечный цикл */ while (1) { } }
  6. Так программа не виснет и вполне дебагается, но на выходе с DAC 0.
  7. Прошивка на плате-1 работает нормально(DAC/ADC), шьем аналогом st-link. Лог результата закачки прошивки будет завтра.
  8. Прошивка одинаковая, в этом вся беда. Если бы разная была, то понятно что в коде проблема...
  9. Через SWD с одинаковой прошивкой результаты те же, на второй плате АЦП/ЦАП не работают.
  10. Первая плата поддерживает SWD/JTAG http://www.ebay.com/itm/Core107V-STM32F107...=item3a7996f954 Вторая только SWD http://www.kosmodrom.com.ua/pic/STM32F10X-ETH-HB-LITE.jpg Идентичная прошивка и на второй не работает. Если первую прошивать SWD/JTAG результат тот же.
  11. на плате через SWD к сожалению строчка не помогла, и DAC по прежнему отказывается выдавать сигнал(
  12. Пины проверили все в порядке, везде есть напряжение где надо. (аналогично с первой платой) Прошивка на платы заливается идентичная. Отличия в них только в том что одна программируется через JTAG другая SWD
  13. Как вы думаете в чем может быть проблема. При запуске дэбагера выдает следующее. Reading symbols from C:\CooCox\CoIDE\workspace\General_Project_1\General_Project_1\Debug\bin\General_Project_1.elf...done. file "C:/CooCox/CoIDE/workspace/General_Project_1/General_Project_1/Debug/bin/General_Project_1.elf" file "C:/CooCox/CoIDE/workspace/General_Project_1/General_Project_1/Debug/bin/General_Project_1.elf" set tdesc filename C:/CooCox/CoIDE/bin/target_desc/arm-with-m.xml target remote 127.0.0.1:2009 Default_Reset_Handler () at C:\CooCox\CoIDE\workspace\General_Project_1\cmsis_boot\startup\startup_stm32f10x_cl.c:222 222 { tbreak main continue Temporary breakpoint 4 at 0x8000666: file C:\CooCox\CoIDE\workspace\General_Project_1\main.c, line 43. Temporary breakpoint 4, main () at C:\CooCox\CoIDE\workspace\General_Project_1\main.c:43 43 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  14. Проблемная плата: http://www.kosmodrom.com.ua/el.php?name=ST...10X-ETH-HB-LITE Vcc от программатора +3.3V
  15. Приветствую всех. Возникла странная проблема, есть 2 платы с stm32f107. На первой все в порядке, а вот на второй плате не работают DAC/ADC. Инициализация DAC RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_4 ); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, &GPIO_InitStructure); DAC->CR |= DAC_CR_BOFF1; DAC->CR |= DAC_CR_EN1; Проверял DAC 1/2, ацп 1/2 (второй канал ацп не проходит калибровку - в дебаггере не идет дальше) Везде пусто. ps порт С как вход при этом работает нормально.
×
×
  • Создать...