Библиотека I2C для PIC24

Views: 1097


i2c_logo_catcatcatПростая библиотека для работы с PIC-контроллерами 24 серии.


Настройки

#define FCY 20000000UL – задается тактовая частота ядра FCY=Fclock/2

Позволяет выбрать с каким модулем будет работать

#define I2Cselection 1

значение 0 – с модулем 1

значение 1 – с модулем 2


Состоит из 7 функций

void i2c_Open (unsigned int FCLOCK);// инициализация, значение частоты шины в килогерцах (100, 300, 400)
void i2c_stop (void); // формирование стоп
unsigned char i2c_start (unsigned char adres, unsigned char R_W); // адрес устройства и управление младшими битами
unsigned char i2c_restart (unsigned char adres, unsigned char R_W);
unsigned char i2c_write (unsigned char data); //запись байта
unsigned char i2c_read_ack (void); //чтение с подтверждением
unsigned char i2c_read_noack (void); //чтение без подтверждения


Файлы для загрузки

Библиотека [wpdm_file id=212 template=”link-template-calltoaction3.php”]


Это может быть интересно


  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
    Views: 2460 Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся …
  • Temperature measurement with NTC thermistor.Temperature measurement with NTC thermistor.
    Views: 670 Проекты в которых присутствовало измерение температуры начинал с цифровых датчиков, т.к. в них все просто и не надо ничего преобразовывать и вычислять. При использовании цифровых датчиков ты получаешь …
  • Акриловый корпус для платы ch-4000Акриловый корпус для платы ch-4000
    Views: 861 Плата ch-4000 подходит для монтажа в корпуса на дин рейку, но для домашней автоматики необходимо что-то другое, поэтому был разработан корпус из акрила который позволит создавать настольные и настенные устройства. Корпус …
  • Проект с использованием MCC часть 10Проект с использованием MCC часть 10
    Views: 1064 Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – …
  • Простой цифровой регулятор мощностиПростой цифровой регулятор мощности
    Views: 7750 Простой регулятор мощности с цифровой индикацией. Этот проект создан как обучающий, для ознакомления с основами построения сетевых регуляторов мощности. Устройства подобного типа можно использовать для управления освещением, скоростью …
  • ESP8266  процедура получение данных даты и времени от серверов точного времени.ESP8266 процедура получение данных даты и времени от серверов точного времени.
    Views: 6201 Эта функция доступна уже в версии 1.6.1. Для многих приложений, необходимо часы реального времени,  если в вашем проекте есть модуль WiFI ESP8266, то легко можно сделать следующим образом. …
  • PIC18 – System ArbitrationPIC18 – System Arbitration
    Views: 738 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …
  • MPLAB X IDE – управление проектамиMPLAB X IDE – управление проектами
    Views: 1146 Среда  MPLAB X IDE позволяет оперативно работать с несколькими проектами, например, если у вас в работе несколько проектов: Для того чтобы переключиться достаточно выбрать другой проект: Для выбора …
  • My libraries for Altium DesignerMy libraries for Altium Designer
    Views: 4432 Attention, this version of the database is outdated today. See updates in articles https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure  and https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure-v23-2/    My libraries for Altium designer  (Updated V – 29/05/2022) (c) 2021 …
  • Kitchen timer with contactless gesture controlKitchen timer with contactless gesture control
    Views: 787    Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …



 

Поделись этим!