Обмен данными между AVR (Master-Slave) - выбор решения...

Корзина для неактивных и неинформативных тем.
Данный раздел не участвует в поиске!

Обмен данными между AVR (Master-Slave) - выбор решения...

Сообщение Tsagolov Anton9 (Tsagolov Anton9) » 24 дек 2015, 06:15

Доброго времени суток!
Начал изучать ФК буквально 3 дня назад. Из языков знал когда-то ПАСКАЛЬ(и то поверхностно). Короче интуитивно понял, но не полностью.
Мы с моими товарищами решили собрать прибор который будет считывать данные с аналоговых датчиков и посылать их(данные) на приемник. Контроллера выбор стал на ATMEGA328 стоящий в ARDUINO mini. Мы думаем задействовать их так, что бы был один контроллер Мастером, а остальные посылали принятые и обработанные сигналы в Мастер и затем последний собирал данные вместе и в "определенном" протоколе по "Манчестер2" отправлял данные в верх.
Сейчас я написал алгоритм чтения данных с АЦП и их математика.
Ныне стоит вопрос, по какому типу лучше связать контроллеры (должна быть максимально быстрая скорость передачи данных и определение подключаемых модулей к Мастер контроллеру), как отправлять данный с Мастер контроллера по "определенному" протоколу на приемник.
Просьба: посмотрите, правильно ли написана программа. Если нет, то укажите пожалуйста на недочеты.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Tsagolov Anton9
Имя: Tsagolov Anton9
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Yushik (Андрей) » 24 дек 2015, 07:44

На первый взгляд. Может это ошибка а может так можно МИМ пусть поправит. Значения из АЦП вы считываете как INT, а переменные вы подставили Float. С точки зрения грамматики уже неправильно.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Консультант
Консультант
Информация о пользователе

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Taska (Максим) » 24 дек 2015, 07:57

Какое расстояние между контроллерами?
Странные у тебя вычисления их можно заменить одной строчкой просто а=а<<6.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Tsagolov Anton9 (Tsagolov Anton9) » 24 дек 2015, 11:03

Taska писал(а):Какое расстояние между контроллерами?
...

1. Контроллеры будут на одной плате внутри прибора.
Taska писал(а):...
Странные у тебя вычисления их можно заменить одной строчкой просто а=а<<6.

2. Простите, я не знаю что означает это команда.
Аватар пользователя
Ник: Tsagolov Anton9
Имя: Tsagolov Anton9
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Tsagolov Anton9 (Tsagolov Anton9) » 24 дек 2015, 11:07

Yushik писал(а):На первый взгляд. Может это ошибка а может так можно МИМ пусть поправит. Значения из АЦП вы считываете как INT, а переменные вы подставили Float. С точки зрения грамматики уже неправильно.

Вы всё отметили верно!
Я рассчитывал понять это позже и исправить. Задачей у меня стояла разобраться с работой работой с цифрами после запятой, а уже потом определиться как следует читать переменную с АЦП.
Спасибо за замечание!
Аватар пользователя
Ник: Tsagolov Anton9
Имя: Tsagolov Anton9
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Tsagolov Anton9 (Tsagolov Anton9) » 24 дек 2015, 11:41

Я пытался этими вычислениями добиться oversampling

Отправлено с моего GT-S7262 через Tapatalk
Аватар пользователя
Ник: Tsagolov Anton9
Имя: Tsagolov Anton9
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Yushik (Андрей) » 24 дек 2015, 12:52

Эта a=a<<6 команда означает взять содержимое переменной "а" сдвинуть её содержимое влево на шесть разрядов и поместить результат в тот же регистр где лежала переменная "а". Или короче умножить переменную на шесть, если я не ошибаюсь.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Консультант
Консультант
Информация о пользователе
Вернуться наверх

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Steve Key (Steve Key) » 24 дек 2015, 13:00

Yushik писал(а):умножить переменную на шесть

Ага, только умножить на 2 в степени 6, т. е., на 64…
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Tsagolov Anton9 (Tsagolov Anton9) » 24 дек 2015, 13:29

Yushik писал(а):Эта a=a<<6 команда означает взять содержимое переменной "а" сдвинуть её содержимое влево на шесть разрядов и поместить результат в тот же регистр где лежала переменная "а". Или короче умножить переменную на шесть, если я не ошибаюсь.

Понятно, а разве он этими вычислениями не делает опрос при каждом задействовании переменной znach. В такой случае делая опрос за определенный период времени t можно добиться более точные показания за этот период t. Минус этого применения является потеря времени. Мы хотели добитьмя болешей разрядности жертвуя временем. Или при вычислении программа не будет брать значения из ацп при каждом упоминании пепеменной znach?
Tsagolov Anton9 писал(а):Я пытался этими вычислениями добиться oversampling

Отправлено с моего GT-S7262 через Tapatalk



Отправлено с моего GT-S7262 через Tapatalk
Аватар пользователя
Ник: Tsagolov Anton9
Имя: Tsagolov Anton9
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Обмен данными между AVR (Master-Slave) - выбор решения..

Сообщение Taska (Максим) » 24 дек 2015, 13:50

Для того чтобы было точно нужно измерить раз 16 или больше, результаты измерения суммируются в переменной типа long, после измерений делишь на число измерений и получаешь среднее арифметическое.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

След.

Вернуться в Мусорная корзина

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей