Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

ф догонку i2c.h [+]

Отправлено MegaJohn 02 марта 2009 г. 16:05
В ответ на: и мой вариант работы с TWI для AVR [+] (Все работает в прерывании, и по факту окончания передачи вызывается функция пользователя) отправлено пользователем MegaJohn 02 марта 2009 г. 16:04


#ifndef I2C_H
#define I2C_H

#include "globals.h"

typedef enum
{
e_i2c_no_err = 1,
e_i2c_err_start_condition, // ошибка установки стартового сигнала на шине
e_i2c_err_sla, // ошибка отправки адреса слейва или нет подтверждения приема от слейва
e_i2c_err_data, // ошибка отправки данных или нет подтверждения приема от слейва
e_i2c_err_internal_soft, // внутренная софтовая ошибка
e_i2c_transfer_ok = 255,
}i2c_errors;

void i2c_init( void );
void i2c_set_addr_slave( u8 addr );
void i2c_reset( void );
u8 i2c_write( u8 *from, u8 len, u8 *bytes_transfer_cnt_in );
u8 i2c_read( u8 *dest, u8 len, u8 *bytes_transfer_cnt_in );
u8 i2c_write_to( u8 *from, u8 len, u8 addr, u8 *bytes_transfer_cnt_in );
u8 i2c_read_from( u8 *dest, u8 len, u8 addr, u8 *bytes_transfer_cnt_in );

i2c_errors i2c_get_last_err( void );

typedef void(*i2c_callback_on_finish)( void );

void i2c_set_callback_func( i2c_callback_on_finish f_ptr );

u8 i2c_is_busy( void );


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
умножьте 2 на три:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru