Я смотрю, что тему про переход на классы в STM читают. И немного комментируют.
Постоянная ссылка на библиотеки на Яндекс диске https://disk.yandex.ru/d/ymB60PAjT5rjTw
Я не успеваю писать статьи. Библиотеки пеку быстрее. Буду их закидывать по мере готовности и писать здесь об этом.
Если что то понадобится, но непонятно как использовать, задавайте вопросы.
Библиотеки зависимые от ядра
| Библиотеки работают не со всеми чипами этой серии. Для некоторых чипов достаточно дописать дефайны. | |||
| STM32F0xx | gpio_main | Библиотека работы с портами ввода/вывода | Готова |
| I2C | Интерфейс I2C | В процессе тестирования | |
| RCC_48_Init | Инициализация тактового генератора | Готова | |
| SPI | Интерфейс SPI | В процессе тестирования | |
| stm32f0xx_flash | Функции для эмуляции EEPROM | В процессе тестирования | |
| Timers | Функции millis(), micros(), delay(), delayMicroseconds() | Готова | |
| UART | Интерфейс UART | В процессе тестирования | |
| STM32F1xx | gpio_main | Библиотека работы с портами ввода/вывода | Не проверялась |
| RCC_72_Init | Инициализация тактового генератора | Не проверялась | |
| Timers | Функции millis(), micros(), delay(), delayMicroseconds() | Не проверялась | |
| STM32F2xx | gpio_main | Библиотека работы с портами ввода/вывода | Не проверялась |
| RCC_HSE_Init | Инициализация тактового генератора | Не проверялась | |
| Timers | Функции millis(), micros(), delay(), delayMicroseconds() | Не проверялась | |
| STM32F3xx | gpio_main | Библиотека работы с портами ввода/вывода | Готова |
| I2C | Интерфейс I2C | В процессе тестирования | |
| RCC_HSE_Init | Инициализация тактового генератора | Готова | |
| SPI | Интерфейс SPI | В процессе тестирования | |
| Timers | Функции millis(), micros(), delay(), delayMicroseconds() | Готова | |
| UART | Интерфейс UART | В процессе тестирования | |
| STM32F4xx | EXTI_Int | Работа с внешними прерываниями | В процессе тестирования |
| gpio_main | Библиотека работы с портами ввода/вывода | Готова | |
| I2C | Интерфейс I2C | Готова | |
| RCC_HSE_Init | Инициализация тактового генератора | Готова | |
| RTC | Часы реального времени | Готова без будильников | |
| SPI | Интерфейс SPI | В процессе тестирования | |
| TIM_Base | Работа с базовыми таймерами | Готова | |
| Timers | Функции millis(), micros(), delay(), delayMicroseconds() | Готова | |
| UART | Интерфейс UART | Готова | |
| STM32L0xx | ADC | АЦП | В процессе тестирования |
| EEPROM | Работа с EEPROM | В процессе написания | |
| EXTI_Int | Работа с внешними прерываниями | В процессе тестирования | |
| gpio_main | Библиотека работы с портами ввода/вывода | Готова | |
| RCC_32_Init | Инициализация тактового генератора | Готова | |
| SPI | Интерфейс SPI | В процессе тестирования | |
| Timers | Функции millis(), micros(), delay(), delayMicroseconds() | Готова | |
| UART | Интерфейс UART | Готова | |
| STM32L1xx | EEPROM | Работа с EEPROM | В процессе тестирования |
| gpio_main | Библиотека работы с портами ввода/вывода | Готова | |
| I2C | Интерфейс I2C | В процессе тестирования | |
| RCC_32_Init | Инициализация тактового генератора | Готова | |
| TIM_Base | Работа с базовыми таймерами | Готова | |
| Timers | Функции millis(), micros(), delay(), delayMicroseconds() | Готова | |
Библиотеки независимые от ядра
| AT24Cxx | Работа с EEPROM фирмы Microchip | Готова |
| Colors | Коды цвета для графических библиотек | Готова |
| FSMC16_TFT | Управление 16 бит дисплеем по FSMC ILI9341 | Рабочая, для какого дисплея не помню, использую как сырец |
| FSMC_RA8875 | Управление 16 бит дисплеем по FSMC на чипе RA8875 | Рабочая, требует оптимизации |
| functions | Функции, которые бывают необходимы | Всяко, разно |
| GFX_Button | Кнопки для графического дисплея | Готова, скрещивается с библиотеками TouchScreen |
| GFX_TFT | Графическая библиотека по образу Adafruit GFX | Готова |
| gfxfont | Шрифт 5х7 для графических библиотек | Готова |
| HX8347_8bit | Управление дисплеем на чипе HX8347 8 бит. На ногодрыге | Готова |
| ILI9341_8bit | Управление дисплеем на чипе ILI9341 8 бит. На ногодрыге | Готова |
| ILI9341_FSMC16 | Управление 16 бит дисплеем по FSMC на чипе ILI9341 | Готова |
| IO_Digital | Класс для работы с портами ввода/вывода | Готова |
| LCD780 | Работа с LCD1602 — LCD2404 на ногодрыге | Рабочая, требует оптимизации |
| OneWire | OneWire библиотека на ногодрыге | Готова, на ногодрыге |
| Класс print для устройств ввода/вывода | Готова | |
| RingFIFO | FIFO для UART | Готова |
| RM68140_8bit | Управление дисплеем на чипе RM68140 8 бит. На ногодрыге | Не запустил |
| RS485 | RS485 — протокол придуманный Mikroelektronika, расширенный | Готова, требует проверки, нашёл ошибки |
| SButton | Библиотека Button с форума Гайвера | Готова |
| SDallas | Библиотека для DS18B20 | Готова |
| SPI_Soft | SPI на ногодрыге | Готова |
| ST7735_SPI | Управление дисплеем на чипе ST7735. На SPI | Готова для одного типа контроллера. В идеале должно быть 5 штук |
| STimer | Библиотека Timer с форума Гайвера | Готова |
| STM_BME280 | Класс для работы BME/BMP280 через I2C | Готова |
| STM_HDC1080 | Класс для работы HDC1080 через I2C | Готова |
| STM_SGP30 | Класс для работы SGP30, SGPC3 через I2C | Готова |
Добрый день, у меня выдает ошибку
'SysTickConfig' was not declared in this scope; did you mean 'SysTick_Config'? RCC_HSE_Init.cpp /F407VExx_RCC/Stm32F4xx/Src line 131 C/C++ Problem
Да, ошибка будет.
Я ещё не всё написал в этой статье. И предупреждал, что так и будет.
Сегодня закинул статью. Скоро она появится. После этого будет понятно, почему так.
А всё предыдущее получилось?
Да, ошибка будет.
Я ещё не всё написал в этой статье. И предупреждал, что так и будет.
Сегодня закинул статью. Скоро она появится. После этого будет понятно, почему так.
А всё предыдущее получилось?
Спасибо за ответ! Да я так и подумал, что это в следующей статье будет решено. Я по шагам не проходил, взял по ссылке проект и стал его изучать более подробно, читая текст параллельно.
Товарищи участники.
Пожалуйста подумайте, что можно в таймерах перевести на классы.
Устройство очень сложное. И всё переводить на классы сложно и бесполезно.
Первое, что приходит в голову - ШИМ.
Давайте идеи, что может понадобится довольно часто.
Товарищи участники.
Пожалуйста подумайте, что можно в таймерах перевести на классы.Устройство очень сложное. И всё переводить на классы сложно и бесполезно.
Первое, что приходит в голову - ШИМ.
Давайте идеи, что может понадобится довольно часто.
Режим захвата мне кажется после ШИМ наиболее популярен. Ну и конечно обычная работа с генерацией прерывания через заданный интервал времени.
Принято.
Сейчас занимаюсь I2C. Раньше надобности не было.
Амбец с ним геморой. Неделю бился только с тем, что адрес EEPROM на шину не выдавала. Сегодня получилось. Теперь нужно дописать чтение байт.
С записью я думаю проще будет. Уже понятно что и как делать.
Я UART запустил за два дня. А тут на каждый чих реагировать нужно.
Амбец с ним геморой. Неделю бился только с тем, что адрес EEPROM на шину не выдавала. Сегодня получилось. Теперь нужно дописать чтение байт.
С записью я думаю проще будет. Уже понятно что и как делать.
Я UART запустил за два дня. А тут на каждый чих реагировать нужно.
Да, I2C в этом плане более трудоемкая.
Я попробовал пример с GPIO - собралось, работает все верно, спасибо.
