Передача строковых переменных в функцию void в Ардуино

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (6) [1] 2 3 ... Последняя »  К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
sergeantGY
9.07.2019 - 19:11
Статус: Offline


Пистолеро

Регистрация: 17.11.09
Сообщений: 6545
16
Может кто подскажет други, как передать правильно строковые переменные в функцию типа void в ардуине?

Пробую, как я обычно делал в своей джаве - не проходит...Да, я в курсе что ардуино- это C/C++ rulez.gif

Короче..функция выглядит так:

void Test(String s, String s2, String s3){
}


Т.е. написал такую функцию за пределами методов setup и loop и вызываю ее в коде так:

Test(test1, test2, test3).

Ругаеццо, сцобако! smile.gif Чего ему надо то?! sm_biggrin.gif

Это сообщение отредактировал sergeantGY - 9.07.2019 - 19:13
 
[^]
Yap
[x]



Продам слона

Регистрация: 10.12.04
Сообщений: 1488
 
[^]
124
9.07.2019 - 19:14
1
Статус: Offline


Ярила

Регистрация: 3.08.13
Сообщений: 6167
подписался
 
[^]
PavelLegkiy
9.07.2019 - 19:15
2
Статус: Offline


Весельчак

Регистрация: 16.09.18
Сообщений: 179
А по русски как- Даша
 
[^]
Ch1ck
9.07.2019 - 19:17
7
Статус: Online


Ярила

Регистрация: 6.10.14
Сообщений: 1016
Мосье знает толк в извращениях!
Зачем ты вообще их передаешь? Если все в пределах одного скетча, то просто объяви их и все.
 
[^]
БубиЧервь
9.07.2019 - 19:17
5
Статус: Offline


Хохмач

Регистрация: 25.12.13
Сообщений: 625
Хаха блять, джаве :D
Давай весь исходник, хоть поржом
 
[^]
Sapojnik
9.07.2019 - 19:17
30
Статус: Offline


Банный мазохист

Регистрация: 23.07.12
Сообщений: 131
- Здравствуйте, это канал об аниме?
- Да.
- Как мне пропатчить KDE2 под FreeBSD? shum_lol.gif

В качестве апа))
 
[^]
ser6ii
9.07.2019 - 19:18
0
Статус: Offline


Ярила

Регистрация: 12.07.11
Сообщений: 3409
есть же визуальная программа для ардуино, потыкай в ней разные датчики и посмотри какой код генерирует
 
[^]
sergeantGY
9.07.2019 - 19:19
0
Статус: Offline


Пистолеро

Регистрация: 17.11.09
Сообщений: 6545
Цитата (Ch1ck @ 9.07.2019 - 19:17)
Мосье знает толк в извращениях!
Зачем ты вообще их передаешь? Если все в пределах одного скетча, то просто объяви их и все.

не. объявить не пойдет. Надо передавать эти 3 строки . В них кодируется в случайном порядке одна лабуда. Короче неважно. Передавать нужно. Вопрос-как? Красота кода не волнует. Интересует чтобы тупо работало rulez.gif


P.S. я конечно нашел извратный метод это преодолеть- переделал переменные в integer. deg.gif

И выглядит так щас void Test( Integer1, Integer2, Integer3).

но так код читать неудобно итить shum_lol.gif

Потому что в реале в эти строках было бы написано(и сразу все понятно):

Test(motor_A_ON, High_speed, CCW).

Вот така стало быть пичаль... rulez.gif


Это сообщение отредактировал sergeantGY - 9.07.2019 - 19:23
 
[^]
Kvag91
9.07.2019 - 19:19
3
Статус: Offline


Весельчак

Регистрация: 24.12.15
Сообщений: 191
StaticOverflow закрыли? Какая вероятность что на япе заметят твой пост?

На, горюшко:
https://arduino.stackexchange.com/questions...ring-parameters

Это сообщение отредактировал Kvag91 - 9.07.2019 - 19:24
 
[^]
Kvag91
9.07.2019 - 19:21
10
Статус: Offline


Весельчак

Регистрация: 24.12.15
Сообщений: 191
Цитата (sergeantGY @ 9.07.2019 - 19:19)
Цитата (Ch1ck @ 9.07.2019 - 19:17)
Мосье знает толк в извращениях!
Зачем ты вообще их передаешь? Если все в пределах одного скетча, то просто объяви их и все.

не. объявить не пойдет. Надо передавать эти 3 строки . В них кодируется в случайном порядке одна лабуда. Короче неважно. Передавать нужно. Вопрос-как? Красота кода не волнует. Интересует чтобы тупо работало rulez.gif

С опаской отношусь к программистам, которым нне важна красота кода)
 
[^]
БубиЧервь
9.07.2019 - 19:21
1
Статус: Offline


Хохмач

Регистрация: 25.12.13
Сообщений: 625
Цитата (sergeantGY @ 9.07.2019 - 19:19)
Цитата (Ch1ck @ 9.07.2019 - 19:17)
Мосье знает толк в извращениях!
Зачем ты вообще их передаешь? Если все в пределах одного скетча, то просто объяви их и все.

не. объявить не пойдет. Надо передавать эти 3 строки . В них кодируется в случайном порядке одна лабуда. Короче неважно. Передавать нужно. Вопрос-как? Красота кода не волнует. Интересует чтобы тупо работало rulez.gif

String x = "jopa";

void TestMe(String foo){ ... }

TestMe(x);

Стринг.аш тока подруби а то стрингов не будет. Ну или кури как в сях организована память и передавай char*

Это сообщение отредактировал БубиЧервь - 9.07.2019 - 19:24
 
[^]
WhiteAlert
9.07.2019 - 19:24
2
Статус: Offline


Приколист

Регистрация: 7.10.16
Сообщений: 301
В сях нет типа стринг. Есть char[] и синтаксический сахар std::string. Аргументы передавать указателями
 
[^]
БубиЧервь
9.07.2019 - 19:26
3
Статус: Offline


Хохмач

Регистрация: 25.12.13
Сообщений: 625
Цитата (WhiteAlert @ 9.07.2019 - 19:24)
В сях нет типа стринг. Есть char[] и синтаксический сахар std::string. Аргументы передавать указателями

В ардуинах есть
 
[^]
Ch1ck
9.07.2019 - 19:26
5
Статус: Online


Ярила

Регистрация: 6.10.14
Сообщений: 1016
Цитата (sergeantGY @ 9.07.2019 - 23:19)
Цитата (Ch1ck @ 9.07.2019 - 19:17)
Мосье знает толк в извращениях!
Зачем ты вообще их передаешь? Если все в пределах одного скетча, то просто объяви их и все.

не. объявить не пойдет. Надо передавать эти 3 строки . В них кодируется в случайном порядке одна лабуда. Короче неважно. Передавать нужно. Вопрос-как? Красота кода не волнует. Интересует чтобы тупо работало rulez.gif

У вас джава головного мозга.
Тут вам не АйБиЭм, мать иво, ПиСи! Тут микроконтроллер и у него памяти, чо у комарика.
Строки есть. В них чего то есть. Неважно в каком месте кода вы туда занесете инфу (в основной программе или в функции), она везде будет одинаковая, до тех пор, пока ее где нить (пофиг, в основной программе или в функции) не поменяют.
 
[^]
Barmaleich8
9.07.2019 - 19:26
2
Статус: Offline


Шутник

Регистрация: 29.11.17
Сообщений: 18
ТС, ты java c C++ не путай!

void testFunc(string s1, string s2, string s2){

}
 
[^]
sergeantGY
9.07.2019 - 19:27
1
Статус: Offline


Пистолеро

Регистрация: 17.11.09
Сообщений: 6545
Цитата (WhiteAlert @ 9.07.2019 - 19:24)
В сях нет типа стринг. Есть char[] и синтаксический сахар std::string. Аргументы передавать указателями

P.S. я конечно нашел извратный метод это преодолеть- переделал переменные в integer. deg.gif

И выглядит так щас void Test( Integer1, Integer2, Integer3).

но так код читать неудобно итить shum_lol.gif

Потому что в реале в эти строках было бы написано(и сразу все понятно):

Test(motor_A_ON, High_speed, CCW).

Вот така стало быть пичаль... rulez.gif


P.P.S. плёхо...ну да ладно...я уже решил..покрасивше хотелось только.

За советы выше-спасибо. Щас пороюсь....


Это сообщение отредактировал sergeantGY - 9.07.2019 - 19:27
 
[^]
Kvag91
9.07.2019 - 19:28
1
Статус: Offline


Весельчак

Регистрация: 24.12.15
Сообщений: 191
Ответ из топика, ссылку оставил выше, первый же ответ в гугле:

void sendSMS(const String& thisIsAString)
 
[^]
БубиЧервь
9.07.2019 - 19:28
2
Статус: Offline


Хохмач

Регистрация: 25.12.13
Сообщений: 625
Цитата (Barmaleich8 @ 9.07.2019 - 19:26)
ТС, ты java c C++ не путай!

void testFunc(string s1, string s2, string s2){

}
 
[^]
evg489
9.07.2019 - 19:28
3
Статус: Offline


несу хуйню в массы

Регистрация: 10.07.09
Сообщений: 13171
ну если по аналогии с С, то должно получится что то типа
void testfunc(string s1, ..... )
хотя с С я в последний раз имел дело лет 10 назад, за память не ручаюсь
 
[^]
БубиЧервь
9.07.2019 - 19:29
2
Статус: Offline


Хохмач

Регистрация: 25.12.13
Сообщений: 625
Цитата (sergeantGY @ 9.07.2019 - 19:27)
Цитата (WhiteAlert @ 9.07.2019 - 19:24)
В сях нет типа стринг. Есть char[] и синтаксический сахар std::string. Аргументы передавать указателями

P.S. я конечно нашел извратный метод это преодолеть- переделал переменные в integer. deg.gif

И выглядит так щас void Test( Integer1, Integer2, Integer3).

но так код читать неудобно итить shum_lol.gif

Потому что в реале в эти строках было бы написано(и сразу все понятно):

Test(motor_A_ON, High_speed, CCW).

Вот така стало быть пичаль... rulez.gif


P.P.S. плёхо...ну да ладно...я уже решил..покрасивше хотелось только.

За советы выше-спасибо. Щас пороюсь....

То что ты делаешь, делается обычно дефайнами обычными
 
[^]
Kvag91
9.07.2019 - 19:31
2
Статус: Offline


Весельчак

Регистрация: 24.12.15
Сообщений: 191
Кстати, если красота кода не важна, зачем вообще с функциями мучается. Пиши простыню.
 
[^]
ironman81
9.07.2019 - 19:32
0
Статус: Offline


Балагур

Регистрация: 18.12.16
Сообщений: 880
И для этого тему создавать, друх, такое в яндексе ищется за минуты
 
[^]
fortranic
9.07.2019 - 19:34
3
Статус: Offline


Ярила

Регистрация: 17.08.17
Сообщений: 1069
Открыл топик, оперативы на компе в двое больше стало.
спасибо
 
[^]
syshell
9.07.2019 - 19:37
2
Статус: Offline


Йохан Палыч

Регистрация: 13.03.14
Сообщений: 9221
Передавай в функцию ссылки на экземпляр объекта. И всё будет нормально.
Вот тут почитай:
http://mycpp.ru/cpp/book/c03_3.html

Это сообщение отредактировал syshell - 9.07.2019 - 19:38
 
[^]
cleverchap
9.07.2019 - 19:39
2
Статус: Offline


Юморист

Регистрация: 16.02.17
Сообщений: 406
Цитата (Sapojnik @ 9.07.2019 - 19:17)
- Здравствуйте, это канал об аниме?
- Да.
- Как мне пропатчить KDE2 под FreeBSD? shum_lol.gif

В качестве апа))

одна из первых на баше wub.gif
 
[^]
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 5942
0 Пользователей:
Страницы: (6) [1] 2 3 ... Последняя » [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



Активные темы






Наверх