Jump to content

    

AHTOXA

Свой
  • Content Count

    3768
  • Joined

  • Last visited

Community Reputation

0 Обычный

1 Follower

About AHTOXA

  • Rank
    фанат дивана
  • Birthday 09/04/1970

Контакты

  • Сайт
    https://antongus.github.io

Информация

  • Город
    Уфа

Recent Profile Visitors

12596 profile views
  1. ошибка при компиляции С++

    Ну, в области мелкоконтроллеров это по большей части идеологическое преимущество. Даже если кто-то создаст два экземпляра объекта UART1, то это приведёт к неработоспособности прошивки и будет обнаружено сразу. А кое-какие накладные расходы синглтон всё же вносит.
  2. ошибка при компиляции С++

    А чем в плане мелкоконтроллеров синглтон отличается от глобального объекта? (Ну, если не загоняться идеологией :-)).
  3. Возможно компилятор выбрасывает неиспользуемую переменную. Сделайте запись адреса этой переменной куда-нибудь, тогда оставит. Вот как я боролся с этой проблемой.
  4. Ну так об этом и речь. К служебному архиву, по всей видимости, имеют доступ только модераторы/админы.
  5. Да, ViKo уже предлагал это выше. Можно, но неудобно.
  6. Ну, это уже детали реализации - каким образом запускать вторую транзакцию. Можно из ISR, можно из задачи. Я там выше вопрос дописал: Реализуемо?
  7. Это сильно усложняет работу с SPI. Нельзя будет просто передать на запись произвольный блок данных.
  8. Если блок данных достаточно длинный, то это может быть невыгодно - нужен большой промежуточный буфер, и время копирования может превышать затраты на лишнее прерывание.
  9. По существу уже ответили: только копированием в промежуточный буфер. Но я бы оставил всё как есть. Но раз уж зашла речь про NXP-шные SPI и DMA, спрошу: можно ли там сделать передёргивание CS между блоками (например, после отправки команды и адреса)? Ну, без прерывания конечно.
  10. Да ладно! Вы всерьёз завели разговор о смене МК только потому, что у автора темы одно "лишнее" прерывание при отправке пакета по SPI?
  11. Отлично! Теперь бы ещё пару примерчиков вот сюда, и всем пользователям IAR+scmRTOS было бы счастье :-) Думаю, тогда @dxp точно согласится сделать новый релиз
  12. Чередующиеся прерывания

    Можно ещё счётчик таймера обнулить перед запуском.
  13. Чередующиеся прерывания

    При инициализации таймера (при изменении ARR и PSC) нужно вручную вызвать событие переполнения: TIMx->EGR = TIM_EGR_UG; Только после этого новые значения ARR и PSC будут приняты в работу.
  14. Ну, если ничего не помогает, то остаётся главный совет сисадминов: "а вы пробовали выключить и снова включить?" :-)