Size: a a a

Анархическая электроника

2021 February 18

l

lexx in Анархическая электроника
wut
источник

B

Byte in Анархическая электроника
Vasiliy
чтоб работало универсально с любым типом
Думаю, стоит всё-таки K&R почитать, про язык Си.
источник

l

lexx in Анархическая электроника
Vasiliy
ну это с оперативкой, а мне просто с массивом чаров.
че ты хочешь-то?
источник

V

Vasiliy in Анархическая электроника
Мне надо отправить пакет через лору. Максимальный пакет там 255 байт. Я тут облажался со строковой данной, вначале все через String делал, а потом оказалось что максимальная длина стринга равняется макимально свободному фрагменту памяти - и иногда там падает до 40-50 байт что вообще не прокатывает... В итоге я понял что надо создать массив char[255] куда бы я запихивал данные в бинарном виде для оптимизации. Так вот мне туда надо как то запихнуть и байты и интеджеры и лонги. Вот мне и интересно, как например в 100 позицию массива чаров запихнуть лонг
источник

B

Byte in Анархическая электроника
Vasiliy
Мне надо отправить пакет через лору. Максимальный пакет там 255 байт. Я тут облажался со строковой данной, вначале все через String делал, а потом оказалось что максимальная длина стринга равняется макимально свободному фрагменту памяти - и иногда там падает до 40-50 байт что вообще не прокатывает... В итоге я понял что надо создать массив char[255] куда бы я запихивал данные в бинарном виде для оптимизации. Так вот мне туда надо как то запихнуть и байты и интеджеры и лонги. Вот мне и интересно, как например в 100 позицию массива чаров запихнуть лонг
Указатели, тайпкаст, да хоть memcpy.
источник

V

Vasiliy in Анархическая электроника
Условно говоря представитьч то 255 это размер памяти epprom, и там есть команда put которая пихает в определенную позицию в зависимости от входной переменной нужное число байт
источник

l

lexx in Анархическая электроника
хочешь - наверни себе оберток под каждый тип, которые под капотом отсчитают смещение
источник

V

Vasiliy in Анархическая электроника
ну вот пока про это думаю, но зашел спросить может что готовое есть уже
источник

l

lexx in Анархическая электроника
хотя не уверен что в маленьких процессорах такие хелперы - это правильно
источник

V

Vasiliy in Анархическая электроника
по любому это же распространенная задача
источник

l

lexx in Анархическая электроника
а гугл что говорит, раз так?
источник

l

lexx in Анархическая электроника
источник

V

Vasiliy in Анархическая электроника
тип того, я чет когда искал везде было как числа в строковом виде записать в массив чар а не в бинарном )
источник

l

lexx in Анархическая электроника
google://long to char array
источник

l

lexx in Анархическая электроника
(arduino)
источник

C

Chuvi in Анархическая электроника
Vasiliy
Мне надо отправить пакет через лору. Максимальный пакет там 255 байт. Я тут облажался со строковой данной, вначале все через String делал, а потом оказалось что максимальная длина стринга равняется макимально свободному фрагменту памяти - и иногда там падает до 40-50 байт что вообще не прокатывает... В итоге я понял что надо создать массив char[255] куда бы я запихивал данные в бинарном виде для оптимизации. Так вот мне туда надо как то запихнуть и байты и интеджеры и лонги. Вот мне и интересно, как например в 100 позицию массива чаров запихнуть лонг
такой подход несколько рискован
был у меня примерно такой код (сократим для общего понимания смысла):
unsigned char BinData[ДовольноМного];
*(int*)(&(BinData[3]))=12345;

На компе он нормально работал. А MIPS-овский проц в железке сказал "хер вам" и выдал исключение. Ему не понравилась попытка записи по невыровненному адресу
источник

V

Vasiliy in Анархическая электроника
Я без указателей делать буду
источник

C

Chuvi in Анархическая электроника
Vasiliy
Я без указателей делать буду
Без указателя - это как?
источник

V

Vasiliy in Анархическая электроника
сразу объявлю массив на 255 символов и в первом байте будет размер лдя передачи
источник

C

Chuvi in Анархическая электроника
Vasiliy
сразу объявлю массив на 255 символов и в первом байте будет размер лдя передачи
Вы хотите впихнуть long, который по хорошему надо бы выровнить по 8 байт в 100-й элемент.
если я ничего не путаю, 100 очень хреново делится на 8
источник