Все выпуски  

Анонсы журнала "Лаборатория электроники и программирования" Новые статьи 20 номера


1. Программирование на языке С на примере микроконтроллера ATmega168.  Программный ШИМ.

Если для реализации нескольких каналов ШИМ не хватает аппаратных ШИМ каналов или данные выводы заняты другой периферией, то можно сделать программный ШИМ.  Программный ШИМ строится на основе какого-нибудь таймера. Необходимо определить параметры ШИМ – разрядность и частоту и настроить соответствующим образом аппаратный таймер. Затем необходимо сделать переменные для счета периода ШИМ и задания длительности.

 

2. Программирование на языке С на примере микроконтроллера STM32F407VGT6.  Работа с акселерометром LIS3DH.

                Рассмотрим работу с акселерометром на примере LIS3DH [14]. Акселерометр может подключаться по интерфейсам SPI® или I2C®. Рассмотрим подключение по I2C. Акселерометр может выдавать сигнал готовности измеренных данных на вывод INT1, по которому можно начинать считывание данных. Поскольку необходимо получить данные по 3-м осям, то необходимо считать последовательно 6 регистров, в которых они находятся. Особенностью данного акселерометра является то, что для того, чтобы был инкремент адреса при считывании, необходимо установить в старшем бите байта адреса регистра «1».

...

 

3. Программирование на языке С.  Поиск ошибок в программах. Часть 2.

                Для работы с массивами в языке «С» часто используются указатели. Поскольку компилятор не может распознать ситуацию, когда адрес, заданный  указателем, выйдет за пределы памяти, выделенной массиву, то возможны различные «странные» варианты поведения программы. При записи данных из другой области программа может изменять  данные, которые влияют на работу другой части программы. Особенно часто эти проблемы  возникают в сложных многофункциональных программах.

 


В избранное