Капризы USART. Микроконтроллеры для начинающих. Atmel Studio

Автор Liza Merichenko
Капризы USART. Микроконтроллеры для начинающих. Atmel Studio

Привет друзья сегодня хочу вам рассказать об одной очень интересные штуковины которую мы с моими студентами обнаружили на занятиях в субботу прошедшую субботу и — это штуковина состоит в следующем atmel Studio отказалась работать в режиме отладки с последовательным интерфейсом усаров, что у нас со студентами потому, что мы привыкли к тому, что любая программа которой мы пользовались она в общем-то под отладкой нормально отложилось, а тут вдруг ни с того ни с сего требовалось имитировать приём им 1 байта по последовательному интерфейсу US Art.

А мы этого сделать не смогли то есть в результате атлас делали, что имитировали сигнал приёма на, что студия должна отреагировать абсолютно нормально то есть позволив нам вызвать обработчик прерывания чего произошло, но в реальности такое прерывание должно быть в генерировании то есть после того как мы генерируем сигнал пришествие ему 36 импульса мы должны получить вызов обработчика прерываний вот соответствие возникает вопрос, что же собственно такое было. И как с этим быть так вот с одной стороны для новичка — это может быть не очень приятная вещь то, что как бы ты разбираешься разбираешься и не понимаешь вообще работает функционал или нет. Вот поэтому когда ты сталкиваешься с такими вещами ты видишь.

Аники нерабочий функционал вот и ты не как вообще ну то есть программе ли дело или в твоей программе делать или в той программе при помощи которой ты выполняешь отладку свою программу так вот.

Казалось бы такая известная там программа. А2 Studio довольно-таки вырезанная. Вот уже должна быть без ошибок, но как бы вот бывает иногда вот и как потом выяснилось на самом деле, что глюк в обществе не в программе, а именно файлики который отвечает за настройки конкретному микроконтроллера, а именно atmega328 потому, что точно такой же код на на микроконтроллере атмега 64 работает абсолютно идеально, но как быть если всё-таки нужен atmega328, а тут скажем так длины получается некий опыт во-первых столкнулся с тем, что мир реальный и могут быть какие-то ошибки которые надо принимать. Что Ну они есть и как ты их обходить. Вот и соответственно второе вторая положительная вещь в данном в данном обстоятельстве — это то, что мы сейчас найдём решение то есть решение которое позволит нам обойти данную и всё-таки проверить работу. Уз авто и посмотреть как он в железе себя ведет так вот я. Подготовь вот такой вот Arduino Arduino Uno на ней я сделаю, что я сделаю простенькую программу которая принимает пауза рту один символ и для того чтобы мне понять, что программа в нём внутри железо там там работает я там напишу программу которая принят символ тут же отправляют назад то есть на компьютер, что я для этого сделаю я для этого сделаю вот что-то есть схема фактически будет выглядеть. Каким образом вот наш Arduino у него этот Arduino Start Start. Вот соответственно есть. ПК на запущена программа из которой я отправлю на. ОРТ и программа должна делать, что принятый символ тут же отправить его назад таким образом вот эта программа она реагирует на, что она реагирует на клавиатуру и каждый нажатой символ с клавиатуры она отправляет по последовательному интерфейсу вот собственно. И всё. И, что я буду делать я буду видеть вот здесь вот, что символы которые я нажал. Они назад, а — это программа она устроена таким образом она отображает всё то, что присылает ей кто-то. Извне то есть в данном случае — это будет плата Arduino если если вот — это вот связь либо. Порвана либо не работает то соответственно я здесь буду здесь вот здесь вот ничего не просто пустой экран я буду нажимать на кнопки и на экране будет просто пустота, что — это за программа программа называется путь. Тирания уже они рассказывал вот если если я сейчас если я сейчас запущу эту программу соединю её со своей платой она у меня подключен к порту 3. Вот и вот в этом темном окошке. Если я сейчас громко может быть слышно набираю на клавиатуре вот даже вот покажу веб-камера, что вот я набираю на клавиатуре. Вот и ничего не происходит ничего ни одного символа. Соответственно, что я делаю сейчас я дописываю вот на этой вот стороне Arduino маленькую программку которая как раз будет делать. Вот — это вот перекладку и посмотрим, что же собственно происходит и так, что я для этого делаю для этого. Я открываю от moonstudio и создаю новый проект назову его эхо эффект туда. Эхо то есть мы с компьютера будем кричать я буду кричать при помощи символов вот Apple и Arduino будет работать эхом отображать назад отправлять назад мне эти символы которые я ей присылаю и так ищу 328 вот туда 328p так вот он создал мне простенький пробег, что я делаю так сначала мне нужно подключить подключить прерывание чтобы можно было их запускать вот такой вот командой C и дальше я возьму уже заготовленный настройки у сорта настройки сорта сначала — это настройки начистоту 9600 от 9.600 по формуле которой написано в даташите он пересчитается в некий делитель частоты который я вот здесь вот потом и упомянул вот такой вот вызов таким вот вызовом р0 равно вот эта вот штука вот таким образом я настрою свой UART начисто на скорость. Обмена информацией 9600 и пропишу сюда соответственно настройки которые настроит мне UART. Каким образом включат передатчик включить приёмник и как раз тот самый обработчик задействуют то есть вот — это вот программа которую я сейчас. Судак помещу в качестве обработки она должна быть вызвана. Вот она вот таким вот образом выглядит iz.ru сарт RX где как раз я делаю. Что вычитаю символ первой строчкой, а второй строчке отправляю его назад всё собираю программу должен. Да всё построился Типи.

0 комментариев
0

Читайте также