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

STM32 для чайника


ART_ME

Рекомендуемые сообщения

Сделал вот это, все равно моргает. :huh:

    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;

 

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

@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);		
	}

 

Изменено пользователем MasterElectric
Ссылка на комментарий
Поделиться на другие сайты

@MasterElectric , не понял... Загнать его под else?

 

 

Изменено пользователем ART_ME

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Доброго времени суток. Возможно кто-то имел опыт подключения термодатчика DS18B20 и сможет мне что-нибудь подсказать. Пытаюсь подключить путём ногодрыга: инициализирующий импульс с порта идёт, но датчик не отвечает.  

image.png

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

ну значит не факт что датчик вообще рабочий. Особенно если покупался на али. И в таком случае вообще не факт что это 18В20, а не какой нибудь С1815

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

 Уважаемые Коллеги!

Буду очень благодарен за толковый совет...

А проблема вот какая. Решил плотно заняться STM32  и, вероятно, сразу же сделал серьёзную ошибку. Подразумевая, что так как все процессоры  STM32 на уровне топологии и команд совместимы сверху вниз,  купил в качестве объекта исследования плату Nucleo STM32H7ZI2 ! А тут ещё и CubeIDE 1.3 подоспел. Итог...

После некоторых мучений установил IDE, но с ним как-то неровно. Шаблон генерится, но попытка двинутся дальше приводит к сообщению о необходимости  update!  Кликаешь по ссылке … Промаргивает быстро какой-то экран... И... тишина...

У меня НИКАКОЙ по сути опыт с этой платформой, но слабеньким своим умишком я понимаю, что НЕПРАВИЛЬНО НАСТРОЕНА СРЕДА РАЗРАБОТКИ. Но вот КАК ЕЁ НАСТРОИТЬ.?.. У меня что-то совсем нет понятия, как двигаться и в каком направлении. Тут недавно наткнулся на некую базу документов от STM. Так там некоторый STM32H7xx Pack в архиве занимает более 1ГБ.  Распаковал и ещё больше запутался, рассматривая содержимое папок!

Не бросайте, подскажите, как настроить среду... Какие файлы и в какие папки поместить, чтобы скомпилировать хотя бы самый простой учебный проект с использованием , скажем  GPIO.

Ссылка на комментарий
Поделиться на другие сайты

Это та нуклео что на 2 ядрах? Ну да для изучения с нуля это вы погорячились, если там обычный H743 то проблем быть не должно. Паки качает сама среда в свой репозиторий. У меня 1.3 проблем не возникло и ст-линк 3 обновился нормально. мб русские буквы в путях?

Изменено пользователем MasterElectric
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Здравствуйте!

STM32F407GT

Регистр GPIOx_OSPEEDR для конфигурации скорости тактирования портов.

Прошу пояснить в каком случае какие скорости выбирать, как это отражается в конфигурации МК на аппаратном уровне.

Ссылка на комментарий
Поделиться на другие сайты

это выразается в количестве цифрового шума от переключения порта. Выше скорость, больше шума. Обьяснение по рабоче-крестьянски. На самом деле оно очень длинное и описано в каком то даташите, номер которого лень вспоминать

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Всем привет!
Не кидайтесь табуретками в начинающего...
Осваиваю 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

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте!

Осваивал метод bit-band применительно к портам. В регистре GPIOx_ODR удалось сбросить бит, но не удаётся его установить в чём подвох?

Ссылка на комментарий
Поделиться на другие сайты

Спасибо, с этим уже разобрался. Кривые руки, точнее, мозг. Обычная невнимательность и неаккуратность. МК STM32VGT6.
Следующий вопрос: внутренняя периферия, к которой относится SysTick, не имеет bit-band адресации?

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Скептик сказал:

bit-band

где ты это слово взял?

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

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).

Вот здесь хорошо расписано.

Изменено пользователем LiVit
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Привет!

Новый вопрос от начинающего ассемблерщика. МК 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, режим инициализации не включается.

Подскажите, где ошибка.

Ссылка на комментарий
Поделиться на другие сайты

В файле 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.

 

Ссылка на комментарий
Поделиться на другие сайты

Да я на ассемблере пишу, не на СИ. Пункт 7, 8 как раз и есть разрешение доступа к регистрам RTC (документ AN 3371).

Попробовал от LSI, такая же беда.

Ссылка на комментарий
Поделиться на другие сайты

37 minutes ago, Скептик said:

Пункт 7, 8 как раз и есть разрешение доступа к регистрам RTC

Это совсем не то. Сначало надо включить Backup Domain в регистре PWR_CR установить бит DBP.

Ссылка на комментарий
Поделиться на другие сайты

Новая проблема - не могу организовать прерывание от 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.

Прерывания не происходит.

Подскажите, что не так?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Когда дверь открыта, сигнал блокирован, а когда закрыта - то на общих основаниях )) Реально полезное устройство, раньше все время бегали проверять, не вернулась ли домой собака. Фиг угадаешь. Потом заманивай ее...
    • То, что Я написал, Я подразумевал, что w25qReadPage читает реальный сектор w25 длиной 4096, если это не так, то нужно состыковывать w25qReadPage и disk_read.
    • ИК-датчик не подходит его котолапые видят. Ультразвуковой слышат, он их пугает. Рентгеновский ставить не будете сами понимаете почему Остается датчик давления. Тензодатчик 5кг 4шт + HX711 + дурина = проект выходного дня. Ну а ежли извращаться : под лоток резиновую грелку или камеру от велосипеда + шланг , в нее воду, к шлангу электро-контактный манометр.   
    • Всем привет! Я новичок. Помогите пожалуйста с ремонтом телевизора Электроника 25ТЦ-313Д ( а точнее Electroniсa C433, но как я понял это почти одинаковые модели). Предыстория такая. Сам телевизор был до меня передалан в монитор для спектрумов, все лишнее для приема каналов в нем отсутсвует, только подавай сигнал RGB и синхронизацию, в дальнейшем я и планирую его так и использовать. Когда он у меня появился телевизор так себе работал, я перепаял все электролиты на новые, но особо ничего не изменилось, и он не мог поймать нормально картинку ( подавал с тюнера спутникового тв через SCART)  , на секунду устаканивалась а потом пропадала. Я попробовал поэксперементировать с блоком кадровой развертки (BKR - 10), также перепаивал там электролиты, проверял все диоды и транзисторы, потом попробовал поменять микросхемы. Поменяв микросхему КА174ХА11 на некоторое время стало лучше, картинка была не четкая не отрегулирована, но стояла на месте, и я начал крутить крутилки... Что то случилось и после моих экспериментов все заглохло. Телевизор при включении пищал, но не было накала кинескопа, и пропало изображение вообще. При этом грелся конденсатор на 1,5 кВ возле регулировки фокуса, выпаяв и проверив его оказалось что он превартился в резистор.  Пошарившись по плате еще поменял транзистор КТ815б, он превратился в диод. После этих манипуляций накал появился, и начала проявлятся слабая и тусклая картинка фона, и по середине вертикальная полоска широкая, иногда цветов радуги , иногда просто зеленая немного выделяющаяся из фона. При этом начал грется подстроечный резистор "центровка по горизонтали" (отметил его на схеме). Не знаю что дальше делать, кто что может подсказать в какую сторону двигаться, какие напряжения проверить, сам я не особо разбираюсь, и еще осциллографа нет, только тестер. Буду очень рад за помощь. Электроника_25тц-313д_схема.pdf
    • кто скачал версию (архив) BootLoader12.zip, прошу скачать его заново. в первом посте я заменил архив. к сожалению, после одного изменения функции записи флеши я допустил критическую ошибку. в результате при определенной длине прошивки маленький "хвост" прошивки не записывался. я проверял на других файлах, где не было этого "обрезания". а сейчас на одном файле столкнулся с этой ошибкой.
    • @Сергей Азиатский , вы правы. Страдать фигнёй не запретишь.
×
×
  • Создать...