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

Выбор способа написать программу.

40, я с 18-ти начинал. 

Странно, что у вас не хватает усидчивости спустя 6 лет от начала мучений прочитать книжку по языку Си дальше чем "иф-ельзе". 🙂 Вы выиграли конкурс на самого тормознутого ученика 🙂 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

40, я с 18-ти начинал. 

Странно, что у вас не хватает усидчивости спустя 6 лет от начала мучений прочитать книжку по языку Си дальше чем "иф-ельзе". 🙂 Вы выиграли конкурс на самого тормознутого ученика 🙂 

Книжку по С я прочитал всю, даже по С++ немного. Еще я очень много других книг и не только прочитал по чуть-чуть. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 28.06.2023 в 19:27, aaarrr сказал:

Рекомендую приобрести там же C8051F021-GQ - классическое 51 ядро, не какой-то там новомодный ARM7.

Не такое уж и классическое, 1 такт на МЦ вместо 12. Плюс такое "зло", как внутрисхемная отладка. 🙂 Презабавно, кстати, устроенная... хотя у ранних серий C8051 м.б. чуть иначе было.

Для управления шаговиками в принципе годится. На PCA можно намутить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 28.06.2023 в 12:16, xvr сказал:

А поставить триггер на DRDY и получить на его выходе WS для I2S не подошло?

Я тут жаловался летом на тормоза с прерываниями в ESP32 и что мне пришлось программный огород городить и делать поллинг коротного сигнала DRDY на отдельном ядре.

Оказалось, что даже на отдельном ядре, даже с vTaskSuspendAll() в этой единственной задаче, процессор умудряется периодически отвлекаться/зависать на 5-6 микросекунд (на 240 MHz) и не поллить то, что мне нужно. Уж не знаю, что там он делает- просто все-таки шедулер или функция библиотеки ESP-IDF запущенные на другом ядре, тормозят оба ядра, то ли доступ к какой-то памяти блокирует работу другого ядра, вариантов много. Но факт налицо- я не могу гарантировать непрерывное выполнение единственной задачи на выделенном ядре. Может без RTOS можно, но мне не подходит.

Бяка неприятная, и если не знать что искать- то можно долго разбираться.

 

Так что пришлось все-таки городить из короткого DRDY нормальный CS длительностью немного больше времени передачи нужного количества байт, и далее стандартным драйвером SPI Slave обрабатывать принятое. Обошелся формирователем из таймера 555 плюс два транзистора для инверсии входа и выхода как мне нужно. Так как у меня есть запас по времянке (длительность передачи нужных байт примерно 30% от периода транзакций) , то считать клоки для точного формирования CS не нужно, стабильности таймера на RC достаточно.

В-общем, вот такой интересный факт при задействовании второго ядра ESP32 и FreeRTOS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 28.06.2023 в 21:46, xinortcele сказал:

Книжку по С я прочитал всю, даже по С++ немного. Еще я очень много других книг и не только прочитал по чуть-чуть. 

Значит, пора действовать!

Практика - критерий истинности, как цитировал кого-то ВИЛ

И опыт, сын ошибок трудных, и гений, парадоксов друг (С) Нашевсё

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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