
snn_krs
Members-
Posts
512 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Everything posted by snn_krs
-
Для изменения содержимого порта компилятор может использовать три команды 1. Чтение порта во временный регистр 2. Изменение значения во временном регистре 3. Сохранение временного регистра в порт. Если между этими командами произойдет прерывание, то временный регистр может измениться в прерывании и соответственно изменится порт. Команды cli() и sei() в прерывании не нужны, они прерывание запрещается и разрешается аппаратно. При приеме по 485 используют таймаут. Если нет приема дольше нескольких мСек ( обычо длительность передачи 3.5 символов ), значит прием закончен, или ошибка. Если этого не сделать обмен может зависнуть.
-
Попробуйте при изменении порта D запрещать прерывания cli(); PORTD... PORTD... sei();
-
Программа уже считана, значит защиты нет. Пусть биты защиты будут называться фьюзе битами. Однако в АВР это не одно и тоже. Вопрос был о том, что кроме флэш памяти надо считать для переноса программы.
- 8704 replies
-
- Микроконтроллер
- МК
-
(and 2 more)
Tagged with:
-
Это АРМ контроллер. У них нет фьюзов. Должно быть достаточно того, что считали. Если есть внешняя ЕЕПРОМ, тогда ее надо считать.
- 8704 replies
-
2
-
- Микроконтроллер
- МК
-
(and 2 more)
Tagged with:
-
Подключение однофазного асинхронного двигателя
snn_krs replied to Alexfag's topic in Песочница (Q&A)
Попробуйте так подключить. 0.4 Ом это не обмотка а центробежный выключатель, обведен кружком. -
Запуск трехфазного двигателя с датчиками Холла
snn_krs replied to setter's topic in Промышленная электроника
Ответ о том, что эта плата не будет работать с данным двигателем. -
Запуск трехфазного двигателя с датчиками Холла
snn_krs replied to setter's topic in Промышленная электроника
Плата предназначена для управления бесщеточным двигателем (BLDC). У вас двигатель щеточный. С этой платой работать не будет. -
Электронные весы на атмега8 и АЦП hx711
snn_krs replied to SkyNotScarlett's topic in МК для начинающих
5-я ножка индикатора и вывод подстроечника регулятора контрастности не соедины с землей. -
Посмотрите эти. Джозеф Ю. Ядро Cortex M3 компании ARM. Полное руководство Мартин. Инсайдерское руководство по STM32
-
В даташите все описано. У ATMEGA8515 один регистр для таймера 0 и 1 и Bit 7 – TOIE1: Timer/Counter1, Overflow Interrupt Enable
-
Какое прерывание вы так разрешаете? Надо TIMSK |= (1<<7);
-
Это два независимых канала со своими линиями и буферами приема и передачи. Данные передаются и принимаются одновременно.
-
Пользуюсь в таких случаях Zelio Soft 2 от Шнайдер, есть аналоги от Сименс и Овен. Программа бесплатная. Есть реле, счетчики, генераторы и т.п. При симуляции можно на выход ставить лампочки, двигатель, вентилятор и т.п.
-
Сначала надо разрешать ( EN ) DMA затем переферийное устройство. If the user enables the used peripheral before the corresponding DMA stream, a “FEIF” (FIFO Error Interrupt Flag) may be set due to the fact the DMA is not ready to provide the first required data to the peripheral (in case of memory-to-peripheral transfer).
-
Эта защита скорее всего для того, чтобы случайно не стереть программу. В вашем случае защиты нет.
-
Запретить запись можно, хотя эту защиту можно и снять.
-
Программатору нужен только файл *.hex. Попробуйте найти, или скомпилируйте любой проект для вашего МК ( например ааа ). Найдите куда помещается файл - ааа.hex. Удалите его, а вместо него подставьте bootloader.hex - предварительно переименовав его в ааа.hex. Попробуйте запрограммировать.
-
Правильно. Если частота 100 МГц, то GPIOD->ODR = 0xF000 в цикле выполняется каждые приблизительно 50 нС. Это меньше 0.5 мкС. Когда в регистр ODR записывается любое значение ( даже то что было ) устанавливается счетчик задержки, в данном случае 0.5 мкС и выход установится только через это время. Если до достижения этого времени вы снова записываете в ODR любое значение счетчик опять устанавливается в 0.5 мкС и выход не изменяется. Поставьте GPIOD->OSPEEDR = 0xFF000000; и светодиоды должны зажечься.
-
Задержка между GPIOD->ODR while(1) { // Задержка > 0.5 мкС GPIOD->ODR = 0xF000; // Задержка > 0.5 мкС GPIOD->ODR = 0x0000; } Если хотите увидеть мигания, задержка больше 0.1сек
-
Выходные порты синхронные, состояние меняется с частотой заданной в регистре OSPEEDR. Тоесть между командами изменения состояния порта должно быть больше 0.5 мкС для OSPEEDR = 0 ( 2 MHz )/
-
Все чипы имеют уникальный ID - Unique device ID register (96 bits). Программист может просто использовать флэш как EEPROM. При запуске программы проверить размер флэш памяти. Можно проверить общий объем памяти, количество занятой и отвести для записи последний блок. Но может просто писать данные в блок по жестко заданному адресу, например 1 М.
-
Если прошивка привязана к ID чипа, то она не будет работать даже если вы купите stm32f407vgt6. Даже если привязки нет, вероятнрсть, что она заработает не 100%.
-
Скачивание файла прошивки (расширение .hex) из контроллера STM32
snn_krs replied to Vladislav_gh's topic in STM32
В ST-LINK задаете сколько надо считать ( вся память ) и читаете. -
На выход схемы предложенной Dr. West ставите конденсатор. Заряжается он быстро, а разряжается медленно (подбор емкости и нагрузочного резистора). Если разряд "-" выключается, то через несколько периодов динамической индикации конденсатор разрядится. Это как регенерация динамической памяти.
-
Компилятор обнуляет только глобальные переменные. Объявите ААА локально. int main(void) { unsigned char AAA; ... Это не правильно, но в этом случае должно сработать.