В данном занятии мы поработаем с механизмом обработки прерываний от шины USART. С такими прерываниями мы с вами знакомы давно. Мы пользовались ими с применением библиотеки HAL в уроке 14, с применением библиотеки LL в уроке 163. Ко всему этому,…
В данном занятии мы поработаем с механизмом обработки прерываний от шины USART. С такими прерываниями мы с вами знакомы давно. Мы пользовались ими с применением библиотеки HAL в уроке 14, с применением библиотеки LL в уроке 163. Ко всему этому,…
До сих пор мы запускали программу обычным образом, не используя при этом никаких параметров. Но зачастую мы видим, что многие программы и утилиты, наоборот, требуют при запуске указывать параметры запуска после имени запускаемой программы. Причём данные программы не только консольные,…
Продолжая освоение возможностей библиотеки CMSIS, немного усложним задачу по работе с шиной USART контроллера STM32F1. На данном уроке мы помимо передачи данных из контроллера в ПК попробуем также и принять данные из ПК. Причём, прерываниями и DMA мы пока также…
Продолжаем работать со структурами. Оказывается, кроме полей размером, кратным байту, мы можем в структурах (а также, конечно, и в объединениях) работать с битами, то есть мы можем объявить поле в какое-то количество бит. Хотя язык C не предусматривает операции с…
Продолжая изучать возможности библиотеки CMSIS, на данном уроке мы попытаемся поработать с помощью данной библиотеки с аппаратной реализацией шины USART (Universal synchronous asynchronous receiver transmitter) в контроллере STM32F1. В уроке 161, работая с модулем UASART с использованием библиотеки LL, мы…
В уроке 25 мы познакомились со структурами, для чего они нужны, и поняли, что без них жизнь программы (до её компиляции) была бы очень разрозненной и хаотичной. Поэтому в последующих уроках мы постоянно используем структуры, также используем указатели на них…
Продолжаем работать с дисплеем TFT разрешением 240×320, который мы подключили в прошлом уроке к контроллеру STM32F4 по шине SPI. Сегодня мы попробуем при передаче данных в дисплей применить технологию DMA, используя одноимённую периферию контроллера STM32F4. С DMA мы также постоянно…
В предыдущей части урока мы познакомились с тем, как можно объявить указатель на функцию и им воспользоваться, также поработали с этим на практике, а в том числе и с массивом таких указателей. Перейдём в файл student.c и добавим сразу три…
В четырёх последних уроках мы плотно занимаемся адресацией данных в языке C, изучили почти всё по указателям и адресам: разыменование, доступ к адресам массивов, поработали с указателями на структуры и их поля, с указателями в аргументах функций на различные данные,…
В предыдущей части урока мы подключили дисплей к плате, создали проект, написали инициализацию дисплея, некоторые служебные функции и первые тесты, проверив дисплей затем на практике. Для следующего теста нужны будут маленькие задержки. Добавим функцию задержки в микросекундах
1 2 3 4 5 6 |
/* USER CODE BEGIN 0 */ __STATIC_INLINE void DelayMicro(uint32_t __IO micros) { micros *=(SystemCoreClock/1000000)/5; while(micros--); } |
…