Вам нужно изучить правильную терминологию, значение технических терминов и осознание того, что у вас есть две разные аппаратные системы.
Процессоры связаны проводами (UART).
При соединении двух UART друг с другом устанавливается последовательный канал связи.
компилятор gcc.
STM32 и MSP430 имеют разные архитектуры ЦП, поэтому они не могут использовать один и тот же (кросс)компилятор. Вы можете использовать набор инструментов GNU GCC, но вам нужен один, созданный только для STM32, и другой, созданный только для MSP430.
у меня такая же ОС.
Который является то, что? Что-то вроде FreeRTOS или NuttX RTOS или uClinux?
Могу ли я написать make-файл или мне нужно написать два make-файла?
У вас есть две разные аппаратные системы, поэтому вам нужны две цепочки инструментов.
Вам нужны два make-файла.
Мой вопрос: как запрограммировать эти процессоры для связи через UART? написать один файл .c? или два?
У вас есть две разные аппаратные системы, поэтому вам нужны две программы.
Если вы грамотно выбрали ОС для каждого микроконтроллера, то на эталонной плате будет установлен базовый порт (версия) и некоторые драйверы устройств для микроконтроллера. . Если вы используете какую-то другую плату, вам, вероятно, придется внести изменения (например, изменить контакты и/или назначить порты).
алгоритм такой:
Процесс 1: выполнить алгоритм 1
Процесс 1: отправить привет процессу 2
Процесс 2: ответ на сообщение для процесса 1
Процесс 2: выполните свой алгоритм 2, когда закончите, отправьте сообщение процессу 1 (обмен данными)
Процесс 1: прочитать данные и выполнить алгоритм 1
Вы не четко описали, что вы ожидаете получить.
Мы можем предположить, что Процесс 1 и алгоритм 1 выполняются на одном микроконтроллере, а Процесс 2 и алгоритм 2 выполняются на другом микроконтроллере.
Возможно, Процесс x на самом деле должен означать процессор x или микроконтроллер x?
Вы должны осознавать, что каждый микроконтроллер работает полностью независимо от другого микроконтроллера. Для правильной работы обмена сообщениями требуется синхронизация, а это значит, что должны быть способы восстановления, если сообщение повторяется или поступает не по порядку. Вы не можете ожидать идеального мира, в котором оба микроконтроллера запускаются одновременно и естественным образом поддерживают синхронизацию сообщений. Хорошо спроектированная и надежная система должна позволять перезапускать любой микроконтроллер в любое время, а затем восстанавливать синхронизацию сообщений.
Я искал решение, но у меня не было четкого решения.
Вам нужно разбить этот проект на более мелкие части.
A.
Установите набор инструментов для STM32.
Запустите RTOS на STM32.
Проверьте работу последовательного порта с помощью простой программы обратной связи, используя программу-эмулятор терминала. на ПК.
B.
Установите набор инструментов для MSP430.
Запустите RTOS на MSP430.
Проверьте работу последовательного порта с помощью простой программы обратной связи, используя программу-эмулятор терминала. на ПК.
C.
Разработайте протокол обмена сообщениями. Ваше первоначальное предложение похоже на одноранговую схему. Это может затруднить надежность конструкции.
Взаимоотношения между двумя микроконтроллерами ведущий-ведомый делают систему более простой и надежной. Мастер всегда на связи. Ведомый никогда ничего не отправляет, если только ведущий не запрашивает его. Ведущее устройство будет периодически опрашивать ведомое устройство с помощью сообщения опроса. Это возможность подчиненного устройства ответить своим статусом или результатами вычислений.
D.
Узнайте о машинах состояний. .
Узнайте, как написать программу для реализации конечного автомата.
Преобразуйте протокол обмена сообщениями в конечный автомат.
Преобразуйте шаги или фазы, которые должен выполнять каждый микроконтроллер. для обмена сообщениями в конечный автомат для каждой стороны.
E.
Реализовать каждую сторону. Контрольная работа. Интегрировать. Контрольная работа.
person
sawdust
schedule
12.09.2014