Назначить адрес сериал порту?

ctacb
Offline
Зарегистрирован: 03.01.2017

Приветствую.

Для отправки данных по уарт (serial) мы пишем Serial.print("data"); Serial2.print("data");

А как собственно принтить туда адресно?

Ну неужели так? #define id123 Serial.print("data"); ?? Было бы слишком просто :)

 

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

я дал абсолютно рабочий вариант, а твой вариант с дефайнами сработает только на этапе компилляции и задействует только один сериал - ты не сможешь рулить выводом печати, изменяя iD

ctacb
Offline
Зарегистрирован: 03.01.2017

Ваш вариант не рабочий, особенно в контексте задачи.

Представьте что адреса устройств неизвестны изначально.

Что будете делать теперь? Сначала на serial2 висел id - 123. Потом ID устройства сменилось. Ваш вариант рабочий?

Дефайн тоже не рабочий.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ctacb пишет:

Дефайн тоже не рабочий.

Нормально дефайн работает, просто у Вас руки не стого места выросли.

ctacb пишет:

#define test Serial.

test.print(a); (который естественно не работает)

Нахрена Вы две точки-то ставите? Уберите нахрен точку после Serial и всё окажется рабочим.

ctacb
Offline
Зарегистрирован: 03.01.2017

ЕвгенийП пишет:

ctacb пишет:

Дефайн тоже не рабочий.

Нормально дефайн работает, просто у Вас руки не стого места выросли.

ctacb пишет:

#define test Serial.

test.print(a); (который естественно не работает)

Нахрена Вы две точки-то ставите? Уберите нахрен точку после Serial и всё окажется рабочим.

Класс, спасибо!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015
Та немає за що!
Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

ctacb пишет:

Представьте что адреса устройств неизвестны изначально.

Что будете делать теперь? Сначала на serial2 висел id - 123. Потом ID устройства сменилось. Ваш вариант рабочий?

буду сканировать все адреса, пока устройство не отзовётся, тогда присвою ему iD, сразу же что-то напечатаю.

мой вариант рабочий.

*с чего бы iD устройств менялись без моего ведома?

ctacb
Offline
Зарегистрирован: 03.01.2017

Клапауций 112 пишет:

тогда присвою ему iD, сразу же что-то напечатаю.

Можете привести пример кода?

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

ctacb пишет:

Клапауций 112 пишет:

тогда присвою ему iD, сразу же что-то напечатаю.

Можете привести пример кода?

50$

или примеры сканера чего-то там у тебя должны быть

ctacb
Offline
Зарегистрирован: 03.01.2017

Это был сарказм, а за 50$ вы еще обосновать должны, какую именно работу вы будете проделывать, это не тот случай. Ваш IF будет работать только в том случае, если вам заранее известны адреса и соответсвующие им UART порты, если адрес плавающий, то ваш IF полетит лесом, особенно, если время на операцию у вас всего 1мс и не более.

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

ctacb пишет:

Ваш IF будет работать только в том случае, если вам заранее известны адреса и соответсвующие им UART порты, если адрес плавающий, то ваш IF полетит лесом, особенно, если время на операцию у вас всего 1мс и не более.

слушай, а ты не мог техзадание в первом посте полностью написать, а не по ходу треда ега усложнять?

ок. твоё ТЗ, как я ега понял:

тебе не известно количество устройств, количество сериал-портов и ты не знаешь, вкуда и что ты будешь печатать.

я правильно тебя понял?