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

*Leks*

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о *Leks*

  • Звание
    Частый гость
    Частый гость
  • День рождения 03.01.1980

Контакты

  • Сайт
    Array

Информация

  • Город
    Array

Посетители профиля

2 503 просмотра профиля
  1. Перенеслось без особых проблем. Даже папки CMSIS и STDPeriphLib перетащились без изменений. Компилируется, дебажится, прошивается. Тестируем сейчас.
  2. Значит, придется повозиться. Я думал, что есть возможность заменить определённые файлы и всё. Ну да ладно, будут встречаться большие подводные камни, напишу.
  3. перенос проекта из IAR в Keil

    Добрый день. Есть довольно громоздкий проект на STM32F103C8T6, написанный в IAR с помощью SPL. По определённым причинам требуется перенести его в Keil5. Как наиболее грамотно это сделать? Понятно, что ругается на pragma. Это исправляется. А что ещё?
  4. На днях запаял в новую плату чистый stm32f303 и включил. Так он грелся, зараза. Я думал, что что в топологии напутал чего, но заливка прошивки прошла штатно и греться перестало.
  5. STM32 ADC DMA

    Да, действительно так заработало! :cheers: Неправильно я понимал эту настройку каналов.
  6. STM32 ADC DMA

    Нулями этот канал включается. Как надо начать с первой позиции, чтобы его отключить? Я подозреваю, что никак. Так он включается: ADC1->SQR3 &= ~ADC_SQR3_SQ1_0; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ1_1; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ1_2; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ1_3; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ1_4; //0
  7. STM32 ADC DMA

    Проц STM32F103C8T6 Пытаюсь в режиме DMA читать каналы ADC12_IN1, ADC12_IN2, ADC12_IN3. При этом читать ADC12_IN0 не нужно. Настраиваю так: #define DMA_BUFF_SIZE 3 uint16_t buff[DMA_BUFF_SIZE]; ... //длина последовательности равна 3, первый канал (010) ADC1->SQR1 |= ADC_SQR1_L_1; // первый бит установлен в 1 // ADC1->SQR1 &= ~ADC_SQR1_L_0 & ~ADC_SQR1_L_2; // нулевой и второй биты сброшены в 0 // Выбираем последовательность каналов для сканирования //Bits 4:0 SQ2[4:0]: 1st conversion in regular sequence PA1/ADC12_IN1 pin11 ADC1->SQR3 |= ADC_SQR3_SQ2_0; //1 ADC1->SQR3 &= ~ADC_SQR3_SQ2_1; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ2_2; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ2_3; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ2_4 //0 //Bits 4:0 SQ3[4:0]: 2st conversion in regular sequence PA2/ADC12_IN2 pin 12 ADC1->SQR3 &= ~ADC_SQR3_SQ3_0; //0 ADC1->SQR3 |= ADC_SQR3_SQ3_1; //1 ADC1->SQR3 &= ~ADC_SQR3_SQ3_2; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ3_3; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ3_4; //0 //Bits 4:0 SQ4[4:0]: 3st conversion in regular sequence PA3/ADC12_IN3 pin 13 ADC1->SQR3 |= ADC_SQR3_SQ4_0; //1 ADC1->SQR3 |= ADC_SQR3_SQ4_1; //1 ADC1->SQR3 &= ~ADC_SQR3_SQ4_2; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ4_3; //0 ADC1->SQR3 &= ~ADC_SQR3_SQ4_4; //0 ADC1->CR2 |= ADC_CR2_DMA //включаем работу с DMA | ADC_CR2_EXTTRIG //включаем работу от внешнего события | ADC_CR2_EXTSEL //выбираем триггером запуска регулярной последовательности событие SWSTART | ADC_CR2_JEXTSEL; // выбираем триггером запуска выделенной последовательности событие JSWSTART ADC1->CR1 |= ADC_CR1_SCAN; // включаем автоматический перебор всех каналов в последовательности DMA1_Channel1->CPAR = (uint32_t) &ADC1->DR; // Загружаем адрес регистра DR DMA1_Channel1->CMAR = (uint32_t) &buff[0]; //грузим адрес буфера обмена DMA1_Channel1->CNDTR = DMA_BUFF_SIZE; //длина буфера DMA1_Channel1->CCR |= DMA_CCR1_MINC //инкремент адреса памяти | DMA_CCR1_PSIZE_0 //размерность данных периферии 16 бит | DMA_CCR1_MSIZE_0 //размерность данных памяти 16 bit | DMA_CCR1_CIRC; // закольцевать буфер //макросы для включения/выключения АЦП с DMA ADC1->CR2 |= ADC_CR2_ADON; ADC1->CR2 |= ADC_CR2_SWSTART; DMA1_Channel1->CCR |= DMA_CCR1_EN; //включаем преобразование и прерывание DMA Проблема в том, что читаются не ADC12_IN1...ADC12_IN3, а читаются ADC12_IN0...ADC12_IN2 Получается, что нулевой канал включен по умолчанию, т.к. биты ADC_SQR3_SQ1_0 ... ADC_SQR3_SQ1_4 равны нулю. Пробовал в них записывать единицы - не помогает. Всё равно читает этот IN0 канал, но в результат равен нулю. Как сделать так, чтобы в режиме DMA этот нулевой канал вообще не читался? Пока в виде костыля читаю четыре канала IN0...IN3 и игнорирую нулевой.
  8. CANopen, CANFestival

    Эх, старый добрый российский интернет.
  9. Остались очень довольны качеством и ценами ООО "Эталон" из Твери. Находились на территории Химволокна.
  10. Премного благодарен за инфо от практика. Не в изоляции дело, а в том, что нужно строго по времени коммутировать транзистором сотни ампер в ШИМ режиме, отслеживая положение ротора.
  11. Ок. JTAG оставлю. UART в обязательном порядке будет. Сколько денег и каким образом надо заплатить за полноценный отладчик/компилятор без ограничений размера кода? Ссылку бы. Покупаешь плату и считай, заплатил за лицензию? Или не так? Посмотрел. Хотя, вряд ли подойдёт. Плату уже начали разводить.
  12. Приветствую всех! Имеется опыт разработки и внедрения в серию устройств на PIC и AVR. Предстоит разработка системы управления электроприводом (motorcontrol). Двигатели будут асинхронные и синхронные мощностью до 100 кВт. Микроконтроллер предварительно выбран TMS320F28335 в основном, потому, что имеется аналог для военки от НИИЭТ. Техас Инструмент для меня новинка. Мои рассуждения такие: -отладка motorcontrol вряд ли возможна через JTAG из-за больших вычислительных нагрузок и жёсткой привязки к оборотам двигателя. Пошагово отлаживать можно только без нагрузки. Поэтому отладчик в железе не нужен. Нужна отладка в симуляторе. -нужен программатор для заливки кода в контроллер. Какой правильный? -нужна среда разработки. Как я понимаю, это - CCS. Он ведь платный? Как производится оплата? Покупая некую плату с железным ключом или некий код установки? -возможно, CCS не оптимален и есть некие другие более православные среды разработки?
  13. Спасибо! Hatch мне и нужен был.
  14. В EE2007.7 сделал полигон Plane Shape. На рисунке видны только лишь его контуры красного цвета. В предыдущих версиях был пункт "Generate Plane Data", если не ошибаюсь. Полигон заливался целиком, и я это видел. Какие кнопочки надо нажать, чтоб и здесь было так же?
×
×
  • Создать...