Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
1 / 1 / 0
Регистрация: 04.03.2014
Сообщений: 81

Работа с МК i.MX28 по I2C (ЭКЛЗ)

08.01.2015, 11:37. Показов 2781. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток!
Объясните пожалуйста как в Linux'e подключаться к шине (в частности I2C) и работать с ней, передавать и получать информацию по ним!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.01.2015, 11:37
Ответы с готовыми решениями:

ЭКЛЗ и Arduino
Помогите реализовать идею. Хочу подключить блок ЭКЛЗ от кассового аппарата к ардуино для считывания заводского и регистрационного номера. ...

Работа с I2C
Здравствуйте. Есть микроконтроллер MSP430F16xx и датчик температуры MAX 6654. По каналу I2c нужно узнать температуру. Вот накидал код: ...

Работа с I2C
Помогите проверить корректность функций работы с модулем I2C. volatile I2C_regs_t* const m_regs; uint32_t m_speed; Mutex m_mutex; ...

24
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
10.01.2015, 20:28
Студворк — интернет-сервис помощи студентам
ЭКЛЗ - и что они работают под линуксом? В указанной линейки только один МК 32-разрядный да и тот без MMU. Однако.
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
11.01.2015, 02:34
Цитата Сообщение от raxp Посмотреть сообщение
если не принимать меры защиты от статики и перегрузки, правильного заземления, то и неудивительно. Гальваническая изоляция нужна, для этого и ставят опторазвязку, схемы элементарны.
Блин, вы читали вики по ентому блоку? Вскрывать нельзя - лишение гарантии. Качество отечественное... Наиболее частые вылеты интерфейсов - непропай сименского разъёма. К тому же ККТ хоть и относится к промоборудованию, но сплошь и рядом отечественное, к тому же работает не в детских условиях, у торгашей кассы и весы включены в тот же удлинитель, что и холодильники, валяется под ногами, топчется, зимой в сырости.
Там не то что опторазвязка, там радиоинтерфейс не поможет, т.к. те же мобильники ежат на кассах (сумарная мощность хоть и мелкая, но долбит в импульсном режиме)

Добавлено через 2 минуты
Цитата Сообщение от Витальич Посмотреть сообщение
ЭКЛЗ - и что они работают под линуксом?
Нет. Просто пишу либу под линух (а в перспективе и под фрю) для связи с ентим девайсом.

Добавлено через 1 минуту
Не совсем понятно, как тема сменила заголовок и перекочевала из датчиков в "C под linux". ТС-тоПОЧТИНОЛЬ, спрашивал про i2c именно под линух на "сферическом" контроллере...

 Комментарий модератора 
Правила форума:

5.6. Запрещено публично обсуждать действия администрации форума, касающиеся их прямых обязанностей.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
11.01.2015, 13:00
Блин, вы читали вики по ентому блоку? Вскрывать нельзя - лишение гарантии.
не блинкай тут, ответ дан не вам, а топик-стартеру. Иди создай свою тему и там умничай.

Никто не советовал вскрывать, совет был использовать развязку, есть и готовые переходники с опторазвязкой.

те же мобильники ежат на кассах (сумарная мощность хоть и мелкая, но долбит в импульсном режиме)
притянуто за уши. Почитайте про ЭМС совместимость электротехнического оборудования, могу ГОСТ подкинуть.
0
1 / 1 / 0
Регистрация: 04.03.2014
Сообщений: 81
15.01.2015, 11:12  [ТС]
Все разобрался)
Мы на микроконтроллер i.MX28 записываем freescale.
При сборке ядра подключаем i2c драйвера. Ну и с помощью их обращаюсь к нашему датчику.
Вот программа для считывания времени.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <linux/i2c-dev.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdint.h>
 
#define ADAPTER 0
#define ADDR_SLAVE 0x68
#define SIZE_READ 8
 
int main(void)
{
    int i2c_file;
    int i;
    char i2c_filename[20];
    int i2c_adapter_nr = ADAPTER;
    int i2c_addr = ADDR_SLAVE;
    char write_buf[1];
    char read_buf[SIZE_READ];
    uint8_t val;
 
    //printf("Step 1: Opening file defice I2C\n");
    snprintf(i2c_filename, 19, "/dev/i2c-%d", i2c_adapter_nr);
 
// Доступ к I2C шине, как открытие файла
    if ((i2c_file = open(i2c_filename, O_RDWR)) < 0)
    {
        printf("Error Read PRS: Failed opening file device I2C\n");
        return 0; 
    }
    
    //printf("\nStep 2: Acquiring I2C access and/or talk to Detector PRS\n");
// Обращение к Slave по адресу
    if (ioctl(i2c_file, I2C_SLAVE_FORCE, i2c_addr) < 0)
    {
        printf("Error Read PRS: Failed to acquire I2C access and/or talk to Detector PRS\n");
        close(i2c_file);
        return 0;
    }   
 
    //printf("Step 5: Read data\n");
    if (read(i2c_file,read_buf,8) != 8)
    {
        printf("Error Read PRS: Failed read %d bit\n", read_buf[0]); 
            close(i2c_file);
            return 0;
    }
 
    //printf("Step 6: Out console result\n");
    // вывод времени и  даты
    printf("%x %x %x %x %x %x %x %x\n",read_buf[0],read_buf[1],read_buf[2],read_buf[3],read_buf[4],read_buf[5],read_buf[6],read_buf[7]);
    
 
    close(i2c_file);
    return 0;
 
}
1
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
15.01.2015, 12:24
...что ж вы хотели? Вам же ясно намекнули - есть дрова под вашу платформу - вы счастливы, если нету - или пишите сами, либо пишите софтверный I2C. А без указания контроллера и тулчейна под ваше ядро никто не смог бы угадать...

ЗЫ: кстати, у мну тоже freescale, и тоже на линухе есть три и-фейса I2C /dev/i2c-<n> . Но ядро уже было собрано, я пока не знаю как и кто туда впихнул эти дрова, и где он их взял...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2015, 12:24

Работа с I2C
Здравствуйте! Я подключил Led Dispaу 16*2 с выходами SDA и SCL к аналоговым пинам A4 и A5 соответственно (нашел в каком-то уроке после...

STM32F4 .Работа I2C
Всем доброго времени суток. Поздравляю всех с новым годом! Пишу код в keil в библиотеке stdperiph. В прошлом году прикупил себе датчик...

Первая работа с I2C
Вообщем не так давно начал изучать микроконтроллеры. Опыта пока маловато, но некоторые штуки умею. На днях решил купить свой первый датчик...

Работа с I2C (TWI)
Здравствуйте. Я заинтересовался интерфейсом I2C. Есть slave устройство с огромным количеством регистров доступных для чтения и записи...

Торговое оборудование. 60: ЭКЛЗ: Неверный регистрационный номер
Здравствуйте! АСПД ШТРИХ-LIGHT Работал, работал и внезапно стал выдавать ошибку: 60: ЭКЛЗ: Неверный регистрационный номер Никаких...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru