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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ReZeC
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб янв 02, 2016 09:12:08
Откуда: Novosibirsk

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

Сообщение ReZeC »

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

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

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

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

п.с. Мож кто за денежку (разумную) готов помочь в реализации кода ?
Ученье свет! Неучам - чуть свет и на работу.. ;)
tonyk
Это не хвост, это антенна
Сообщения: 1309
Зарегистрирован: Вт ноя 19, 2019 06:10:18

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

Сообщение tonyk »

Хм, на STM32 проще принять через DMA сразу 23 байта, а потом разбираться с посылкой. Принимать по байту, это как-то по абдуриновски. Жизнь изменилась, дружище, если чё, а ты, похоже не в курсе этого. :)
Аватара пользователя
ReZeC
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб янв 02, 2016 09:12:08
Откуда: Novosibirsk

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

Сообщение ReZeC »

[uquote="tonyk",url="/forum/viewtopic.php?p=4150608#p4150608"]Хм, на STM32 проще принять через DMA сразу 23 байта, а потом разбираться с посылкой. Принимать по байту, это как-то по абдуриновски. Жизнь изменилась, дружище, если чё, а ты, похоже не в курсе этого. :)[/uquote]


Да я про это читал... но еще не пробывал.
Ученье свет! Неучам - чуть свет и на работу.. ;)
Аватара пользователя
ReZeC
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб янв 02, 2016 09:12:08
Откуда: Novosibirsk

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

Сообщение ReZeC »

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

Вернуться в «Разные вопросы по МК»