Как связать контроллеры (I2C? SPI? USART?...)

Работа интерфейса UART в Flowcode

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение Volume (Евгений) » 30 окт 2014, 09:14

Т.е. менять скоростные режимы UART в теле программы это не криминально?
Я наивно думал, что инициализация это раз и навсегда)
Аватар пользователя
Ник: Volume
Имя: Евгений
(Иркутск)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение Volume (Евгений) » 18 дек 2014, 03:51

Запустилось, работает :dance:
1.jpg

Но… есть желание избавиться от кабельного подключения.
Поделитесь опытом связи МК по радиоканалу. Шесть МК, дистанция 20 м. Протокол UART. Скорость 38400 бод. Интересует название девайса и даташит к нему.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Volume
Имя: Евгений
(Иркутск)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение kindofsky (kindofsky) » 18 дек 2014, 05:32

Volume писал(а):Интересует название девайса и даташит к нему.

Привет коллега.
Мне кажется вот эта штука то что тебе надо.
11.JPG

В пределах 20 метров думаю лучшего не найдешь.
Но как я уже писал - надо хорошо курнуть даташит. С первого раза может показаться трудно, но на самом деле там самое сложное это вкурить тему формирования посылки. Рабочий пример я привел.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: kindofsky
Имя: kindofsky
(Москва)
Супер Гуру
Супер Гуру
Информация о пользователе
Вернуться наверх

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение Volume (Евгений) » 10 июн 2016, 09:04

Здравствуйте коллеги. Написал программу обмена данными двух pic18f2520 по SPI. Возникла проблема приема информации мастером от слейва. Байты принимаются, но со сдвигом ровно на один бит. Должно придти 10011001, а в приемнике лежит 11001100. Конечно, можно побитовыми операциями все исправить, но лучше чтобы работало правильно.
_beta.jpg
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Volume
Имя: Евгений
(Иркутск)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение mim (mim) » 10 июн 2016, 11:59

FIGURE 17-3: и FIGURE 17-4: из ДШ... Clock Modes...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение Volume (Евгений) » 14 июн 2016, 07:57

По даташиту работу SPI возможно организовать в 4 режимах. При инициализации необходимо установить полярность тактового сигнала (ckp) и выбор фронта тактового сигнала (cke). В моем примере для приемника и передатчика нужно выставить ckp=1, cke=0. :x
Аватар пользователя
Ник: Volume
Имя: Евгений
(Иркутск)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение mim (mim) » 14 июн 2016, 08:05

Volume писал(а): В моем примере для приемника и передатчика нужно выставить ckp=1, cke=0.
И...?
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение Volume (Евгений) » 14 июн 2016, 08:23

Показать на примере?
Так же в даташите описывается двупроводный режим подключения, объединив SDO и SDI. Трисами устанавливается в каком режиме находится МК - приемник или передатчик.
В примере мастер отправив команду "А" получает ответ "1","2","3","4". Но все как-то сыровато.... :headbang:
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Volume
Имя: Евгений
(Иркутск)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение mim (mim) » 14 июн 2016, 08:27

Может кому и нужен твой пример... мне всего лишь нужно было услышать - ты понял причину (свою ошибку) или нет?
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как связать контроллеры (I2C? SPI? USART?...)

Сообщение Volume (Евгений) » 14 июн 2016, 08:46

Была нарушена фазировка тактирующего сигнала с шиной данных, из-за этого в приемнике происходило смешение принятого байта ровно на один бит. Я так думаю..
Аватар пользователя
Ник: Volume
Имя: Евгений
(Иркутск)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в Flowcode + RS232

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей