Jump to content

MasterElectric

Members
  • Content Count

    468
  • Joined

  • Last visited

Community Reputation

61 Обычный

About MasterElectric

  • Rank
    Постоялец

Электроника

  • Стаж в электронике
    6-10 лет

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. @xrou Или гугли что такое в UART IDLE.
  2. как его определяет STM32 ST-LINK Utility? отзывы нормальные у продавца... Device ID прочитай и все сразу станет ясно.
  3. идея только одна никто не использует кеш с ДМА
  4. MasterElectric

    I2c Slave

    Какой еще задержкой, зачем тебе тогда ДМА? Почему именно 7 что за глупости еще. Напиши нормальную функцию передачи пакета данных по ДМА на шине и2ц и все. Я имею в виду универсальную. А слейв ну тогда приема данных и кто его знает какой там у тебя алгоритм, протокол. Сделай так в CNT ДМА впиши масимальный размер приемного буфера. По стопу, прерыванию от и2ц останавливай ДМА и лезь читать его счетчик отнимай и все.
  5. ты просто наверное не в курсе что unsigned char == uint8_t так что ты ничего не изменил в лучшую сторону убрав volatile, а только ухудшил свою ситуацию. забей на это не трать впустую свою жизнь.
  6. @strifonoff Если условия удовлетворяют можно просто в CCR4 записать значение больше ARR, т.е. если выход при апдейте в нужном состоянии, то можно и так и не нужно останавливать таймер. Можно остановить, обнулить, форсированно перевести выход ШИМ в нужное состояние. @strifonoff почитай http://dimoon.ru/category/obuchalka https://hubstub.ru/stm32/
  7. @Ivan Rusev Зачем себя насиловать AVR что больше не продают? Как говорят американцы... играй в своей лиге)) Или читай документацию, и не пиши сюда ерунду.
  8. Я уже ему сто раз давал ссылки на статьи. Начни свой путь как все с GPIO и LED.
  9. Он уже добрался до electronix. ЛСД разрушает ЦНС вот и не выходит на шине I2C. .
  10. А это потому что их не нужно включать.
  11. Просто так это сделать нельзя, нужно через скрипт линкера, а иначе будет лажа.
  12. @DimaK Протокол открыт ищите на сайте st.com И так как вы хотите сделать нельзя, однозначно.
  13. @oner не знаю проблем ни разу не было, Java установлен? прочитайте системные требования https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-ides/stm32cubeide.html Windows х64?
  14. Это можно сделать в любом случае, прерывание имеет приоритет над while и даже если while вообще повис, прерывания будут работать. При чем тут прерывание имеет приоритет над while? Предположим вам надо мигнуть сто раз в цикле в вашем алгоритме светодиодом (любая задача с низким приоритетом). Вот вы приняли пакет по юарту и узнали об этом в прерывании, что вы делаете? вы установили флаг о том что пришел пакет и вышли из прерывания и вы вышли в процедуру мигания светодиодом сто раз, потому как вы не знаете в какой момент времени вы получите пакет, а обработка пакета выше по приоритету чем мигание диодом. Вот вам пример отсутствия у конечного автомата системы приоритетов. А как можно работать при РТОС я уже писал выше. Я лично готов платить по 150 тактов на переключение но получить в итоге более структурированную программу разбитую на модули чем один огромный while. Ну нет там приоритетов вы просто по кругу перебираете условия, а внутри условия перебираете еще условия и т.д.
  15. Могу выслать на флешке с отладочной платой на H750 и отладчиком за 100$
×
×
  • Create New...