Перейти к содержанию
    

Лидеры

Популярный контент

Показан контент с высокой репутацией 18.01.2024 во всех областях

  1. Всё просто: sin - это "грех; согрешение; порок;" Поэтому все используют cos().
    2 балла
  2. Из практики своего перехода от АТ45 на АТ25, использовал встроенные буферы, пришлось использовать буферы в ОЗУ МК и немного команды подправить, но в общем все тоже самое. Что касается надежности, если есть вероятность отключения питания во время записи, то дублировать данные обязательно и контрольной суммой проверять на валидность.
    1 балл
  3. Поищите еще такую штуку Стартер пружинний 178F/180F/186F/188F/190F - это для мотоблоков дизельных, но там вроде такой же движок как и в генераторе. Там пружина запасает энергию от ручки через редуктор а потом прокручивает коленвал. https://www.youtube.com/watch?app=desktop&v=gsyFYN27SHA https://aliexpress.ru/item/1005006231472887.html?sku_id=12000036388781786&spm=a2g2w.productlist.search_results.8.2eae60245AuoHO
    1 балл
  4. Все очень просто: GW5A - "просто" ПЛИС; GW5AS - ПЛИС + аппаратный процессорный модуль AE350; GW5AT - ПЛИС + трансиверы (+ аппаратный PCIe); GW5AST - ПЛИС + трансиверы (+ аппаратный PCIe) + аппаратный процессорный модуль AE350. Отдельная песня - наличие аппаратных блоков MIPI (RX, TX) - но это уже надо смотреть внимательнее по подсемействам. GW5AST На платах Gowin DK_START_GW5AT-LV138FPG676A_V2.1 используется микросхема GW5AT-LV138FPG676AES (т.е. еще инженерный образец - по крайней мене, на тех платах. что есть у меня). На платах Sipeer Tang Mega 138K используется микросхема GW5AST-LV138FPG676A, но не знаю, в каком исполнении (плата до меня еще не доехала). Насчет точного артикула можно узнать у уважаемого коллеги @faa , у него такая плата есть, насколько я помню. Что касается указания точного артикула при размещения заказов, то с этим пока еще не все ясно. Я запрашивал варианты с самым быстрым спидргейдом, например GW5AT-LV138FPG676AC2/I1. Но мне на это отвечали, что такие пока еще не готовы, и вместо них предлагали GW5AT-LV138FPG676AC1/I0 (т.е. вариант со спидгрейдом помедленнее). Так что насчет доступности варианта с самым быстрым спидгрейдом вопрос пока остается открытым.
    1 балл
  5. Да там всё просто, кроме магии с распаковкой пакета параметров. Но она тоже постижима 🙂 template <typename ... Operations> // здесь список типов произвольной длины void modifyReg(volatile uint32_t& reg, Operations&& ... ops) // здесь список параметров, каждый параметр имеет тип из списка типов { auto val = reg; (..., (void)ops.apply(val)); // а вот это - распаковка. оператор "запятая" поочерёдно применяется к результату вызова функции apply() для каждого объекта из списка ops reg = val; } Можно ещё через лямбды (wandbox), но этот способ мне меньше нравится.
    1 балл
  6. Если нужно, чтобы это всё реализовывалось за одну RMW операцию с регистром, то делаем через вспомогательную переменную, и убираем volatile в параметрах функций apply(): template <typename ... Operations> void modifyReg(volatile uint32_t& reg, Operations&& ... ops) { auto val = reg; (..., (void)ops.apply(val)); reg = val; } вот ссылка на wandbox, поиграться. UPD: вот ещё ссылка, немножко подрихтовал: wandbox 2
    1 балл
  7. Если я правильно понял задачу, то это можно сделать примерно так: struct Set { Set(uint32_t mask) : m_mask(mask) { } void apply(volatile uint32_t& reg) { reg |= m_mask;} private: uint32_t m_mask; }; struct Clr { Clr(uint32_t mask) : m_mask(mask) { } void apply(volatile uint32_t& reg) { reg &= ~m_mask;} private: uint32_t m_mask; }; struct Inv { Inv(uint32_t mask) : m_mask(mask) { } void apply(volatile uint32_t& reg) { reg ^= m_mask;} private: uint32_t m_mask; }; template <typename ... Operations> void modifyReg(volatile uint32_t& reg, Operations&& ... ops) { (..., void(ops.apply(reg))); } int main() { uint32_t reg {0b10001}; modifyReg(reg, Set(0b010), Clr(0b01)); std::cout << std::hex << reg << "\r\n"; modifyReg(reg, Inv(0b1111)); std::cout << std::hex << reg << "\r\n"; }
    1 балл
  8. чтобы проскочить точку макс компрессии, привяжите к дёргалке гантель и тяните разгоняя в том числе гантель, которая создаст дополнительное усилие на дёргалку как раз тогда. когда нужно. Но это опасно.
    1 балл
  9. нет ничего печальнее на свете, чем повесть о заклинившем RESET'e все что можно сказать об отечественном производстве микросхем
    1 балл
  10. Вы просто скачали не ту программу. Это "настоящий" Ansys для механических расчетов. Вам надо качать что то вроде этого https://rutracker.org/forum/viewtopic.php?t=6233383
    1 балл
  11. Тоже столкнулся с проблемой, благодарю!
    1 балл
×
×
  • Создать...