|
Модераторы: Daevaorn |
|
Lockdog88 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 22.4.2010 Репутация: нет Всего: нет |
Добрый день!
У меня есть структура в которой есть переменная uint8_t:
Я разбираю строку из UART'a и записываю необходимые данные в структуру:
Потом мне необходимо отправить эти данные по другому интерфейсу
Но на принимаемой стороне приходят пустые данные, но если я отправлю через функцию sendData просто строку символов в кавычках, то всё в порядке. В чём моя ошибка? Спасибо. |
||||||
|
|||||||
vpf |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 119 Регистрация: 14.11.2016 Где: Moscow Репутация: нет Всего: нет |
Почему в вызове функции sendData((char*)nmea.checksum, 6); отсутствует знак &
|
|||
|
||||
Lockdog88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 22.4.2010 Репутация: нет Всего: нет |
Потому что тогда я получаю ошибку: error: pointer targets in passing argument 1 of 'sendData' differ in signedness UPD. Извиняюсь, это я объявление функции не поправил. Ошибки больше нет, но на принимаемой стороне так же пустая строка Это сообщение отредактировал(а) Lockdog88 - 17.3.2017, 21:32 |
|||
|
||||
volatile |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
Lockdog88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 22.4.2010 Репутация: нет Всего: нет |
А как мне правильно сделать, подскажите, пожалуйста.
Если я знаю длины всех полей, мне в структуре сделать переменные фиксированной длины? |
|||
|
||||
volatile |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Чтоб ответить на ваш вопрос, нужно сначала понять что вы хотите сделать. Из вашего кода (не имеющего смысла), ничего не понятно. Например, если вы хотите хранить строку в структуре, и вы уверены что длина этой строки никогда не превысит допустим 15 байт, то соответственно:
|
|||
|
||||
Lockdog88 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 22.4.2010 Репутация: нет Всего: нет |
Да, я хочу хранить данные фиксированного размера в структуре, далее, мне нужно эти данные отправить по радиоканалу, собственно, текущая функция, которая их отправляет (sendData) корректно работает, со строковыми константами (типа sendData("blah-blah"), 9);), но как передать в эту функцию переменную из структуры - у меня возникают проблемы. |
||||
|
|||||
volatile |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Lockdog88, что у вас в структуре?
бинарные данные, и вам нужно их передать? |
|||
|
||||
Lockdog88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 22.4.2010 Репутация: нет Всего: нет |
Там символьные данные. |
|||
|
||||
volatile |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
Lockdog88 |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 22.4.2010 Репутация: нет Всего: нет |
Сейчас делаю так:
Значение из структуры передаю в функцию так:
Но с другой стороны опять пустые данные |
||||||||
|
|||||||||
volatile |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
Lockdog88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 22.4.2010 Репутация: нет Всего: нет |
Спасибо большое!
Объясните дураку, что изменило добавление ещё одного байта? Там нуль-терминатор хранится? |
|||
|
||||
volatile |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Да, строки в С/С++ имеют тенденцию оканчиваться нулём. ) Кстати если у вас строка жестко равна 6 байтам, можно отвести под них ровно 6 байт тогда вместо юзать
остальное без имзенений |
|||
|
||||
Lockdog88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 22.4.2010 Репутация: нет Всего: нет |
Спасибо вам большое!
|
|||
|
||||
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |