Спасибо Александр за Ваш труд! Уроки очень помогают разобраться в работе с микроконтроллерами. Объяснение доступным языком это для меня самое главное. Плюс ко всему очень интересно видеть в некоторых уроках не стандартные решения и подходы, что позволяет увеличить производительность и уменьшить появление глюков в программах. С нетерпением жду следующее видео.
По поводу нумерации строк На панели управления Debug - Options and Settings - Кликаеш на Text Editor - разворачивается список и кликаеш на All Languages (не разворачиваете). С права в низу в графе Display ставите галочку Line numbers . Надеюсь, доходчиво объяснил
Конечно проще использовать for. Но я хотел показать как реализовать без всяких зацикливаний. Тем самым программа может паралельно выполнять другие задачи.
Здравствуйте,всегда с удовольствием смотрю ваши лекции, все прекрасно и доходчиво как для новичка.Спасибо вам огромное. Но столкнулся с одним для меня очень весомым недостатком в ваших уроках, очень плохая видимость текста программ во многих лекциях, практически ничего не видно.Вынужден искать подобные уроки у других авторов.Еще раз спасибо огромное,лайки и подписка.
Действительно, все очень классно описано, спасибо большое. Просьба: вопрос может быть длительным, может хоть Вы расскажите как грамотно работать с USART, используя прерывания, обрабатывая терминальные команды "AT ....", могу накидать терминал для видео урока, нужного дизайна)) в vs2010
Я планировал делать по USART, SPI,I2S,и USB даже начал подготовку к данным урокам. В процессе подготовки данных материалов понял, что рассказывать и показывать придется безумно много. А все упирается в свободное время. По интерфейсам я обязательно как доделаю, выложу, вот только это будет нескоро. Поскольку планировал по возможности охватить материал по максимуму. Что касается терминала, то от помощи не откажутся. (думал прикольный написать сам в Delphi)
Александр Писанец по USB это действительно долго, если речь не идет о FT232 или PL2303, и это мне кажется должно быть как-то отдельно. По чему я спросил про USART? по сути это самый простой способ связи контролера с ПК, Но нет подходящих примеров, я сам когда то такое делал в Algorithm Builder, но точно не в терминальном режиме. Мой вопрос был скорее не по USART, тем более что вы уже много рассказали про то как работать с внутренними регистрами , описывая порты, таймеры, а по логике работы со строками: То есть строку надо принять, по аналогии с ELM327 признаком конца строки-байт 0h0D, куда то сохранить, распарсить (откинуть AT, распознать команду, данные). В общем сделать это все грамотно, затронув сразу 2 темы: USART и работа со строками. Что касается I2S и SPI мне кажется это тоже разные темы. У меня кстати есть для SPI исходник SD+FAT32)) a-studio 4.xx (язык С)
Александр Писанец Пока чай наливал вспомнил еще)) По USB, много я по нему прочитал довольно сложная тема, с точки зрения программиста мне кажется не цели сообразно использовать USB. Тут 3 варианта. 1) FT232 2) HID устройство 3) помимо реализации USB необходимо писать драйвер. 1) это по сути тема USART 2) на мой взгляд тут мало применения (клава мыш джойстики), ну может быть тут кому и интересно будет, мне кажется много возни, мало толку. 3) тут в обще весело, это как из гранатомета стрелять по воробьям. В обще в этом смысла не вижу, для реализации нужны знания написания драйверов а это уже не мало, да и девайс получится не простым в плане кода. По сути на сегодняшнее время, народ уже отказывается от проводов переходя на WIFI и bloothooth, учитывая что сейчас в продаже есть много дешевых bloothooth to USART а все ноуты оборудованы bloothooth это опять возвращает нас к теме USART. извините за риторику...
Помогите мне с проблемой! Взял код с данного урока и импортировал его на Мегу8 и настроил внутренний тактовый генератор на 8Мгц. Функцию Klaviatura(); кинул на Timer0. Проблема в следующем: всё это дело работает, если при делитель таймера0 = 8. При остальных(64,256,1024)- не работает. Цифры я вывожу на ЖК дисплей.
А как вы думаете? Постоянно сканить клавиатуру - это не растрата ресурсов?. Если сделать запуск счётчика по внешнему прерыванию? и вырубать его как зафиксили отжатие?. Я просто пытаюсь так сделать на STM32, но пока не получается)). При удержании кнопки символы на экране печатаются пока не отожмёшь)
Уважаемый Александр Иванович,спасибо за ваши труды,я по ним пытаюсь познавать мир контроллеров, пока трудно-)),но очень хочется.Получается что воспользоваться программой не получится на практике ,она не рабочая без написания не достающего куска -?А где можно подсмотреть-)) готовый. Не получается сбросить 6 бит да еще и так что б он остался в цифре.Может в другом уроке было ,я что то упустил.Заранее извиняюсь за вопрос ,В любом случае мои слова благодарности Вам.
+Александр Писанец. Александр Иванович, извиняюсь ,но после компиляции программа ни как не желает работать, я попробовал и Вами скомпилированный HEX-код(скаченный), поведение собранной макетной платы так же без дыхания-).Макетная плата и МК исправны(попробовал на другом варианте) .Причем и сами HEX-коды скаченный и мной скомпилированный сильно отличаются друг от друга ,хотя допускаю такое возможно....Главное результат видео урока Вами показанный, ни как не получается. Можно ли проверить выложенный Вами klava.rar. Заранее извиняюсь за вопрос.
+Александр Писанец Александр Иванович,добрый вечер простите что отвлекаю,скорее всего по пустяку для Вас-)) клавиатуру оживил следующими действиями: int main(void) { DDRB =0b11111111; PORTB=0b11111111; . . . while(1) { asm ("nop"); asm("cli"); if (Sifra & (1
Александр Писанец Спасибо за ответ, весь вечер провозился, дело в том, что при нажатии кнопки (или даже просто замыкании столбца на строку без диодов) столбец так и остается на логической "1", то есть как будто не видит нажатия кнопки.
Здравствуйте. можно ли сделать что б в sifra записывалось последовательное нажатие нескольких кнопок. К примеру, 11, 22.333....9999? Я только учусь Си avr. Логику понимаю но как реализовать на практике??? алгоритм если нажата 1 то sifra равен 1, если нажата 2 то sifra (который уже равен 1) умножается на 10 и прибавляется эта двойка, если нажата 7 то sifra ( который уже равен 12 ) умножается на 10 и прибавляется эта 7 в результате тест равен 127....
+Александр Писанец Да, но у меня не получается это реализовать. если я создаю переменную temp= sifra*10+sifra то у меня не получается 12 а 11, 22 и тд..
Александр, здравствуйте! Изучил, очередной ваш урок, и сразу загорелся избавиться от конденсаторов и диодов. МК меня просто завораживает тем, что в одиночку решает почти все задачи. Скорее всего конденсаторы можно не ставить, а отладить таймер. А вот диоды я в протеусе убрал. Весь порт настроен на вход и подтянут до 5в, а при опросе, я включаю опрашиваемый столбец на выход и ставлю 0. Все работает и нету ситуации с КЗ. На практике пока не могу проверить. Может я где то ошибся?
Здравствуйте. Поймите, я непросто так это все старался разжевать. Хотелось затронуть, пускай хоть малую, но все же часть ситуаций, которая может произойти. Я в протеусе не разу не отлаживал программы и сказать как там все будет работать не могу. Но в реальных устройствах, порой такие моменты возникают, о которых и подумать не мог.
Запорожская обл. г. Бердянск . Праектировал и паял сам. Платы заказует на заводе. Кстати на плате уже имеется много всяких примочек их просто не видно (планарные детали) монтаж двухсторонний.
Александр Писанец Ну он большой очень, имеет не эргономичный интерфейс, и в CodeVisionAVR очень удобный мастер есть, которым за минуту можно настроить периферию микроконтроллера и не выискивать где какой бит нужно поставить, также там присутствует куча библиотек например для работы с LCD экраном, тоже все очень просто и на достаточно высоком уровне программирования, не надо вдаваться в мелочи подробности. CodeVisionAVR сделан программистами микроконтроллеров для программистов, с учетом всех тонкостей.
Не могу сравнивать, не работал в CodeVisionAVR . Готовые библиотеки стараюся не использовать. Стараюся создавать свои гибкие и быстрые. Пока получается :) Знакомый работает в CodeVision тоже говорит что много библиотек. Мне они не нравятся, можно лишних команд.
Замучался, не понимаю... Отлаживаю поэтапно, отключаю частями, но вручную не могу выловить момент ошибки, почему по шагам всё хорошо, а запустив цикл в определенный момент в переменные записывается ахинея. Код не полный, но в "холостом режиме" должен работать и так, также смысл не в том, чтоб данный код заработал, главное разобраться где ошибка, чтобы не допускать в будущем, может кто из коментаторов поможет, время роли не играет. Код закомментирован достаточно неплохо, правда на укр., смысл кода в управлении самодельным станком для сетки "рабица", друг-самодельщик сейчас ваяет себе, ну и я решил сразу набивать руку на "прикладной задаче" Проект: webfile.ru/02104dfb5ba36588e4dc88027fbe9fa7
Александр Писанец Александр Николаевич, какие могут быть извинения?) Просить о бесплатном дебаге было бы настоящим свинством, уж лучше на новые уроки время потратьте, если оно появится, загрузил в надежде, что кто-то из опытных наткнется глянет, может бросится в глаза явная для него, но неизвестная для меня ошибка. Ведь я тоже изучаю Си по мере появления свободного времени, хотя да, какой-нить форум по программированию надо бы найти, чтоб доставать профессионалов своими глупыми ошибками)
Александр Николаевич, в атомарных операциях Вы рассказывали о возможном уходе МК на прерывание посреди выполнения кода и соответствующие этому сбои, а в симе это тоже реально? Проблема в следующем, написан код, конечно как любая первая написанная программа он далеко не идеален, но прошагивается прекрасно, со всеми возможными вариантами входящей информации на портах, с точкой останова на прерывании цикл тоже можно запускать раз 20, на нн-ый раз в переменных записывается черти-что, запуск цикла без точек останова идет нормально до опр. времени, то есть нажал паузу спустя 7-10 сек, опять запустил, и так с десяток раз или запустив на минуту времени, потом стоп, и всё та же история, при том порты не трогаю вообще, ошибки вылезают в "холостом режиме", один раз даже в только объявленную переменную записало ересь какую-то, к ней код физически не имел доступа(ту часть, что могла влиять на неё я закоментил на время разбирательств), поэтому я посчитал, что это глюк студии, но на днях пришли Меги, проверил "в железе", картина та же. Отловить ошибку интересно самому, но знать бы где копать...
Мне трудно чем то помочь вам не видя происходящего. Попробуйте отлавливать глюк поэтапно. Запретите прерывания и погоняйте код . Также разбейте вашу программу на части. В самом начале закоментируйте весь свой код, оставив небольшой минимум, его и отлаживаете. Убедившися в отсутствии проблем, раскоментируете следующий кусок кода и так далее. Конечно процесс отладки самый трудоемкий и конкретно что делать нужно отталкиваться от вашей написаной программы. Удачи вам.
Извините, но вы просто ужасно объясняете. На половине становится непонятно. Вы этим новичкам только мозги перекорежите! Зачем такие усложнения? Зачем так мозг насиловать? Куда проще есть варианты.
Причем тут проще или нет. Не всеже примеры делать на примитивном уровне. Нужно развивать свое мышление и понимать, как можно писать программы не на примитивном уровне и т. далее. Программы могут быть сложными и показать, как можно реализовать данный вариант, чтобы было время для других задач. Но, за ваше мнение спасибо :)
Я все понял. На уроках Александра впервые попробовал управлять МК (в протеусе пока что). И надо сказать ему спасибо, за то что он делает это для нас. Хотя на мой взгляд, было бы лучше составить логическую схему программы, и по ходу объяснений, добавлять код. Но хозяин - барин. Сделайте лучше него, желающих мало ;)
Спасибо Александр за Ваш труд! Уроки очень помогают разобраться в работе с микроконтроллерами. Объяснение доступным языком это для меня самое главное. Плюс ко всему очень интересно видеть в некоторых уроках не стандартные решения и подходы, что позволяет увеличить производительность и уменьшить появление глюков в программах. С нетерпением жду следующее видео.
По поводу нумерации строк На панели управления Debug - Options and Settings - Кликаеш на Text Editor - разворачивается список и кликаеш на All Languages (не разворачиваете). С права в низу в графе Display ставите галочку Line numbers . Надеюсь, доходчиво объяснил
Спасибо за Вашу подготовку и Ваш труд!
Класная работа! Все очень доступно и понятно. Ждем продолжения))) Успехов вам!!!
Всё доходчиво и понятно!!! Супер!!
Конечно проще использовать for. Но я хотел показать как реализовать без всяких зацикливаний. Тем самым программа может паралельно выполнять другие задачи.
Здравствуйте,всегда с удовольствием смотрю ваши лекции, все прекрасно и доходчиво как для новичка.Спасибо вам огромное. Но столкнулся с одним для меня очень весомым недостатком в ваших уроках, очень плохая видимость текста программ во многих лекциях, практически ничего не видно.Вынужден искать подобные уроки у других авторов.Еще раз спасибо огромное,лайки и подписка.
Действительно, все очень классно описано, спасибо большое.
Просьба: вопрос может быть длительным, может хоть Вы расскажите как грамотно работать с USART, используя прерывания, обрабатывая терминальные команды "AT ....", могу накидать терминал для видео урока, нужного дизайна)) в vs2010
Я планировал делать по USART, SPI,I2S,и USB даже начал подготовку к данным урокам. В процессе подготовки данных материалов понял, что рассказывать и показывать придется безумно много. А все упирается в свободное время. По интерфейсам я обязательно как доделаю, выложу, вот только это будет нескоро. Поскольку планировал по возможности охватить материал по максимуму.
Что касается терминала, то от помощи не откажутся. (думал прикольный написать сам в Delphi)
Александр Писанец
по USB это действительно долго, если речь не идет о FT232 или PL2303, и это мне кажется должно быть как-то отдельно. По чему я спросил про USART? по сути это самый простой способ связи контролера с ПК, Но нет подходящих примеров, я сам когда то такое делал в Algorithm Builder, но точно не в терминальном режиме.
Мой вопрос был скорее не по USART, тем более что вы уже много рассказали про то как работать с внутренними регистрами , описывая порты, таймеры, а по логике работы со строками: То есть строку надо принять, по аналогии с ELM327 признаком конца строки-байт 0h0D, куда то сохранить, распарсить (откинуть AT, распознать команду, данные). В общем сделать это все грамотно, затронув сразу 2 темы: USART и работа со строками. Что касается I2S и SPI мне кажется это тоже разные темы. У меня кстати есть для SPI исходник SD+FAT32)) a-studio 4.xx (язык С)
Александр Писанец
Пока чай наливал вспомнил еще))
По USB, много я по нему прочитал довольно сложная тема, с точки зрения программиста мне кажется не цели сообразно использовать USB. Тут 3 варианта. 1) FT232 2) HID устройство 3) помимо реализации USB необходимо писать драйвер.
1) это по сути тема USART
2) на мой взгляд тут мало применения (клава мыш джойстики), ну может быть тут кому и интересно будет, мне кажется много возни, мало толку.
3) тут в обще весело, это как из гранатомета стрелять по воробьям. В обще в этом смысла не вижу, для реализации нужны знания написания драйверов а это уже не мало, да и девайс получится не простым в плане кода.
По сути на сегодняшнее время, народ уже отказывается от проводов переходя на WIFI и bloothooth, учитывая что сейчас в продаже есть много дешевых bloothooth to USART а все ноуты оборудованы bloothooth это опять возвращает нас к теме USART. извините за риторику...
Возможно вы и правы.
Всех с Новым Годом.
Большое спасибо за уроки.
Не подскажите, как включить нумерацию строк в редакторе?
Спасибо, все получилось.
Спасибо за видео
Спасибо!!
Помогите мне с проблемой! Взял код с данного урока и импортировал его на Мегу8 и настроил внутренний тактовый генератор на 8Мгц. Функцию Klaviatura(); кинул на Timer0. Проблема в следующем: всё это дело работает, если при делитель таймера0 = 8. При остальных(64,256,1024)- не работает.
Цифры я вывожу на ЖК дисплей.
А как вы думаете? Постоянно сканить клавиатуру - это не растрата ресурсов?. Если сделать запуск счётчика по внешнему прерыванию? и вырубать его как зафиксили отжатие?. Я просто пытаюсь так сделать на STM32, но пока не получается)). При удержании кнопки символы на экране печатаются пока не отожмёшь)
Разве сканирование клавиатуры каким то процессам мешают. Времени мало все занимает та и смотря как писать программу. Решений много можно придумать.
Уважаемый Александр Иванович,спасибо за ваши труды,я по ним пытаюсь познавать мир контроллеров, пока трудно-)),но очень хочется.Получается что воспользоваться программой не получится на практике ,она не рабочая без написания не достающего куска -?А где можно подсмотреть-)) готовый. Не получается сбросить 6 бит да еще и так что б он остался в цифре.Может в другом уроке было ,я что то упустил.Заранее извиняюсь за вопрос ,В любом случае мои слова благодарности Вам.
+Владимир Стороженко Та вроде весь код есть.
+Александр Писанец. Александр Иванович, извиняюсь ,но после компиляции программа ни как не желает работать, я попробовал и Вами скомпилированный HEX-код(скаченный), поведение собранной макетной платы так же без дыхания-).Макетная плата и МК исправны(попробовал на другом варианте) .Причем и сами HEX-коды скаченный и мной скомпилированный сильно отличаются друг от друга ,хотя допускаю такое возможно....Главное результат видео урока Вами показанный, ни как не получается. Можно ли проверить выложенный Вами klava.rar. Заранее извиняюсь за вопрос.
проверю и сообщю
+Александр Писанец Александр Иванович,добрый вечер
простите что отвлекаю,скорее всего по пустяку для Вас-))
клавиатуру оживил следующими действиями:
int main(void)
{
DDRB =0b11111111;
PORTB=0b11111111;
.
.
.
while(1)
{
asm ("nop");
asm("cli");
if (Sifra & (1
+Александр Писанец Александр Николаевич,я извиняюсь за неправильное обращение Иванович сорь-)))
Подскажите пожалуйста, а как снять/проверить и записать в переменную подобным образом состояние только 1 пина на потру?
Если я правельно понял ваш вопрос, то можно так
Temp &=~(1
Александр Писанец Мне нужно проверить состояние 3 пина порта D и обработать как в вашем уроке. Я немного переделал ваш пример.
Temp &=~(1
В семуляторе нужно состояния пина порта менять в ручную.
Александр Писанец Менял по всякому в ручную, выполняет при любом состоянии и при любой настройке порта этот цикл полностью. Всегда заходит в if
Здравствуйте, программа работает в симуляторе Proteus, но не работает в железе, какие нужно использовать диоды на столбцах?
Программа полностью рабочая. Диоды любые.
Александр Писанец
Спасибо за ответ, весь вечер провозился, дело в том, что при нажатии кнопки (или даже просто замыкании столбца на строку без диодов) столбец так и остается на логической "1", то есть как будто не видит нажатия кнопки.
Подскажите пожалуйста, а схему отладочной платы сами разрабатывали?
Да.
@@АлександрПисанец а обзор на нее на канале есть (честно, пытался найти, допускаю что искать не умею)?
@@bozhkou Нет обзора.
Здравствуйте. можно ли сделать что б в sifra записывалось последовательное нажатие нескольких кнопок. К примеру, 11, 22.333....9999?
Я только учусь Си avr. Логику понимаю но как реализовать на практике???
алгоритм если нажата 1 то sifra равен 1, если нажата 2 то sifra (который уже равен 1) умножается на 10 и прибавляется эта двойка, если нажата 7 то sifra ( который уже равен 12 ) умножается на 10 и прибавляется эта 7
в результате тест равен 127....
+Азизбек Худайбердыев Так вы сами все расписали ) можно и так.
+Александр Писанец
Да, но у меня не получается это реализовать. если я создаю переменную temp= sifra*10+sifra то у меня не получается 12 а 11, 22 и тд..
Александр, здравствуйте!
Изучил, очередной ваш урок, и сразу загорелся избавиться от конденсаторов и диодов. МК меня просто завораживает тем, что в одиночку решает почти все задачи. Скорее всего конденсаторы можно не ставить, а отладить таймер. А вот диоды я в протеусе убрал. Весь порт настроен на вход и подтянут до 5в, а при опросе, я включаю опрашиваемый столбец на выход и ставлю 0. Все работает и нету ситуации с КЗ. На практике пока не могу проверить. Может я где то ошибся?
Здравствуйте. Поймите, я непросто так это все старался разжевать. Хотелось затронуть, пускай хоть малую, но все же часть ситуаций, которая может произойти. Я в протеусе не разу не отлаживал программы и сказать как там все будет работать не могу. Но в реальных устройствах, порой такие моменты возникают, о которых и подумать не мог.
Я правильно понимаю, если надо сканить 10 раз в течении 50мс, то в прерывание закидываемся каждые 5 мс?
да
Александр. отладочная плата ваше творение или покупная?
Колега по работе специально для уроков подогнал. А вопще он их продает по цене 500гр.
интересно я бы приобрел а в каком вы городе ? он их сам делает?
Запорожская обл. г. Бердянск . Праектировал и паял сам. Платы заказует на заводе. Кстати на плате уже имеется много всяких примочек их просто не видно (планарные детали) монтаж двухсторонний.
Александр, а в какой программе вы делаете анимированные рисунки к уроку?
AnimeStudio
А реально матрицу компьютерной клавы перепрограммировать по своему?
Я уже так и не вспомню, но переназначить клавиши можно.
Почему вы пользуетесь не CodeVisionAVR? Все его хвалят, что в нем не так? Отладчика нет?
А чем плох Atmel Studi?. Мне лично нравится. Я не работал и желания нет переходить на CodeVisionAVR.
Александр Писанец Ну он большой очень, имеет не эргономичный интерфейс, и в CodeVisionAVR очень удобный мастер есть, которым за минуту можно настроить периферию микроконтроллера и не выискивать где какой бит нужно поставить, также там присутствует куча библиотек например для работы с LCD экраном, тоже все очень просто и на достаточно высоком уровне программирования, не надо вдаваться в мелочи подробности. CodeVisionAVR сделан программистами микроконтроллеров для программистов, с учетом всех тонкостей.
Не могу сравнивать, не работал в CodeVisionAVR . Готовые библиотеки стараюся не использовать. Стараюся создавать свои гибкие и быстрые. Пока получается :) Знакомый работает в CodeVision тоже говорит что много библиотек. Мне они не нравятся, можно лишних команд.
Замучался, не понимаю... Отлаживаю поэтапно, отключаю частями, но вручную не могу выловить момент ошибки, почему по шагам всё хорошо, а запустив цикл в определенный момент в переменные записывается ахинея. Код не полный, но в "холостом режиме" должен работать и так, также смысл не в том, чтоб данный код заработал, главное разобраться где ошибка, чтобы не допускать в будущем, может кто из коментаторов поможет, время роли не играет. Код закомментирован достаточно неплохо, правда на укр., смысл кода в управлении самодельным станком для сетки "рабица", друг-самодельщик сейчас ваяет себе, ну и я решил сразу набивать руку на "прикладной задаче"
Проект: webfile.ru/02104dfb5ba36588e4dc88027fbe9fa7
Вы уж извините, но на это надо время. Мне своих проектов хватает, а хочется после работы отдохнуть.
Александр Писанец
Александр Николаевич, какие могут быть извинения?) Просить о бесплатном дебаге было бы настоящим свинством, уж лучше на новые уроки время потратьте, если оно появится, загрузил в надежде, что кто-то из опытных наткнется глянет, может бросится в глаза явная для него, но неизвестная для меня ошибка. Ведь я тоже изучаю Си по мере появления свободного времени, хотя да, какой-нить форум по программированию надо бы найти, чтоб доставать профессионалов своими глупыми ошибками)
Александр Николаевич, в атомарных операциях Вы рассказывали о возможном уходе МК на прерывание посреди выполнения кода и соответствующие этому сбои, а в симе это тоже реально? Проблема в следующем, написан код, конечно как любая первая написанная программа он далеко не идеален, но прошагивается прекрасно, со всеми возможными вариантами входящей информации на портах, с точкой останова на прерывании цикл тоже можно запускать раз 20, на нн-ый раз в переменных записывается черти-что, запуск цикла без точек останова идет нормально до опр. времени, то есть нажал паузу спустя 7-10 сек, опять запустил, и так с десяток раз или запустив на минуту времени, потом стоп, и всё та же история, при том порты не трогаю вообще, ошибки вылезают в "холостом режиме", один раз даже в только объявленную переменную записало ересь какую-то, к ней код физически не имел доступа(ту часть, что могла влиять на неё я закоментил на время разбирательств), поэтому я посчитал, что это глюк студии, но на днях пришли Меги, проверил "в железе", картина та же. Отловить ошибку интересно самому, но знать бы где копать...
Мне трудно чем то помочь вам не видя происходящего. Попробуйте отлавливать глюк поэтапно. Запретите прерывания и погоняйте код . Также разбейте вашу программу на части. В самом начале закоментируйте весь свой код, оставив небольшой минимум, его и отлаживаете. Убедившися в отсутствии проблем, раскоментируете следующий кусок кода и так далее. Конечно процесс отладки самый трудоемкий и конкретно что делать нужно отталкиваться от вашей написаной программы. Удачи вам.
Очень муторно и тягомотно!
Не проще ли просто гонять циклами for ?
блин, почему все так любят засрать видео музыкой??? материал полезный, но музон отвлекает и задалбывает
Извините, но вы просто ужасно объясняете. На половине становится непонятно. Вы этим новичкам только мозги перекорежите! Зачем такие усложнения? Зачем так мозг насиловать? Куда проще есть варианты.
Причем тут проще или нет. Не всеже примеры делать на примитивном уровне. Нужно развивать свое мышление и понимать, как можно писать программы не на примитивном уровне и т. далее. Программы могут быть сложными и показать, как можно реализовать данный вариант, чтобы было время для других задач. Но, за ваше мнение спасибо :)
Я все понял. На уроках Александра впервые попробовал управлять МК (в протеусе пока что). И надо сказать ему спасибо, за то что он делает это для нас. Хотя на мой взгляд, было бы лучше составить логическую схему программы, и по ходу объяснений, добавлять код. Но хозяин - барин. Сделайте лучше него, желающих мало ;)
Спасибо, учту.
Спасибо за видео