
Vasia
20.06.2018
07:18:42
кроме аллокации нет никаких вариантов вернуть или нулл или структуру?

Catethysis
20.06.2018
07:18:45

k
20.06.2018
07:18:52
Фича

Google

Vasia
20.06.2018
07:19:42
ну я делаю парсер (вчера писал)

k
20.06.2018
07:19:49
Нулл всегда можно вернуть ес указатель
А под структуру может быть место в статичном массиве

Vasia
20.06.2018
07:20:25
и хочу проверять, если у него готовые данные ввиде структуры, которую уже будет обрабатывать другая функция, а если нет - она бы вернула нулл

k
20.06.2018
07:20:25
Чтоб не выделять

Vasia
20.06.2018
07:20:43
просто хз как хорошо аллокация работает на 8битном контроллере

k
20.06.2018
07:20:50
Return ptr else return null

Ingenegr
20.06.2018
07:21:57

k
20.06.2018
07:23:28
Исторический центр
Однако можно вывести. Они там где на улицах чисто, нет гопоты и много иностранцев
Впрочем это достаточное но не необходимое условие

Google

k
20.06.2018
07:26:49

Kirill
20.06.2018
07:27:14
Всем доброго утра))) а кто то слышал что то об upverter?

Vasia
20.06.2018
07:27:26

Anastasia
20.06.2018
07:27:42

ОлегЪ
20.06.2018
07:28:56

k
20.06.2018
07:28:57

Kirill
20.06.2018
07:28:57
типа EDA как понял, и они обещают очень большую базу компонентов у себя

Vasia
20.06.2018
07:29:29

k
20.06.2018
07:29:30
Я про то что можно создать структуру в хранилище для этого предназначенном
А, это да
Скок угодно
Она всегда будет прибита в памяти по адресу
Более того
В функции где тебе нужен ответ
Ты можешь выделить на стеке место под нее
Объявив внутри функции
Передать указатель на нее в функцию которая должна ее заполнить
Иии собсно всё

Vasia
20.06.2018
07:31:10
чот не понел последнего варианта

Google

k
20.06.2018
07:31:11
А возврат функции тру фолс
Ну это классика

Vasia
20.06.2018
07:31:36
у меня не матрешный вызов, а последовательный

k
20.06.2018
07:32:06
Hal_OK Init_uart(UART u1)
Псевдокодом
Хоть

Vasia
20.06.2018
07:32:39
сек

k
20.06.2018
07:32:51
с

Anastasia
20.06.2018
07:37:30

Vasia
20.06.2018
07:37:50
if(UART_Available()){
i2c_command_struct_ptr = I2C_FSM(UART_GetChar);
if(i2c_command_struct_ptr != NULL)
I2C_Process(i2c_command_struct_ptr)
}
хотя тут косяк в том, что структура у меня может быть разных размеров

k
20.06.2018
07:41:42
I2CSTR I2c_struct ;
if(UART_Available()){
if( I2C_FSM(UART_GetChar, I2c_struct))
I2C_Process(I2c_struct)
}
Собсно так халоподобно
Ааа, чтоб не юзать динамику поле данных длиной с макс пакет
И поле длины
Инач фрагментации
И боль
Не нужно пытаться выиграть длину пакета у контроллера

Vasia
20.06.2018
07:43:14
да не, придется обработку команды в FSM пихать, чтобы отказаться от буфера

Google

k
20.06.2018
07:43:17
Это дорого обойдется
Чо?
Зачем?
Она все равно там както создана
Иначе бы куда легли данные
Эти данные все равно приходят
И пишутся

Vasia
20.06.2018
07:44:13
ну всмысле сделать матрешкой, чтобы побайто обрабатывать полученные данные

k
20.06.2018
07:44:18
Пф

Vasia
20.06.2018
07:44:23
они уже лежат в кольцевом

k
20.06.2018
07:44:25
Сомнительно
Ммм, так а это
Чо мешает
В структуре поле
Указатель на начало
И длина
Дублировать то не надо

Vasia
20.06.2018
07:45:41
так конечно ближе к телу, но полная привязка к реализации
я с C# слез, мне от такого больно

k
20.06.2018
07:46:05
Лол

Google

k
20.06.2018
07:46:10
В мк только так
Иначе пухло и не по делу

Vasia
20.06.2018
07:46:41
хочу сделать более автаномное, чтобы можно было поменяв только функцию UART_GetChar воткнуть в любое железо

k
20.06.2018
07:46:45
Выбрал хранилищем кольцевой - развивай его функции
Ну так
Пока можно

Vasia
20.06.2018
07:47:09
ну так выбор чемпиона в виде: считать, очистить и пиикнуть есть
просто они реализованы отдельно

k
20.06.2018
07:47:32
Тока прием в норме дма
Ну у 32х битных мк
Которые мне ближе

Vasia
20.06.2018
07:47:54
дма у меня в будущем, пока авры утилизирую

k
20.06.2018
07:48:01
А, тож дело
У мя горсть пылится
Но лень их юзать

Vasia
20.06.2018
07:48:27
мне тоже лень, но выкидывать жалко

k
20.06.2018
07:48:32
Твои загоны более подходят к стмкам
В аврках я половину на асме кодил
С полностью глобальным всем
А вот в стм32 при создании хала разработчики тем же терзались

Vasia
20.06.2018
07:50:17
я хал уже трогал, видимо тут также пытаюсь подсознательно реализовать

k
20.06.2018
07:50:20
Глобальные макроструктуры против защищенных локальных