#ИскусствоВзлома #BulletEngine #cpp Bullet Engine -- это современный физический движок, работающий в трехмерном пространстве. Он предоставляется с открытым исходным кодом, что позволяет его легко анализировать и изучать. Физический движок предназначен для реалистичной симуляции столкновений объектов. Это набор инструментов, позволяющий использовать псевдореалистичное поведение сложных объектов в игровых, инженерных или научных целях. Для рассмотрения будем использовать пример, находящийся по пути examples/HelloWorld/HelloWorld...
Микроэлектроника в массы
Подключаем USB на STM32. Программная часть
Настроив проект в STM32CubeMx, тип устройства выберем USB Device Communication Device Class, мы можем сгенерировать программные файлы. Устройство будет появляться в диспетчере устройств в виде COM-порта, если будет подключаться к ОС Windows. В целях обучения выберем Makefiles и нажмем сгенерировать проект. Проектные файлы "USB_DEVICE/App/usb_device.c" -- исходный файл, отвечающий за инициализацию устройства USB. В нем по очереди вызываются функции: USBD_Init -- инициализация библиотеки устройства...
Подключаем USB на STM32. Схема подключения
#USB #STM32 USB -- универсальный последовательный интерфейс известный всем и каждому. Он -- синоним совместимости с персональным компьютером, хотя бы на непрофессиональном, обывательском уровне. А значит, пока ваше устройство не будет оснащено этим разъемом, оно не будет восприниматься окружающими как Готовое. Впрочем, у него есть неоспоримые преимущества перед UART: стабильность, стандартизация, самодостаточность. Недостатки: средняя сложность программной имплементации, средний размер, отсутствие надежной фиксации разъема...
Куда перейти с Arduino? Вариант embox на STM32
#Переходимсардуино Феномен успешности Arduino базируется на простоте: никто раньше не делал дешевую и простую плату, дополненную общедоступным программным обеспечением. Тут все звезды сошлись: развитие интернета, глобализация, популярность проектов с открытым исходным кодом. Не принижая достоинств, Ардуино можно указать на ее недостатки: Ниже я приведу описание аналога Ардуино, который хорош именно структурной строгостью системы. Хочу отметить, что все рассматривается с точки зрения установки на stm32f103 embox Это конфигурируемая RTOS на базе Linux...
Чем отличаются библиотеки HAL vs LL для STM32 на примере I2C
STM32CubeMx предлагает две библиотеки для упрощения работы разработчикам: Чтобы понять разницу между двумя подходами, необходимо взглянуть н пример отправки сообщений по интерфейсу I2C HAL //глобальные переменные I2C_HandleTypeDef I2cHandle; uint8_t aTxBuffer[] = "что-то очень важное" //функция передачи данных HAL_I2C_Master_Transmit(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t*)aTxBuffer, TXBUFFERSIZE, 10000); Короткая функция, которая скрывает от разработчика все подробности. Можно также выбрать версии, использующие прерывания и DMA...
STM32. DMA. Посылаем на три буквы. И принимаем
Получить или отправить микроконтроллером данные через какой-нибудь интерфейс дело серьезное. Возможности МК и моя фантазия предлагают три варианта: Коротко пробежимся по первым двум. В целом, они достаточно похожи: мы загружаем данные в соответствующий регистр, а далее проверяем регистр, который подтверждает нам, что данные ушли. Только в первом случае бесконечный цикл проверяет регистр, будто вода точит камень. Так вот, как долго ждать пока вода наточит камень? Очень долго, так и МК может зависнуть на этом процессе надолго...
