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

  

 

    Принцип действия, схема включения и исходник библиотеки для работы с инкрементным энкодером уже рассматривался мной в одной из статей. Сегодня мы поговорим о практическом применении энкодера. В качестве примера я выбрал программу генератора прямоугольного сигнала с диапазоном рабочих частот 1 – 100 Гц. 

 

   Для выполнения команд или вывода данных контроллеру символьного lcd требуется определенное время. Поэтому в конце функций записи мы использовали программные задержки в 40 us. Это вполне работоспособное решение, однако не единственно возможное.   
   Контроллер символьного lcd имеет флаг занятости BF. Он устанавливается в 1,  когда контроллер выполняет внутреннюю работу и сбрасывается, когда контроллер освобождается. Вместо программной задержки можно опрашивать состояние этого флага и запускать цикл записи команд/данных, только когда флаг сброшен.
   Есть у меня небольшой такой интерес к медицинской электронике. Не скажу, что преуспел в этом направлении, но кое-какие схемы собирал. Одна из таких схем – оптический датчик пульса. Первоначальный вариант был найден на просторах сети, но результат сборки разочаровал и пришлось как обычно экспериментировать.
   Что представляет из себя строка? Это всего лишь массив, последним элементом которого является нулевой символ ‘\0’. Он добавляется компилятором автоматически и служит маркером конца строки. 
   Объявить строку во флэш памяти микроконтроллера AVR можно следующим образом:
Страница 31 из 37