Программирование МК AVR. УРОК 28. SPI. Драйвер LED MAX7219

  Рет қаралды 8,514

narod stream

narod stream

Күн бұрын

Пікірлер: 27
@ebjikkolu4757
@ebjikkolu4757 5 жыл бұрын
Спасибо за урок .Угарнул сам над собой .Писал самостоятельно библиотеку для похожего модуля,но на tm1638.Я разбивал 10млн (максимум число ,которое вмещается в 8 индикаторов) таким образом : uint8_t division[8]; division[0]=value/10000000; division[1]=value/1000000%10; division[2]=value%1000000/100000; division[3]=value%100000/10000; division[4]=value%10000/1000; division[5]=value%1000/100; division[6]=value%100/10; division[7]=value%10; Это ,конечно ,работает .Но когда я увидел что это все можно было сделать двумя строчками кода ,я удивился насколько я все усложнил
@Максим-р6у1щ
@Максим-р6у1щ 6 жыл бұрын
Спасибо за труд, информация бесценна.
@ДенисЗахаров-ц6и
@ДенисЗахаров-ц6и 5 ай бұрын
Спасибо за урок!
@shurfly6961
@shurfly6961 3 жыл бұрын
Спасибо за труд ваш
@m215ak
@m215ak 8 жыл бұрын
Спасибо;)) очень все подробно, как всегда:))) жду следующее видео
@МарчелУнцеску
@МарчелУнцеску 4 жыл бұрын
Спасибо! В протеусе все работает. Чтобы цифры не моргали( в 7 моргали) в интенсивность поставил 0хF , то есть максимум.
@alexapod
@alexapod 8 жыл бұрын
Когда делал проект на Raspberry pi2, то использовал mcp3208. Восьми канальное АЦП. В малине не как в дуньке, ацп нет. Но цена микрухи впечатляет. Поэтому впоследствии цеплял мегу восьмую и не парился, т.к мега выполняла свою работу и просто отправляла данные малинке (и не только данные ацп). Проект.если что- монитор монтажника слаботочки и видео.Правда писал и на Python и на Си (прошивку контроллера). Тоже не всегда удобно. Уроки зачетные. Спасибо. Я много повторил и довольно много узнал.
@narodstream552
@narodstream552 8 жыл бұрын
+VicSan Спасибо за столь высокую оценку!
@DrargonsM
@DrargonsM 8 жыл бұрын
отличное видео! развивайся ! Успехов и лайк!
@ДмитрийЕршов-н9к
@ДмитрийЕршов-н9к 5 жыл бұрын
Send_7219(0x0A,0x07);//интенсивность В протеусе чтобы заработал не понижайте яркость.
@electrokitay1949
@electrokitay1949 6 жыл бұрын
Спасибо! Работает в протеусе только высвечивает -2018
@dmitrijcuprina1332
@dmitrijcuprina1332 2 жыл бұрын
Скажите, пожалуйста, как вывести разделительную точку, что бы она существовала самостоятельно. Спасибо.
@wickedtorpedo75
@wickedtorpedo75 3 жыл бұрын
как управлять 8x8 матричный светодиодом с помощю max7219?
@abdulqadirahmedli610
@abdulqadirahmedli610 3 жыл бұрын
Siz pcf2100ct proqramlaya bilərsiniz? Mən inanmıram. Çətin ki bacara bilərsiniz.
@ВиталийМагалясов
@ВиталийМагалясов 7 жыл бұрын
Добрый день! Подскажите пожалуйста как работать с десятичными дробями. Например, нужно вывести на индикатор десятичную дробь 37.0927. Я использую функцию modf, но дробная часть получается вот такая 0.09270096. Так как индикатор способен выдать максимальное число с 7-ю знаками после запятой умножаем дробную часть на 10000000/100 чтобы преобразовать в целое. Вроде бы цифры 096 не попадают в результат, но я думаю что может возникнуть ошибка в другой ситуации.
@makcimenuka7904
@makcimenuka7904 5 жыл бұрын
Отлично, но не совсем понял Function send-number () Допустим n=867 На первом итерации 1. n%10 -> send 7 n = 86 2. n%10 -> 6 n = 8 3. вот на третем итерации интересно 8%10 остаток какой будет?? Если допустим 8 то тогда 88%10 остаток тоже 8???? 8/10 здесь наверно 0 и выйдем с цикла.
@ebjikkolu4757
@ebjikkolu4757 5 жыл бұрын
Да,цикл работает пока условие в while истина .Истина это всё что больше ноля . Вот для примера цикл for ,если тебе будет проще так понять: void numbers(char position,long int num) { for (char i = position; num>0 ; position++) //1-счетчик равен позиции,2-условие пока цифра больше ноля(иначе выход из цикла),3 инкремент позиции { if (position>MAX_DIG)position=1;//если позиция больше 8 ,то первый и последующие знаки переносятся на первую позицию(аля бегущая строка) number(position, num%10);//аналог функции send ,принимает одну цифру и позицию для нее num /= 10; } } ну если уж совсем захотеть выпендриться то так: void numbers(char position,long int num) { for (; num>0 ;) //1-счетчик не определен,2-условие пока цифра больше ноля(иначе выход из цикла),3- каждую итерацию цикл ничего не делает { if (position>MAX_DIG)position=1; number(position, num%10); num /= 10; position++;//инкремент позиции внутри цикла } }
@LEDCUSTOMSUFA
@LEDCUSTOMSUFA 7 жыл бұрын
Здравствуйте! Подскажите пожалуйста, а как моргать точкой в определенном сегменте, если включен режим декодирования?
@narodstream552
@narodstream552 7 жыл бұрын
Здравствуйте! Зажигание точки не зависит от режима. Просто подмешиваете точку к символу разряда, например вот таким способом Send_7219(REG, Symbol | 0x80);
@LEDCUSTOMSUFA
@LEDCUSTOMSUFA 7 жыл бұрын
Спасибо!
@aidagamemnon
@aidagamemnon 7 жыл бұрын
Зачем подключили резисторы? Эта микросхема сама управляет током сегментов дисплея и даже есть регистр управления интенсивностью свечения.
@narodstream552
@narodstream552 7 жыл бұрын
В смысле какие резисторы? Поконкретнее пожалуйста.
@Dmitrii82
@Dmitrii82 6 жыл бұрын
Если драйвер ht1621 написание будет складываться аналогично?
@narodstream552
@narodstream552 6 жыл бұрын
К сожалению, с такими не работал.
@ivanrusev2270
@ivanrusev2270 5 жыл бұрын
а если мне нужно только 4 7 сегментника?
@narodstream552
@narodstream552 5 жыл бұрын
В некоторых уроках по STM мы управляли и четырьмя и каждой половиной по отдельности. Не помню только в каких, в каких-то связанных с передачей данных, то ли по Bluetooth, то ли по NRF. Думаю, даже если Вы не занимаетесь программированием STM, принцип всё равно поймёте.
@ivanrusev2270
@ivanrusev2270 5 жыл бұрын
@@narodstream552 я занимаюсь AVR.К STM присматриваюсь
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
Linux для Программистов: Зачем и Кому Он Нужен? 🤔
25:18
Александр Савченко
Рет қаралды 3,9 М.
Как устроен PYTHON
37:44
про АйТи | IT Pro
Рет қаралды 21 М.
AVR 53# Динамическая индикация.
21:00
Andrey Frolov
Рет қаралды 6 М.