Size: a a a

2021 April 01

RC

Roman Clor in Embedded Group
Dmitry
Гугл вообще прячется от такого запроса
Попробуйте прозвонить, если я прав там на 1 площадке земля, на другой 12v
источник

jp

jon pedro in Embedded Group
Roman Clor
Эм, их там же клепали)
Спрос та меньше, следовательно дифицита может и не быть
источник

RC

Roman Clor in Embedded Group
ну раз все так делают, то и я черной магией воспользуюсь...
return ((uint8_t*) pUserInputBufferFrame)[key_code];
источник

К1

Ком 123 in Embedded Group
Roman Clor
Я просто почитал про packed атрибут, там написано ай ай бывает ... вот и хз теперь)
Паковать структуру нужно именно тогда, когда у тебя разные типы данных.
источник

К1

Ком 123 in Embedded Group
Roman Clor
ну раз все так делают, то и я черной магией воспользуюсь...
return ((uint8_t*) pUserInputBufferFrame)[key_code];
А вот так делать не надо. Это не массив, это указатель.
источник

VK

Valentin Kornienko in Embedded Group
Roman Clor
Господа, вот у меня такой не очевидный вопрос.
struct INPUT_Buttons_State {
 uint8_t right;
 uint8_t left;
 uint8_t plus;
 uint8_t minus;
 uint8_t enter;
 uint8_t cancel;
 uint8_t update;
};

struct INPUT_Buttons_State *pUserInputBufferFrame;

uint8_t keyPressAndRelise(uint8_t key_code) {
 uint8_t *pTemp = (uint8_t*) pUserInputBufferFrame + key_code;
 uint8_t toReturn = *pTemp;
 *pTemp = 0;
 return toReturn;
}
стоит ли перебирать структуру адресной арифметикой? Огромный switch не хочется, с другой стороны хоть я ничего не нагуглил, есть предчувствие UB ...
источник

VK

Valentin Kornienko in Embedded Group
можете тут посмотреть, как вариант
источник

RC

Roman Clor in Embedded Group
Ком 123
Паковать структуру нужно именно тогда, когда у тебя разные типы данных.
я пока плаваю в этом вопросе, намучался когда писал сохранение в eeprom, вот там много где отключал выравнивание итд.
источник

RC

Roman Clor in Embedded Group
Спасибо, полезный материал. Правда только в части С11
источник

L

LexsZero in Embedded Group
Roman Clor
ну раз все так делают, то и я черной магией воспользуюсь...
return ((uint8_t*) pUserInputBufferFrame)[key_code];
а еще можно вместо черной магии просто вместо структуры определить массив и адресовать его енамом.
источник

RC

Roman Clor in Embedded Group
LexsZero
а еще можно вместо черной магии просто вместо структуры определить массив и адресовать его енамом.
думаю если делать гибкое решение то вы правы.
источник

零幡

零 幡田 in Embedded Group
Roman Clor
Господа, вот у меня такой не очевидный вопрос.
struct INPUT_Buttons_State {
 uint8_t right;
 uint8_t left;
 uint8_t plus;
 uint8_t minus;
 uint8_t enter;
 uint8_t cancel;
 uint8_t update;
};

struct INPUT_Buttons_State *pUserInputBufferFrame;

uint8_t keyPressAndRelise(uint8_t key_code) {
 uint8_t *pTemp = (uint8_t*) pUserInputBufferFrame + key_code;
 uint8_t toReturn = *pTemp;
 *pTemp = 0;
 return toReturn;
}
стоит ли перебирать структуру адресной арифметикой? Огромный switch не хочется, с другой стороны хоть я ничего не нагуглил, есть предчувствие UB ...
Зойчем структура или массив, если всё вмещается в байт? Или используются тристабильные / аналоговые кнопки?
источник

RC

Roman Clor in Embedded Group
Битики? У меня что PIC ?😅
источник

零幡

零 幡田 in Embedded Group
При чём тут пик?
источник

RC

Roman Clor in Embedded Group
я от 5 байт не обеднею
источник

RC

Roman Clor in Embedded Group
а код будет чище
источник

零幡

零 幡田 in Embedded Group
С чего это чище?
источник

DB

Denis Barinov in Embedded Group
Добрый день. Есть вопрос по STM32F7 и его LCD-TFT display controller (LTDC). Вопрос простой, можно ли  перевернуть изображение на 180°?
источник

RC

Roman Clor in Embedded Group
Denis Barinov
Добрый день. Есть вопрос по STM32F7 и его LCD-TFT display controller (LTDC). Вопрос простой, можно ли  перевернуть изображение на 180°?
ну измените порядок обхода буфера кадра по обеим осям
источник

RC

Roman Clor in Embedded Group
источник