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

ViKo

Модератор
  • Постов

    12 216
  • Зарегистрирован

Сообщения, опубликованные ViKo


  1. 24.6  USART in low-power modes

    The USART is able to wake up the MCU from Stop mode when the UESM 
    bit is set and the USART clock is set to HSI16 or LSE.
    Видимо, включает режим управления HSI

    The MCU wakeup from Stop mode can be done using the standard RXNE interrupt.
    Видимо, значит, такты HSI будут включены до получения всего слова.

  2. USART тактирую от HSI. Заведу микроконтроллер в Stop состояние. Соображаю, как пробудить. Читаю RM0377.
     

    Цитата

    24.5.17  Wakeup from Stop mode using USART
    The USART is able to wake up the MCU from Stopmode when the UESM bit is set and the 
    USART clock is set to HSI or LSE (refer to Section Reset and clock control (RCC)).
    • USART source clock is HSI
    If during Stop mode the HSI clock is switched OFF, when a falling edge on the USART 
    receive line is detected, the USART interface requests the HSI clock to be switched 
    ON. The HSI clock is then used for the frame reception.
    – If the wakeup event is verified, the MCU wakes up from low-power mode and data 
    reception goes on normally.
    – If the wakeup event is not verified, the HSI clock is switched OFF again, the MCU 
    is not waken up and stays in low-power mode and the clock request is released.

    Если HSI генератор выключен, то при срезе на USART RX (начало Start бита) генератор будет включен автоматически?
    Там же пишут, если wakeup событие не верифицировалось, HSI выключается. То есть, автоматом. Start верифицировать - это когда в середине бита прочитался 0, логично?
    Есть несколько вариантов, по какому событию пробуждать: по началу Start, по RXNE, по address match. Если по RXNE, тоже генератор HSI сам включится? А выключать самому, или выключится после приёма?

    Кто-нибудь занимался подобными делами?

  3. В Фотошопе есть уже. Там и выравнивание слоёв автоматом и объединение тоже как-то само.  Осталось установить. Хотел бы бесплатным софтом делать. В GIMP два файла объединил - никакого улучшения не заметил. Надо на 20 попробовать.

  4. Имею слайд-сканер с Алиэкспресса. Разрешение полученного изображения со слайда мне не нравится. На глаз слайд выглядит резче. И я думаю, что, если набрать много сканов со слайда, сдвигая его на небольшое случайное расстояние, а потом совместить все изображения в одно. Должно же увеличиться результирующее разрешение. Ну, как в осциллографах на развёртках со случайными выборками. Только в данном случае совмещать изображения я буду вручную.  Как складывать все изображения? Допустим, сначала интерполировать каждое, потом сложить, потом децимировать-усреднить до некоего разрешения. Годится? Может, что-то подобное уже есть?

    https://en.wikipedia.org/wiki/Super-resolution_imaging
    Раздел "Технические реализации"

  5. static constexpr Pin SNSFLT        { GpioName::na, GpioBitn::bn00, GpioMode::in, GpioType::pp, GpioSpeed::lo, GpioPull::np, GpioInit::hi, GpioLock::lk, GpioAltf::af00 };
    ...
    using GpioA = Gpio <SNSFLT, SNSFIR, TXL1, RXL, TXL2, LPL, ALERT_N, TAMP, 
    				INSL, DBGTX, DBGRX, LEDR, LEDG, SWDIO, SWCLK, SNSEN_N>;

    Перенёс в x.hpp, всё компилируется. Не нравится, что определение класса и его использование сделано в одном файле. Но можно и на два разделить. Хотя, оставлю так.

  6. Решил я в реальном проекте продолжить когда-то начатое. И столкнулся со следующей проблемой. Возможно, решение простое, но я его не нахожу.

    В одном заголовочном файле x.hpp описал выводы МК в виде структур. Все типы описаны как перечисления.
    Там же описан и шаблон класса порта со всеми статическими функциями - config, lock, read, write...

    /*! GPIO Pin structure  */
    struct Pin {
        GpioName    name;            // port name
        GpioBitn    bitn;            // bit number
        GpioMode    mode;            // mode
        GpioType    type;            // output type
        GpioSpeed    speed;            // output speed
        GpioPull    pull;            // pull-up/pull-down
        GpioInit    init;            // initial output data
        GpioLock    lock;            // configuration lock
        GpioAltf    altf;            // alternate function
    };
    ...
    template <const Pin & ... PN>
    class Gpio
    { ... }

    В исходном файле x.cpp определяю выводы. И далее описываю порт целиком.

     static constexpr Pin SNSFLT        { GpioName::na, GpioBitn::bn00, GpioMode::in, GpioType::pp, GpioSpeed::lo, GpioPull::np, GpioInit::hi, GpioLock::lk, GpioAltf::af00 };
    ...
    using GpioA = Gpio <SNSFLT, SNSFIR, TXL1, RXL, TXL2, LPL, ALERT_N, TAMP, 
    				INSL, DBGTX, DBGRX, LEDR, LEDG, SWDIO, SWCLK, SNSEN_N>;

    Но когда из main функции в файле y.cpp пытаюсь вызвать функцию для конфигурации, получаю ошибку, что SNSFLT не описан.

    GpioA::config();

    error: use of undeclared identifier 'SNSFLT'

    Попробовал заменить на 

    extern constexpr Pin SNSFLT        { GpioName::na, GpioBitn::bn00, GpioMode::in, GpioType::pp, GpioSpeed::lo, GpioPull::np, GpioInit::hi, GpioLock::lk, GpioAltf::af00 };

    Ничего не меняется. В чем дело?
     

     

    Когда же выводы определяются в том же файле y.cpp, компилируется без ошибок.

  7. Я имён не давал. Назначал мех слои по типам. Но не сразу выработал систему. Поэтому эти типы и лезут со всех мех слоёв? Очередной косяк от "лучшего в мире...". Со всех открытых библиотек и плат выбирают типы для номеров.

  8. Пытаюсь настроить цвета слоёв. Хотел бы заодно почистить назначение слоёв. Имею вот такую таблицу. Почему слои дублируются? Это связано с тем, какие слои в разных открытых библиотеках и платах? Можно как-то очистить ненужное назначение (тип, как они называют)?

    L.jpg

  9. В панели PCB Library в окне Other видны только площадки и шелкография. Когда редактирую компонент, отключаю площадки (хватает слоёв Paste и Solder). И тогда в этом окне вижу только шелкографию. Есть способ добавить туда информации с других слоёв? А то пользы от этого окна нет никакой.

  10. Вопрос возник о номерах слоёв. Особенно, пар слоёв. Их нумеруют, кто во что горазд. Но современный АД должен по типу слоя или пары слоёв все компоненты перевести в нужные слои. Как это делается - слои компонента перенумеровываются в плате в слои, что с шаблоном платы шли?

    2 минуты назад, Uladzimir сказал:

    Это было давно. По просьбе трудящихся-- уже показывают, если номер не больше 32.
    В статье первая картинка с номерами. В середине -- без (остатки картинок старой редакции)

    У них, получается, не только картинка неправильная, но и текст устарел.

  11. https://www.altium.com/ru/documentation/altium-designer/working-with-mechanical-layers-ad
    "Если отдельному механическому слою или паре слоев компонента назначен тип слоя, то номер механического слоя не будет отображаться, обозначая то, что система будет управлять и сопоставлять этот слой по типу, а не по номеру."

    У меня же во всех версиях, включая последнюю вчерашнюю, номера слоёв показаны. Что это значит? Или это где-то настраивается?


     

×
×
  • Создать...