Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/ Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/
@abdurahmann12 жыл бұрын
в 46-летнем возрасте с нуля изучать уже тяжеловато, но я по некольку раз просматривая кадры, периодически останавливаю воспроизведение и в Атмел студио7 набираю код. Перепроверяю по многу раз, и всё равно ошибки типа скобок, точек с запятой и т.п. Начал теряться в коде уже в начале уроков. Но решил с самого начала набрать коды для всех уроков и осуществлять на практике. Собрал схему "в железе", всё работает как надо. В Протеусе тоже работает. Понял,что пока все досконально не визуализируешь в своей голове и наизусть не выучишь коды, то в уме не сформируются шаблоны для дальнейшего самостоятельного написания программ в своих личных вариациях и видоизменениях. Тяжелый длительный мозговой штурм. Но радость от осознания, что получается ни с чем не сравнима, это факт! Плюс тренировка памяти и внимания, чтобы с возрастом мозги не усыхали. Зато, возможно, к старости сохранишься в трезвом уме и твердой памяти. Автору огромный респект и поклон от всей души! Талант педагога и желание автора сделать этот мир светлее внушают оптимизм! Спасибо Вам !!!
@rostuslavb3524 Жыл бұрын
дякую за уроки! дуже докладно і просто рокладено все по поличках!!!
@kosmos84603 жыл бұрын
Хороший канал , ведущий однозначно толковый и понятливый для обучения 👍 жаль что больше не делает продолжения канала , спасибо за проделанный материал
@Тесла-ф3в3 жыл бұрын
Гениально. Си-это великий язык. Спасибо учитель!
@ЕвгенийБондарев-к7ф Жыл бұрын
Благодарю автора за столь прекрасный урок🎉
@zipri95763 жыл бұрын
Огромный респект тебе за уроки. И спасибо! Эти уроки помогли сделать курсовые многим студентам!!!
@kumelektronik3402 жыл бұрын
Для всех инфо : все работает, если вместо транзисторов в Proteuse использовать inverter(ы) без всяких сопротивлений.
@LoyalLuckyAngel5 жыл бұрын
Большое спасибо. Все было понятно и по существу.
@АндрейБерилло-и7ь4 жыл бұрын
Уроки бомбовские, спасибо огромное! На будущее есть маленькое замечание по стилю присвоению имени функции или переменной. В языках программирования принято давать названия на английском языке, например вместо слова chislo надо писать number, а вместо vse chisla - numbers or AllNumbers.
@TrasherFCR3 жыл бұрын
Я когда учился по книге прогерить на Visual Basic 6, автор книги еще рекомендовал указывать тип переменной в имени, например: intNumber.
@АлександрАкулин-ч5ъ2 жыл бұрын
@@TrasherFCR не подскажешь хороший учебник начинающему по авр на языке си?
@TrasherFCR2 жыл бұрын
@@АлександрАкулин-ч5ъ неа, я сам только этому учусь. Пока не нашел какой-либо книги. В основном тут на ютубе смотрю видосы.
@zakirmammadov91462 жыл бұрын
@@АлександрАкулин-ч5ъ Брайан Керниган и Деннис Ритчи Язык прогроммирование С второе издание
@ДенисЗахаров-ц6и Жыл бұрын
@@zakirmammadov9146 Большое спасибо за подсказку!!)
@vitalikdm06855 жыл бұрын
Спасибо за видео - как всегда по существу, четко и понятно. Вызов функции vse_chislo() не помешалобы вынести за цикл выше, чтобы не нагружать процессор лишними вычислениями
@splinterkab90074 жыл бұрын
А если нам нужно постоянно его считать?
@elektro-mechanic64974 жыл бұрын
Здравствуйте. Отличная подача материала - все подробно! Начал изучать МК, ваш канал для меня Лучший. Для вас это хобби или работа?
@avr_stm_pro29556 жыл бұрын
Спасибо!!!
@panzerlo34182 жыл бұрын
Когда-то давно я на Pascal как учебную задачу тоже писал программу на разделение по разрядам, и формирование на основе полученного номера римскими цифрами. Но это не для контроллеров, а как приложение.
@bozhkou4 жыл бұрын
В цикле, делим на 10, количество делений = количеству разрядов, остаток от деления записываем в разряд. в пару строк и в одном цикле. Все что нужно менять, это количество разрядов и число которое хотим отобразить
@АлексейКлимов-г4з5 жыл бұрын
Скажите, а возможно в данной программе дизассемблировать hex файл? Чтобы получить сам текст программы.
@ВаськаСмирнов-р9ъ4 жыл бұрын
У неня один вопрос сколько времени(сколько тактов процессора) выполняется функция vse_chislo(). Если вся задача МК выводить 4 разряда, то нет вопросов.
@DevilByte Жыл бұрын
привет! являюсь обладателем твоих курсов. Застрял как раз на 7 уроке. ПРоблема в следующем - когда в while(1) указываю функцию vse_chislo(1234), то при попытке присвоить массиву любое значение разряда, дисплей просто не загорается, если закомментировать vse_chislo(1234), то данные из разрядов нормально дают нули, а данные из массива нормально отображаются
@Perepodvyvert_s_perevorotom6 жыл бұрын
Спасибо.
@aleksivanov91374 жыл бұрын
Спасибо.Класс!!!
@sskdll5 жыл бұрын
А почему в качестве переменной массива использована переменная unsigned int, а не unsigned char? Это потому что сумма значений чисел в массиве больше чем может принимать переменная char?
@9163633 жыл бұрын
А почему, при разбиении числа 1987 на сегменты, нельзя было применить преобразование в массив символов строки? Или ... В цикле While N > 0 {N%10; N = int(N/10)} ... ну как-то так? Т.е. получать числа не со станшего разряда, а с младшего.
@ДанькоГусаківский6 жыл бұрын
Цікаве повчальне відео. Від мене лайк.
@dtuhfscbhy69573 жыл бұрын
не понял а зачем задержку вообще ставить 3мсек? если не ставить то загорится на 1милион секунды потом через 4мил сек опять загорится, по идее это тоже самое что и шим, должно быть видно
@НариманСимаков-я6ъ5 жыл бұрын
при 10 мс в протеусе нормально показывает
@splinterkab90074 жыл бұрын
Да и без задержек тоже нормально.
@АртемЭлектроника5 жыл бұрын
1987 -- это год вашего рождения))))???? хоть и смонтирован кадр к кадру))) все равно очень понятно и приятно смотреть) 👌
@АлексейНаумов-д5ъ3 жыл бұрын
Почему нельзя перевести в строчку и использовать символы по порядку в этой строке?
@ale-zhu Жыл бұрын
Потому что это медленно
@RadFinder4 жыл бұрын
Блин вот именование функций и переменных как то совсем не в тему. Было бы логичнее функцию назвать "разбивкой" а переменную "все_число".
@eternal_wanderer_ru6 жыл бұрын
Зачем тип int для числа от 0-9?
@denpar54506 жыл бұрын
atmel studio почему-то не понимает тип byte. unsignet int понимает. да и в ролике сказано, что целочисленный тип переменной отбрасывает сотые и десятые от получившегося числа,в результате матем.вычислений. а как раз тут не нужны всякие дроби.
@eternal_wanderer_ru6 жыл бұрын
@@denpar5450 , Для этого есть uint8_t
@denpar54506 жыл бұрын
@@eternal_wanderer_ru благодарю,за совет.
@TrasherFCR3 жыл бұрын
@@denpar5450 О! разбирающийся человек. Скажите, пожалуйста, почему тип переменной unsigned int, а не просто int ? Что за unsigned ? Что это меняет?
@denpar54503 жыл бұрын
@@TrasherFCR int может содержать значения от -32767 до 32767, unsigned int от 0 до 65535. Благодарю Вас ,за восхищение моими безграничными знаниями.
@IvanFedulov3 жыл бұрын
хорошие уроки у вас, но транслит в именах переменных и функций - просто кровь из глаз.
@KONARTIK12 жыл бұрын
Обнуляйте все порты В, и будет вам индикация.
@Фрингл3 жыл бұрын
Них#я не понял
@ale-zhu Жыл бұрын
Как же ты не "любишь" циклы... #include #define F_CPU 1000000UL #include #include #define DELAY_MS 300 #define NUMBER_PORT PORTD #define PARTNUM_PORT PORTB #define byte unsigned char byte numbers[10] = { // цифры от 0 до 9 0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f }; byte part[4] = {0}; void parse_value(unsigned int value) { byte *ptr = part; for (int i = 0;i
@upgradeanimate5314 Жыл бұрын
Спасибо за цифры, впадлу было вписывать, тут нашёл