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

*Leks*

Свой
  • Постов

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

  • Посещение

Весь контент *Leks*


  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", если не ошибаюсь. Полигон заливался целиком, и я это видел. Какие кнопочки надо нажать, чтоб и здесь было так же?
  15. Вот пусть попробуют себе найти сотрудника на сайтах по трудоустройству, забивая в поиск "электроник". На одного инженера 100 продажников бытовой электроники
  16. Знаете как должен отвечать нанимаемый в иностранную компанию? - Начальник должен выдавать чёткое задание и контролировать его выполнение. Все отклонения от приведённого варианта засчитываются не в пользу нанимаемого.
  17. Подходит ли "лицензия" от 2007.5 ?
  18. Отличный магазин. Хотя как пожелание выскажу: лучше начинать работу на час позже и заканчивать на час позже. Думаю, что по прибыльности тот первый час работы будет значительно уступать этому добавленному вечернему часу.
  19. За это можно иск схлопотать
  20. Платы, корпуса

    Радиолюбителям и им сочувствующим в связи с инвентаризацией.. Имеются платки (Ethernet, RS232, сбор инфомации с датчиков) с установленными компонентами и приличные корпуса для самодельных приборов. Не все платы могут оказаться рабочими. Что из полезного есть на платах: PIC18F452-I/P (микроконтроллер) ATMEGA64-16AU (микроконтроллер) ADM202EARW (RS232) RTL8019AS (Ethernet) AM1S-2405SZ (DC-DC преобразователь) FB2022 24LC16 7805CT (стабилизатор 5В) Реле 5В кварц 20 МГц разъёмы Ethernet, телефонные и питания светодиоды Общий объём можно оценить по последним двум фоткам. Хочу бутылочку коньяка. Хотя, если совесть позволит, можете забрать бесплатно. Самовывоз из Москвы от метро Первомайская
  21. Зигзагами именно выравнивают дорожки чтобы время прохождения сигнала по разным проводникам одной шины данных было одинакого. Нельзя сделать длину проводника в шине короче самого длинного проводника. Да и требования к клоковому сигналу бывают првязаны определённым образом времени прохождения сигналов по шине данных и адреса. Требования к сигналам в даташите на процессор или память или ТЗ разработчика цифровой схемы.
  22. Ну так и не должно работать, если собрано как на схеме. По крайней мере, полярность светодиода надо поменять. И при использовании БП от мобилы нужен хотя бы простой стабилизатор на КРЕН5. На ногу reset не плохо бы повесить конденсатор 0,01-0,1 мкФ. А что, winavr понимает такое представление числа "DDRC = 0b111111;" ?
  23. плата на 9260

    Хотелось бы узнать цену на собранную плату и комплект платы с деталюхами без сборки. Ставьте меня в очередь.
×
×
  • Создать...