AVRcanoid

Обсуждаем контроллеры компании Atmel.
Ответить
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Это кому-то интересно? В смысле, надо ли статью писать о том, как я это сделал?

https://github.com/vpetryaev/ST7735

https://goo.gl/photos/5e8qqPt754j5KdrA6
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

80 просмотров и ни одного ответа.
Неужели и впрямь никому не интересно, как читать из фреймбуфера, чтобы управлять спрайтами на TFT?
Я ведь изначально весь этот проект написал только чтобы понять, как сделать падающие снежинки на TFT у погодной станции на AVR )
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Сообщение COKPOWEHEU »

Возможно, стоило выложить здесь на форуме описание (достаточно подробное и на русском) и ссылку на видео работы (то что у вас по 2 ссылке за 5 минут так и не загрузилось).
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Реализовано управление спрайтами для AVR на TFT экране под управлением ST7735. Сложность заключалась в том, что хранить содержимое фреймбуфера в оперативной памяти МК не реально (это порядка 40 килобайт), а имеющиеся библиотеки оказались, во-первых, очень медленными, а во-вторых, не позволяли читать фреймбуфер из видеоконтроллера.
Работа по SPI была реализована через USART MSPIM, так как он, в отличии от аппаратного SPI ATMega328P (на которой выполнялось исследование) имеет буферизацию передатчика, что уже дало существенный прирост в скорости обмена. Все критичные участки написаны на ассемблере. Обмен по SPI оформлен в виде библиотечных функций в файлах ST7735_spi.c и .h.
Управление спрайтами так же оформлено в виде библиотечных функций в файлах ST7735_sprite.c и .h. Данная поддержка включает обработку коллизий с границами экрана, но коллизии между спрайтами или спрайта со статическим объектом должны определяться извне. Альфа канал для отрисовки спрайтов, естественно, поддерживается. В данном прототипе размер спрайтов ограничен 128 точками (256 байтами).

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

Как уже писал выше, изначально задачи написать игрушку не было. Хотелось просто разобраться как использовать спрайты для оформления экрана.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Ответить

Вернуться в «AVR»