ART_ME Опубликовано 16 февраля, 2020 Автор Поделиться Опубликовано 16 февраля, 2020 Сделал вот это, все равно моргает. ind_Temp = (int) Temp/100; if (ind_Temp - last_ind_Temp == 1) TM1637_display_all(last_ind_Temp); else if (ind_Temp - last_ind_Temp == - 1) TM1637_display_all(last_ind_Temp); else TM1637_display_all(ind_Temp); last_ind_Temp = ind_Temp; 0 Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterElectric Опубликовано 16 февраля, 2020 Поделиться Опубликовано 16 февраля, 2020 (изменено) @ART_ME не нужно безусловно делать это last_ind_Temp = ind_Temp; ну и при чем тут == ind_Temp = (int) Temp / 100; if(((ind_Temp - last_ind_Temp) > 1) || ((ind_Temp - last_ind_Temp) < - 1)) { TM1637_display_all(ind_Temp); last_ind_Temp = ind_Temp; } else { TM1637_display_all(last_ind_Temp); } Изменено 16 февраля, 2020 пользователем MasterElectric 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
ART_ME Опубликовано 16 февраля, 2020 Автор Поделиться Опубликовано 16 февраля, 2020 (изменено) @MasterElectric , не понял... Загнать его под else? Изменено 16 февраля, 2020 пользователем ART_ME 0 Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта. Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Dar Daria Опубликовано 13 марта, 2020 Поделиться Опубликовано 13 марта, 2020 Доброго времени суток. Возможно кто-то имел опыт подключения термодатчика DS18B20 и сможет мне что-нибудь подсказать. Пытаюсь подключить путём ногодрыга: инициализирующий импульс с порта идёт, но датчик не отвечает. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mail_robot Опубликовано 13 марта, 2020 Поделиться Опубликовано 13 марта, 2020 ну значит не факт что датчик вообще рабочий. Особенно если покупался на али. И в таком случае вообще не факт что это 18В20, а не какой нибудь С1815 0 Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergey Kuchumarov Опубликовано 29 марта, 2020 Поделиться Опубликовано 29 марта, 2020 Уважаемые Коллеги! Буду очень благодарен за толковый совет... А проблема вот какая. Решил плотно заняться STM32 и, вероятно, сразу же сделал серьёзную ошибку. Подразумевая, что так как все процессоры STM32 на уровне топологии и команд совместимы сверху вниз, купил в качестве объекта исследования плату Nucleo STM32H7ZI2 ! А тут ещё и CubeIDE 1.3 подоспел. Итог... После некоторых мучений установил IDE, но с ним как-то неровно. Шаблон генерится, но попытка двинутся дальше приводит к сообщению о необходимости update! Кликаешь по ссылке … Промаргивает быстро какой-то экран... И... тишина... У меня НИКАКОЙ по сути опыт с этой платформой, но слабеньким своим умишком я понимаю, что НЕПРАВИЛЬНО НАСТРОЕНА СРЕДА РАЗРАБОТКИ. Но вот КАК ЕЁ НАСТРОИТЬ.?.. У меня что-то совсем нет понятия, как двигаться и в каком направлении. Тут недавно наткнулся на некую базу документов от STM. Так там некоторый STM32H7xx Pack в архиве занимает более 1ГБ. Распаковал и ещё больше запутался, рассматривая содержимое папок! Не бросайте, подскажите, как настроить среду... Какие файлы и в какие папки поместить, чтобы скомпилировать хотя бы самый простой учебный проект с использованием , скажем GPIO. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterElectric Опубликовано 30 марта, 2020 Поделиться Опубликовано 30 марта, 2020 (изменено) Это та нуклео что на 2 ядрах? Ну да для изучения с нуля это вы погорячились, если там обычный H743 то проблем быть не должно. Паки качает сама среда в свой репозиторий. У меня 1.3 проблем не возникло и ст-линк 3 обновился нормально. мб русские буквы в путях? Изменено 30 марта, 2020 пользователем MasterElectric 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 10 апреля, 2020 Поделиться Опубликовано 10 апреля, 2020 Здравствуйте! STM32F407GT Регистр GPIOx_OSPEEDR для конфигурации скорости тактирования портов. Прошу пояснить в каком случае какие скорости выбирать, как это отражается в конфигурации МК на аппаратном уровне. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mail_robot Опубликовано 10 апреля, 2020 Поделиться Опубликовано 10 апреля, 2020 это выразается в количестве цифрового шума от переключения порта. Выше скорость, больше шума. Обьяснение по рабоче-крестьянски. На самом деле оно очень длинное и описано в каком то даташите, номер которого лень вспоминать 0 Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух Ссылка на комментарий Поделиться на другие сайты Поделиться
alex---1967 Опубликовано 12 апреля, 2020 Поделиться Опубликовано 12 апреля, 2020 Всем привет! Не кидайтесь табуретками в начинающего... Осваиваю NUCLEO-G431KB (stm32G431). Сразу скажу, что не собираюсь быть крутым программистом, Nucleo приобрел, главным образом, для одной чисто прикладной задачи. Для начала в Arduino IDE попробовал, скачав соответствующие библиотеки, - вроде все работает. Но скорость работы, в частности АЦП, очень низкая - 90мкс/сэмпл. Пробовал установить Keil, IAR, STM32CubeIDE, но они требуют 64 разрядную виндовс... Поставил STM32CubeMX - ругается на 32-разрядную Jawa и не гарантирует нормальной работы, но вроде работает.. Пока делаю так - в STM32CubeMX делаю проект, компилирую, из папки исходников беру main.c и вставляю в Arduino IDE. Эта IDE ругается на #include "main.h" и на кусок кода, я так понимаю, обработчик ошибок. Удаляю эти куски, все работает... Вот вопрос 1 - что с этим делать? Дальше. В частности, сейчас задача - сделать оцифровку входного сигнала с максимсальной частотой. Хочу настроить АЦП для работы в режиме dual Interleaved mode , но работает почему-то только ADC1. Что может быть, как проверить? Новый текстовый документ (2).txt 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 13 апреля, 2020 Поделиться Опубликовано 13 апреля, 2020 Здравствуйте! Осваивал метод bit-band применительно к портам. В регистре GPIOx_ODR удалось сбросить бит, но не удаётся его установить в чём подвох? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterElectric Опубликовано 15 апреля, 2020 Поделиться Опубликовано 15 апреля, 2020 @Скептик Какой МК? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 16 апреля, 2020 Поделиться Опубликовано 16 апреля, 2020 Спасибо, с этим уже разобрался. Кривые руки, точнее, мозг. Обычная невнимательность и неаккуратность. МК STM32VGT6. Следующий вопрос: внутренняя периферия, к которой относится SysTick, не имеет bit-band адресации? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mail_robot Опубликовано 16 апреля, 2020 Поделиться Опубликовано 16 апреля, 2020 3 часа назад, Скептик сказал: bit-band где ты это слово взял? 0 Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух Ссылка на комментарий Поделиться на другие сайты Поделиться
LiVit Опубликовано 17 апреля, 2020 Поделиться Опубликовано 17 апреля, 2020 (изменено) Bit-banding is a term that ARM uses to describe a feature that is available on the Cortex M3 and M4 CPU cores. Basically, the device takes a region of memory (the Bit-band region) and maps each bit in that region to an entire word in a second memory region (the Bit-band Alias Region). Вот здесь хорошо расписано. Изменено 17 апреля, 2020 пользователем LiVit 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterElectric Опубликовано 18 апреля, 2020 Поделиться Опубликовано 18 апреля, 2020 не имеет 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 15 июня, 2020 Поделиться Опубликовано 15 июня, 2020 Привет! Новый вопрос от начинающего ассемблерщика. МК STM32F407VGT6. Не могу включить RTC. Алгоритм такой: 1. Включение тактирования GPIOC: В регистре RСC_AHB1ENR бит GPIOCENR = 1 2. Выбор назначения пинов PC14, PC15 как альтернативной функции: Регистр GPIOC_MODER = 0xA000 0000 = 0b1010 0000 0000 0000 0000 0000 0000 0000 3. Выбор номера альтернативной функции для пинов PC14, PC15: Регистр GPIOC_AFRH = 0xFF00 0000 4. Выбор источника тактирования RTC от LSE: В регистре RСC_BDCR биты RTCSEL[1:0] = 01; 5. Включение тактирования LSE: В регистре RСC_BDCR бит LSEON = 1; 6. Включение тактирования RTC: В регистре RСC_BDCR бит RTCEN = 1; 7. Снятие блокировки изменения регистров RTC: В регистр RTC_WPR записываю 0x00CA, затем 0x0053; 8. Включение режима инициализации RTC: В регистре RTC_ISR бит INIT = 1; 9. Циклически проверяю включение режима инициализации RTC: Читаю из регистра RTC_ISR флаг INITF. Флаг равен 0, режим инициализации не включается. Подскажите, где ошибка. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 15 июня, 2020 Поделиться Опубликовано 15 июня, 2020 Забыл пункт 6.2 Циклическая проверка включения LSE: Читаю из регистра RCC_BDCR флаг LSERDY, пока он не установится в 1. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
snn_krs Опубликовано 15 июня, 2020 Поделиться Опубликовано 15 июня, 2020 В файле stm32f4xx_rtc.c в самом начале подробно описана последовательность запуска часов. Сначала надо разрешить доступ к Backup Domain ##### Backup Domain Access ##### =================================================================== [..] After reset, the backup domain (RTC registers, RTC backup data registers and backup SRAM) is protected against possible unwanted write accesses. [..] To enable access to the RTC Domain and RTC registers, proceed as follows: (+) Enable the Power Controller (PWR) APB1 interface clock using the RCC_APB1PeriphClockCmd() function. (+) Enable access to RTC domain using the PWR_BackupAccessCmd() function. (+) Select the RTC clock source using the RCC_RTCCLKConfig() function. (+) Enable RTC Clock using the RCC_RTCCLKCmd() function. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 15 июня, 2020 Поделиться Опубликовано 15 июня, 2020 Да я на ассемблере пишу, не на СИ. Пункт 7, 8 как раз и есть разрешение доступа к регистрам RTC (документ AN 3371). Попробовал от LSI, такая же беда. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
snn_krs Опубликовано 15 июня, 2020 Поделиться Опубликовано 15 июня, 2020 37 minutes ago, Скептик said: Пункт 7, 8 как раз и есть разрешение доступа к регистрам RTC Это совсем не то. Сначало надо включить Backup Domain в регистре PWR_CR установить бит DBP. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 15 июня, 2020 Поделиться Опубликовано 15 июня, 2020 Нашёл в RM0090 описание PWR_CR, бит DBT. Установил вперёд всего . Не помогло. Продолжаю разбираться... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 16 июня, 2020 Поделиться Опубликовано 16 июня, 2020 Как всегда - невнимательность. Забыл затактировать контроллер питания - бит RCC_APB1ENR_PWREN. snn_krs, огромное спасибо за подсказку ! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Скептик Опубликовано 16 июня, 2020 Поделиться Опубликовано 16 июня, 2020 Новая проблема - не могу организовать прерывание от RTC по будильнику. Делаю так: 1. Определяю адрес прерывания от RTC в таблице векторов: По адресу 228 записываю адрес обработчика прерываний + 1; 2. Разрешаю прерывания от RTC (41-я линия): Регистр NVIC_ISER1 = 0x0200; 3. Устанавливаю время тревоги по будильнику A каждый день в 00:00:00 : Регистр RTC_ALRMAR = 0x8000 0000; 4. Включаю будильник A: Бит RTC_CR_ALRAE = 1; 5. Разрешение прерываний от будильника A: Бит RTC_CR_ALRAIE = 1. Прерывания не происходит. Подскажите, что не так? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth_Vader Опубликовано 16 июня, 2020 Поделиться Опубликовано 16 июня, 2020 15.06.2020 в 13:50, Скептик сказал: Да я на ассемблере пишу, не на СИ @Скептик ради чего такие мучения с ассемблером на STM32? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.