Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: m0518ld2ae - страшный зверь, на кота не похож!

Ср дек 29, 2021 14:11:51

23 дня знакомился с STM32
Классная штука, но до сих пор не пришел к реализованному (рабочему) алгоритму программы.

Понимаю, что должно примерно быть так:
1. ПРишел байт по урату, сработало прерывание.
2. в обработчике обрабатываем байт, складируя в свой приемный буфер
3. дальше должна быть машина состояния, типа
жду начала посылки, получил - переходит в след. состояние.
жду данных, данные закончились либо по протоколу понимаем что все получил, либо флаг окончания передачи приходит

Но это похоже на то, когда посылки идут разово...
У меня то поток, он не прерывается.
Значит:
1. Ловим первый байт
2. проверяем - начало нашего ключа или нет
3. если да - то ловим следующеи 4 байта
4. проверяем наш ли это ключ или нет
5. если да - принимаем 18 байт данных, где известно, что 1-й из 18 это первый канали, 2-й - второй и т.д.
6. при обработке данных сразу выпуливаем на управление ШИМОМ
7. сбрасываем все кроме состояние ШИМА на ногах и ждем снова стартового ключа

... но вот реализовать это не получается.
Не могу понять что в обработке прерывания оставить, а что в основной цикл запулить...
и где какие проверки делать...

п.с. Мож кто за денежку (разумную) готов помочь в реализации кода ?

Re: m0518ld2ae - страшный зверь, на кота не похож!

Ср дек 29, 2021 20:06:50

Хм, на STM32 проще принять через DMA сразу 23 байта, а потом разбираться с посылкой. Принимать по байту, это как-то по абдуриновски. Жизнь изменилась, дружище, если чё, а ты, похоже не в курсе этого. :)

Re: m0518ld2ae - страшный зверь, на кота не похож!

Чт дек 30, 2021 10:23:56

Хм, на STM32 проще принять через DMA сразу 23 байта, а потом разбираться с посылкой. Принимать по байту, это как-то по абдуриновски. Жизнь изменилась, дружище, если чё, а ты, похоже не в курсе этого. :)



Да я про это читал... но еще не пробывал.

Re: m0518ld2ae - страшный зверь, на кота не похож!

Пн янв 17, 2022 10:29:26

Реализовал на STM32F103. Пhограмный PWM, все через DMA. В основном цикле ни строчки кода. Частота 20 МгЦ. Работает отлично. Всем откликнувшимся котам и котикам - Спасибо!
Ответить