@ru_electronics

Страница 432 из 718
shadowsoul
13.12.2017
11:58:03
в embedded развели про макетки

тут - тоже хуй знает что

из sata моделей - лично могу посоветовать crucial mx300, очень неплохо по производительности и цене за гигабайт

Firelander
13.12.2017
12:00:08
некоторые модели ноутов ещё залочены по биосу, так что туда хер воткнешь что-то кастомное

Google
shadowsoul
13.12.2017
12:00:38
вайтлисты - только у Thinkpad и Dell, и только на wlan\wwan

Firelander
13.12.2017
12:01:22
ну про HP писали. Сам ещё не пробовал на своем менять, так что не знаю

Салават
13.12.2017
12:45:17
Тут то же самое чтоль?

Заблудился

Th0r
13.12.2017
12:45:47
тут надо читать описание канала

shadowsoul
13.12.2017
12:52:14
Салават
13.12.2017
12:53:40
Перефразируюсь, чтобы получить правильные ответы без лишних вопросов. Есть apc smartups 1250va (и 1000 есть, но не суть). Не XL-модификация, внешних аккумов не подразумевает. Задача - подтянуть к ним AGM-аккумуляторы на 190А/Ч. Какие нюансы следует предусмотреть? Есть ли у кого практика

Аккумуляторы новые, ещё в упаковке. Думаю о балансирах. Бюджет минимум

.huawei y52 что можете сказать про устройство
У меня в руках. Каждую минуту мне хочется его разбить. Без преувеличения. Выдан мне на время ремонта моего телефона

Вячеслав
13.12.2017
15:07:02
Google
Andy
13.12.2017
15:55:04
тут - тоже хуй знает что
Действительно, подумываю занятия расчетом антенн без компьютера. Только калькулятор на четыре действия

Кирилл
13.12.2017
18:56:47
Народ, между элементами структуры возможно перемещаться перечислением, или я многого хочу? Т.е. вместо Struct->elem Struct->base через [i]?

Maxim
13.12.2017
18:57:09
Можно завернуть её в union

Кирилл
13.12.2017
19:00:47
Можно завернуть её в union
Чуточку подробней можно?

Maxim
13.12.2017
19:01:41
Тогда надо подробнее сформулировать задачу. Если у тебя есть n полей _одного_типа_, то можно создать union, где первым членом будет массив из n элементов, а вторым структура

Если поля разного типа - то нет, в общем случае нельзя

Кирилл
13.12.2017
19:02:12
поля одного типа но разной длины

пытаться сделать структуру из указателей и обращаться к ней как к массиву, я так понимаю, бессмысленно

kaktys
13.12.2017
19:04:38
Можно массив сделать со смещениями

Но какой смысл в этом, присваивать всеравно надо разные типы

Maxim
13.12.2017
19:06:55
Задачу полностью надо сформулировать, вполне возможно, что она намного адекватнее, чем кажется

kaktys
13.12.2017
19:09:54
поля одного типа но разной длины
Строки разной длины что ле? А ля паскаль или zero termination?

Кирилл
13.12.2017
19:12:07
Строки разной длины что ле? А ля паскаль или zero termination?
typedef struct _test { char Field[20], char Memo, char Redo[12] } test;

Maxim
13.12.2017
19:12:41
Собрать указатели на начало

И поитерироваться

kaktys
13.12.2017
19:13:13
Массив со смещениями

И через него к char* присваивать

Кирилл
13.12.2017
19:14:56
а мне нужно между ними переключаться пока что выглядит довольно индуссокодуссо: switch (num) { case 0: { test->Field[i]=n; } case 1: { test->Memo=n; } ...

Google
Кирилл
13.12.2017
19:15:36
у меня просто еще и маллок под структуру, причем это всё в прерывании

kaktys
13.12.2017
19:17:11
char* temp = (char*) (&mystruct + offset[I])

Maxim
13.12.2017
19:17:29
э нет

Сначала каст, потом плюс

kaktys
13.12.2017
19:17:48
А, ну да

Кирилл
13.12.2017
19:44:00
char* temp = (char*) (&mystruct + offset[I])
Я извиняюсь за довольно тупой вопрос, а можно ли адрес элемента структуры засунуть в ячейку массива, и потом обращаться через нее как к двухмерному массиву? Что-то вроде mass[0] = &Struct->Field[0]; mass[0][5] =4; ... ?

Eugene
13.12.2017
19:44:03
у меня просто еще и маллок под структуру, причем это всё в прерывании
malloc и прерывания - антиподы. Вы бы сформулировли более обще вашу задачу, возможно её лучше вообще совсем по-другому решать, тогда и болты против резьбы, возможно, заворачивать не придётся.

kaktys
13.12.2017
19:49:47
Ну всеравно это препроцессорная хрень

Она не поймёт [I]

Eugene
13.12.2017
19:51:19
Парсер ответов АТ-команд, у каждой команды разное количество параметров и их длина
У вас команда, наверное, уже лежит в приёмном буфере. В тот момент, когда вы декодировали её структуру (а эти структуры желательно прописать определениями) приводите указатель на её начало в буфере к указателю на соответствующий тип и дальше работайте с этим указателем.

Кирилл
13.12.2017
19:51:36
увы, но у меня побайтное раскидывание

достал и сразу засунул куда надо

Maxim
13.12.2017
19:52:12
Тогда проще статически парсер сгенерить

Eugene
13.12.2017
19:53:12
увы, но у меня побайтное раскидывание
Что это значит, опишите подробнее алгоритм?

Кирилл
13.12.2017
20:00:03
Что это значит, опишите подробнее алгоритм?
Byte = USART1->DR; Если(Byte не 'буква') Если (режим = 'данные') Если (параметр = 'первый') Структура->элемент1[i] = Byte; Если (параметр = 'второй') Если (i <= n) Структура->элемент2[i] = byte; i++;

блин, шифт не зажал, ну да ладно. Примерно так всё и написано

Eugene
13.12.2017
20:09:09
моя идея в том, чтобы не "суетиться с каждым байтом", а зная (по 'параметру'), какая структура, позволить байтам последовательно заполнять буфер до нужной длинны, и когда длина достигнута наложить на этот буфер "трафарет" в виде структуры и отдать её "наверх", продолжив заполнять новый буфер (слдедующую часть буфера).

Google
Кирилл
13.12.2017
20:10:57
длина определенных параметров в ответе определенной команды может быть разной

Eugene
13.12.2017
20:12:12
Ели же вы настаиваете н своём алгоритме, то можете либо использовать, как уже советовали, union, либо "руками" создавать/приводить указатель на буфер к указателю на нужный тип и работать с ним.

Кирилл
13.12.2017
20:12:49
причем заранее она неизвестна, поэтому приходится делать маллок на структуру с максимально возможной длиной ответа, потом помещать побайтово параметры из ответа.

Eugene
13.12.2017
20:15:15
длина определенных параметров в ответе определенной команды может быть разной
А это не является проепятствием, вы же в какой-то момент понимаете фкакова фактическая длина полученной команды? Откладывайте действия по интерпретации полученной цепочки до этого момента.

Admin
ERROR: S client not available

Кирилл
13.12.2017
20:20:10
А это не является проепятствием, вы же в какой-то момент понимаете фкакова фактическая длина полученной команды? Откладывайте действия по интерпретации полученной цепочки до этого момента.
Есть такой ответ команда:"555666777",1234,2,46 но он может быть и таким команда:"2252",001,1,447 Я не против выделить временный буфер под один параметр, и потом с него по факту перекидывать в структуру, но одно такое перекидывание перекидывание может привести к парочке просёртых байт... А с DMA вопрос ещё, не придётся ли лишний слой костылей городить, ибо я пока слабо представляю, как работать с кольцевым буфером.

Eugene
13.12.2017
20:22:26
Я так понимаю, что в результате парсинга значения, разделённые запятыми должны оказаться в полях структуры?

Кирилл
13.12.2017
20:23:11
да, только кавычки тоже пропускаются

Eugene
13.12.2017
20:23:29
Т.е. каков будет результат для этих двух примеров?

Кирилл
13.12.2017
20:24:04
кстати, спасибо что косвенно подсказали, где ляп может быть, я скобки отбрасываю тоже, а они могут быть под кавычками

Структура->поле1 = 555666777 Структура->поле2 = 1234 Структура->поле3 = 2 Структура->поле4 = 46 и для второго Структура->поле1 = 2252 Структура->поле2 = 001 Структура->поле3 = 1 Структура->поле4 = 477

Eugene
13.12.2017
20:26:53
Ок, и структура обоих ответов одинакова?

Кирилл
13.12.2017
20:27:34
для конкретно этой команды - да

у других может отличаться

в смысле от этой

две сходные по содержанию я просто распихиваю в одну и ту же структуру, только поля переставляю

Eugene
13.12.2017
20:29:56
А когда становится понятна структура ('параметр' в вашем примере)? К моменту начала приёма уже известна?

Кирилл
13.12.2017
20:31:32
Я отправляю команду и запоминаю что я отправил именно её, по этому флажку и определяю структуру.

кроме того, также известно и количество параметров для неё

Eugene
13.12.2017
20:32:58
Отлично, значит структура априоре известна в момент приёма!

Google
Eugene
13.12.2017
20:41:45
Народ, между элементами структуры возможно перемещаться перечислением, или я многого хочу? Т.е. вместо Struct->elem Struct->base через [i]?
Можете расширить пример "воображаемого искомого псевдо-" кода, где бы использовалась искомая адресация не по именам полей, а по 'i'. Т.е. кода, который бы управлял бы этим i.

Кирилл
13.12.2017
20:42:48
Завтра уже, иначе не встану. Спасибо энивей.

Eugene
13.12.2017
20:42:58
Ок:)

Утро вечера муренее!

Andy
14.12.2017
05:29:48
Обычно разбивают на два процесса прием и парсер.

Max
14.12.2017
08:00:35
Привет

всем

Alexandre
14.12.2017
09:05:44
Привет
http://neprivet.ru

Этот чат для вопросов и ответов по теме

Martin
14.12.2017
09:57:03






помогите определить зверя, по маркировке даташит не ищется. дисплей из микроволновки кажется.

kaktys
14.12.2017
10:06:04
https://www.fasttech.com/product/5376300-0-36-4-digit-red-led-display-module-for-arduino

тоже 13пиновый

Страница 432 из 718