Size: a a a

2021 August 04

A

Alexei in Embedded Group
Тогда ок, значит хорошо что заказал 6-8 вольт, спасибо
источник

ED

Electronics Designer in Embedded Group
Вот эти светодиоды на сайте производителя
https://cree-led.com/products/xhp-family-leds/xhp-leds
источник

ED

Electronics Designer in Embedded Group
Вообще, светодиод - это не лампочка. Он не ограничивает ток сам. Если подключить этот ваш "восьмивольтовый" светодиод к батарее на 8 В, он скорее всего сгорит, если у батареи будет достаточно низкое внутреннее сопротивление.

Все схемы включения светодиодов подразумевают внешнее ограничение тока через них; либо пассивное, резистором, либо активное, электронным драйвером.
источник

ED

Electronics Designer in Embedded Group
Для светодиодов прежде всего нормируется мощность и предельный ток.
источник

ED

Electronics Designer in Embedded Group
А среднее падение напряжения зависит от полупроводника, из которого светодиод изготовлен, и от схемы внутреннего включения кристаллов, если это сборка.
источник

KA

Konstantin Akmarov in Embedded Group
Ещё стоит добавить, что есть фонарики с линейными и импульсными стабилизаторами, дальше идут фонарики с мк, где можно управлять и сохранять заданный ток, есть отображение заряда аккума, и всё адовое управление меню на одной кнопке
источник

И

Игорь in Embedded Group
(Код как обычно выложить не могу, если что фоточки, попробую описать проблему).    Объявил структуру, в хедере библиотеки подключаемой к главному файлу. И из этой библиотеки пытаюсь работать с этой структурой и функциями, например, init(&name_struct, &pointer_data_in_struct), pointer_data_in_struct это указатель который расположен в структуре. Не могу понять как мне эту структуру инициализировать в main файле
источник

E

Evgen in Embedded Group
указатель глобальный на эту структуру создайте, дайте ему адрес этой структуры и через него работайте
источник

E

Evgen in Embedded Group
 c файл 
Setting_type ParametrsStr={0};

Setting_type *Parametrs=&ParametrsStr;

h файл
typedef struct SettingStruct {
 float ConstDelta;
 float ValueDelta;
 char Adress;
}Setting_type;


#endif /* CODE_INC_PARAM_H_ */
/*!****************************************************************************
* Exported variables
*/

extern Setting_type *Parametrs;

Через указатель работаете
источник

И

Иван in Embedded Group
А структуру где инишь? Выше уже еаписали
источник

E

Evgen in Embedded Group
я ему уже пример скинул
источник

LZ

Leonid Zaliubovskii in Embedded Group
Вах, зачем так делать?

Setting_type ParametesStr ={0};

Лучше православно, через memset
источник

E

Evgen in Embedded Group
да сразу занулил
потом заинитил, как удобно
в чем плох такой подход?
источник

LZ

Leonid Zaliubovskii in Embedded Group
Ну и на мой вкус опускание _t не сильно ок, позволит не запутаться, где тип, а где переменная
источник

E

Evgen in Embedded Group
на вопрос выше то ответите?)
источник

LZ

Leonid Zaliubovskii in Embedded Group
Вариант с {0} не то чтобы плох. Но он не очевиден тем кто не вчитывался в стандарт. И я не уверен, что он будет работать для какого либо значения, окромя 0

Поэтому, я предпочитаю через memset это делать.

memset(&struct_name, 0x00, sizeof(struct_name));
источник

E

Evgen in Embedded Group
так это стандарт заполнение структуры 0)
я думал это очевидно
источник

LZ

Leonid Zaliubovskii in Embedded Group
Как более универсальный и наглядный вариант. Но твой тоже вариант зануления будет работать.

Правда я его использую, когда структуры поля некоторые нужно заинитить только.
источник

LZ

Leonid Zaliubovskii in Embedded Group
Я встречал тех, кому не очевидно 😁
источник

LZ

Leonid Zaliubovskii in Embedded Group
А судя по вопросам ТС, тут тоже может быть такой случай. Потому я и бурчу 😉
источник