avatar
Дак образцы именно для коммерческого применения и нужны, наверное, вы что-то не так поняли. Кстати, TI нынче не шлет в Украину вообще ничего, даже если заплатить. Объясняют это тем, что слишком много посылок не доходит до адресата.
avatar
На сайте попробовал заказать микросхему безcплатно (sample), заказ отменили, потому что мой проект им смахивает на комерчиский. А я просто написал что микросхема нужна для «Robot car model»
avatar
Вот оно как. А я всё думал, с чем связано требование на минимальный ESR у TPS7333. Они даже советуют ставить 1R резистор, последовательно с конденсатором.
avatar
Никто не мешает создавать объекты с виртуальными функциями статически.

Если выбор стоит только между стеком и кучей (static-only классы, кстати нельзя создать на стеке или в куче — вот и потеря гибкости), то стек не порвет — просто стек нужно больше сделать и все. По использованию памяти будет — абсолютно тоже самое, что и выделить память для статического объекта. Кроме того, стек можно еще и в других местах использовать.

Лично я объекты создаю только статически. Иногда использую allocate-only кучу.
avatar
Если объект не имеет статичных полей, чтобы поюзать его, его нужно создать:) а создать как? на стеке или в куче? а если в объекте массив байт на 1000[]? Порвет стек?
Имеет смысл использовать статичный класс, чтобы юзать модификаторы доступа к полям и методам. А как Вы создаете объекты в микроконтроллерных приложениях, статически или динамически? (имеется в виду в более серьезных uc, типо ARM).
avatar
Дак, если в классе только статичные методы, то в нем (классе) смысла нет. Тогда уж лучше не классы а namespace использовать. А виртуальность и куча — совершенно разные понятия. Вот более микроконтроллерный пример:


class ComPortChannel : public ICommunicationChannel;
class UsbChannel : public ICommunicationChannel;


ComPortChannel com_port;
UsbPort usb_port;
...

data.send_via(&com_port);
data.send_via(&usb_port);
avatar
Виртуальный метод не может быть статичным.
На микроконтроллере создание объекта (если еще тем более в куче) может ухудшить скорость работы кода.
Как правильно, если использую C++ на мк, стараюсь обходится static-only классами.
avatar
Исправил, но сообщение о ошибках лучше в личку
avatar
импульснх
avatar
спасибо, понял :)
avatar
Бусинки ставятся не расчетно, а экспериментально. То есть, ткнулся осциллографом->увидел грязь->поставил бусинку. Когда такие итерации окончены, делают вторую ревизию платы и никакого оверинжиниринга не получается.
avatar
Э… Я ведь уточнил почему --> больше не всегда означает лучше. Можно же наставить «на всякий случай» всего и везде. В итоге получим оверинжиниринг, что не есть хорошо.
avatar
Ну, естественно, одна бусинка менее эффективна, чем две :) А паразитная емкость там очень мала и через нее ничего не может пролезть, в этом и заключается основное свойство бусинки.
avatar
Насколько мне позволило мое знание англ., тов. Джимм говорит, что применение одной ферритовой бусинки не так эффективно, как применение двух (по входу и выходу)?.. И что он говорил насчет паразитной емкости, кот. параллельно индуктивности из «бусинки»?..
p.s. Второе видио — вот это я понимаю, рабочий беспорядок :)
avatar
По падению напряжения согласен — это обязательно нужно учитывать. Разве что не найдешь шотки на большие напряжения. Подправил статью.

А супрессор я обычно ставлю больше питающего и меньше максимального для микросхемы — питающее 24Вольта в проекте, микросхема держит максимально 60 Вольт между выходными точками. Так что 33В супрессора самое то для подавления скачков.
avatar
Проблема с супрессорами в том, что их нужно выбриать на напряжение больше питающего, иначе через них потечет основной ток. Но если их брать на напряжение больше питающего, то они не защитят от защелкивания.

Правда еще вопрос, какие быстрее
Для защиты от защелкивания всегда нужно использовать Шоттки. Из-за низкого падения, они не дадут потечь току внутрь микросхемы.
avatar
Супрессор защищает от выбросов. Причем довольно неплохо.
А про вилочки диодные я и говорю. Правда еще вопрос, какие быстрее — у HER-ов как правило емкость перехода меньше на порядки.
В своей девайсине у меня стоят Шотки из БП-шников компьютерных — что было под рукой.
avatar
Скорее всего, пробивается из-за защелкивания выходного каскада. В таком случае супрессор не поможет (точнее, похоже, но его нужно уж очень точно подбирать), зато помогут вилки из диодов Шоттки с выходов на землю и питание.
avatar
Хотел замечаний, получи:
Объявляем библиотеки и данные:
Ты в каждой статье их объявляешь. Пора уже вынести куда-нибудь.

//общее количество разрядов индикатора
#define LEDDIGITS 4

Если ты уже испольуешь класс, то он не должен имет таких вот явных внешних зависимостей, особенно, дефайнов. Намного лучше при создании класса указать, сколько у индикатора будет сегментов. Правильнее всего это сделать шаблонами:

template <uint8 SegmentCount> class SegmentDisplay
// а потом сделать тайпдеф для своего индикатора:
typedef SegmentDisplay<4> RlnSegmentDisplay


Это хоть и правильно, но сложно и не нужно. Ведь в текущей реализации нельзя использовать несколько индикаторов. В итоге, у тебя два варианта — вынести весь код, который специфичен для твоего индикатора в отдельные методы и в своей реализации переопределять их:

class SegmentIndicatorBase
{
    protected:
        virtual int segmentCount() = 0 const;
        ....
};

class RlnSegmentIndicator : protected SegmentIndicatorBase
{
    protected:
        virtual int segmentCount() { return 4; };
        ....
};


Либо просто забить и прописать 4 константой в классе.

void Init(uint8_t _Base);//функция инициализации
Всегда радовали такие комментарии :)

мне не удалось передать указатель на эту функцию ни изнутри класса, ни снаружи
Указатель на метод класса называется «делегат». Фишка в том, что чтобы вызвать метод класса нужно не просто его вызвать, но еще и передать ему указатель на данные класса. Поэтому твой хак — вполне нормальная штука.

BUTTONSSETUP;

Такого вообще лучше не делать. Совсем не понятно, что это.

uint16_t UIntPow(uint16_t _data, uint8_t _pow){//Возведение целого числа в степень

Ты извини, но функция гениальна. Напиши лучше просто таблицу

Ну, это — для начала :)
avatar
Будет. Реализую знаковый и десятичный вывод на индикатор и будет.