Jump to content
Sign in to follow this  
hardbar

Запись Даных После Опроса И Отправка.алгоритм Uarta На Asm

Recommended Posts

Вот хочу сделать опрос кнопок на одном мк отправка по Uart и вывод значения на другом мк.

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

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

вот схема для наглядности

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

Edited by hardbar

Очень люблю спасибку.

Спасибка ни кого еще не убила.

Професия: Електро-механик.

Share this post


Link to post
Share on other sites

Дай сначала байт-идентификатор, а потом байт данных. Т.е. $7F (идентификатор передачи состояния фиксированных кнопок), $XX (само состояние) и $1F (идентификатор кнопок без фиксации), $XX (само состояние). На другом конце МК декодирует идентификаторы в посылках и согласно им поместит результаты "по местам". Коды идентификаторов можешь придумать любые, на свое усмотрение.

Share this post


Link to post
Share on other sites

Интересная идея нужно будет попробовать.


Очень люблю спасибку.

Спасибка ни кого еще не убила.

Професия: Електро-механик.

Share this post


Link to post
Share on other sites

Взаимодействие устройств IoT от Microchip с облаком Google

Благодаря облачным технологиям появилась возможность реализовать сложные проекты на базе микроконтроллера путем перераспределения вычислительной нагрузки между микроконтроллером и облаком. Простые в использовании отладочные платы, такие как AVR- и PIC-IoT WG, позволяют выполнять ресурсоемкие вычисления, передавая их в облако.

Подробнее

А если идентификатор совпадает с посылкой. Тогда что сделать?

Edited by hardbar

Очень люблю спасибку.

Спасибка ни кого еще не убила.

Професия: Електро-механик.

Share this post


Link to post
Share on other sites

Вебинар «Решения Analog Devices для гальванической изоляции. Обзор технологий и новинок» (27.04.2021)

Компания «Компэл» и Analog Devices приглашают всех желающих 27/04/2021 принять участие в вебинаре, посвященном решениям Analog Devices для гальванической изоляции. В программе вебинара: технологии гальванической изоляции iCoupler, цифровые изоляторы, технология isoPower, гальванически изолированные интерфейсы (RS-485, CAN, USB, I2C, LVDS) и другое. Вебинар будет интересен разработчикам промышленной автоматики и медицинской техники.

Подробнее

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

Share this post


Link to post
Share on other sites

Новое семейство ИП от MEAN WELL мощностью 150, 300, 600 Вт с повышенной перегрузочной способностью

Компания MEAN WELL разработала семейство источников питания номинальной мощностью 150, 300 и 600 Вт с возможностью кратковременной безопасной работы при мощности в 2,5 раза выше номинальной (до 5 секунд). Данное семейство источников питания востребовано в промышленных установках с использованием электродвигателей или с емкостной нагрузкой. Применяя новые источники питания HRP/N можно получить экономический выигрыш.

Подробнее

Ок. А как тогда сделать двух байтовую посылку. Вдруг первый байт придет вторым а второй первым.


Очень люблю спасибку.

Спасибка ни кого еще не убила.

Професия: Електро-механик.

Share this post


Link to post
Share on other sites

Не вей провода и тогда байты не запутаются. :) Ты волнуешься, что принимающий МК собьется со счета? Тогда усложни протокол. Запрос на передачу (МК №1 1байт), ответ готовности приема (МК №2 1байт), посылка данных (идентификатор/данные). Пока не договорятся все посылки игнорировать. Во время ответа второй МК синхронизирует счетчик принятых байт. Ну как-то так. Можно напридумывать как угодно.

Share this post


Link to post
Share on other sites

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

Спасиба!


Очень люблю спасибку.

Спасибка ни кого еще не убила.

Професия: Електро-механик.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • Да конечно, вот фото. Картинка смещена вправо, слева полоса затемнением картинки, и с лева же по-моему просматривается часть правой картинки ко всему идёт фантомное изображение на основной картинке.
    • Вот схема подключения Нет, было бы слышно радиостанцию.
    • Лампы (17-16) после 1990г, практически, не встречаются. Т.е, сняты с производства.  С тех пор прошло 30 лет. Задаю элементарный вопрос: - Как в думаете, всё это время они лежали и ждали, пока (как ждет юная курсистка принца на белом коне) их разберут   джентльмены с этого форума? Давайте не будем пудрить носик индексами и золоченными сетками. Лампы с индексом -В(6Н16Б-В и подобное) -это военная приемка, использовалась в аппаратуре 60-70хх годов, и, изредка в гражданской продукции. Всё это давно списано в утиль - у вояк строгие сроки использования и хранения комплектующих, после чего списывается с заменой свежими, благодаря чему те, кто сидел на этом, имел таки неплохой гешефт.  А уж после социализма это было растащено-перепродано  по кладовкам коммерсантов.  И за много лет, наверняка, перемеряно-переотобрано. Впрочем, можно нарваться на ровную лампу -единственно купленная вначале 17-я почти идеальная(повезло!) , но, реально, ИМХО, - одна из десятка или больше, в этом варианте схемы. И, кстати, лампы с "золотыми" сетками в измерении параметров не показали достойных результатов .
    • Можно теперь переделать коммутацию. Схему нарисовать легче, а переключатель воткнуть, если мало места в корпусе - другое дело. Вам-то легко в симуляторе играться, а паять, наверно, уже забыли как. Ну, и что хорошего? На транзисторах лишь 1 Аmax?
    • Ну давайте разбираться, укажите на схеме обозначения выводов транзисторов, также дорисуйте подключенную катушку, а мы посмотрим, а то может проверяете без катушки или обозначения выводов по своему трактуете.
    • Какого узла, каких деталей. Как то ваш ответ похож на вселенский... "Или на подстанции" проверить. 
  • Similar Content

    • By RIMUS1989i
      Здравствуйте. Вопрос к гуру, на сколько будет меньше разрыв данных при посылке через SPI 16бит, если ожидание готовности написать на ассемблере? И сразу второй вопрос, как правильно её вставить?
      void sendWord(uint16_t data) { SPDR = data; while(!(SPSR & (1<<SPIF))); // это заменить на ассемблерную вставку //вот тут видно задержку SPDR = data>>8; while(!(SPSR & (1<<SPIF))); // и это заменить на ассемблерную вставку } Этот код не работает (ассемблерная вырезка из даташита). Я не соображаю...
      asm volatile( "Wait_Transmit: in r16, SPSR sbrs r16, SPIF rjmp Wait_Transmit ret" ); Пока писал сообщение, понял свой косяк, регистр r16 в строке выше у меня не соответствует data.Тогда еще вопрос, как полностью этот кусок "sendWord" написать на ассемблере?
      Заранее Спасибо!
    • Guest Константин
      By Guest Константин
      Здравствуйте, совсем недавно начать освоение микроконтроллеров и в начале пути столкнулся с двумя проблемами:  
      1) При нажатии кнопки "Run" для запуска проекта выдает ошибку: No ST-LINK detected! Please conncect ST-LINK and restart the debug sesion. При этом ST_Link установлен, создаю bin-файлы и зашиваю через него.
      2) есть плата STM32discovery и преобразователь интерфейса uart-usb|com, нужно передать сообщение по данному интерфейсу, но терминальные программы  (putty, smarty, realterm) не принимают ничего хотя видят данный порт. Ошибок в коде нет, светодиод мигает.
       


    • Guest NickL
      By Guest NickL
      Всем привет.
      Имеется датчик давления под управлением микрухи MLX90308. Микруха сия собирает показания с 4-х включенных мостом тензометрических датчиков, и отдает обработанное значение в виде аналогового сигнала. Так же есть пин для получения данных в цифре и калибровки/прошивки этой микрухи. Производитель микрухи предлагает бесплатный софт и свою отладочно-прошивочную плату (EVB90308) за 250 бакинских (дорого), которую ждать 8 недель (долго)
      Судя по докам, там обычный UART, но с другими уровнями. Логический 0 = 0.3*Uвх, т.е. 1.5в, Логическая 1 = 0.7*Uвх, т.е. 3,5в. И всё это засунуто в единственный пин и на прием и на передачу.
      Универ был давно, да и учился я плохо, подскажите пожалуйста пример схемы чтобы 1) свести tx и rx на одну ногу 2)согласовать уровни для чтения/записи сей микрухи доступными средствами. Например, FTDI.
      Даташит микрухи:
      https://www.melexis.com/-/media/files/documents/datasheets/mlx90308-datasheet-melexis.pdf
      Спасибо заранее! Это датчик из блока АБС мотоцикла, замены нет, б/у запчастей нет, а новый блок стоит как сам мотоцикл.
    • By Дмитрий -
      На примере GSM/GPRS Goouuu Tech IOT-GA6-B и ATtiny85.
      Программа «Звонилка». 
      Программа на BASCOM-AVR. 
      Источник https://178654.blogspot.com/p/uart.html
       

    • By Viktor Golubov
      Почему может неправильно работать uart? Подключил 1 uart к пк через usb/uart переходник, а второй к gsm модему. В первый уарт вывожу инфу для дебага, а во второй AT команды. Суть в том, что сообщения для 2 уарта выводятся в 1 уарт

      и выводятся как то странно

      не полностью

      Вот такой вывод постоянно:

      Begin
      End
      AT+CNMI=2,2,0,0,0
      AT+CMGEnd
      AT+CNMI=2,2,0,0,0

      а должно быть просто

      begin

      end

      и все

      полный код https://pastebin.com/zBBZmZue
×
×
  • Create New...