Обсуждаем контроллеры компании Atmel.
Чт янв 18, 2018 18:00:42
вопрос по I2C
Одно устройство подключено по I2C к одним портам(Config Scl = Portc.5,Config Sda = Portc.4),второе к другим(Config Scl = Portc.0,Config Sda = Portc.1),как переназначать программно порты?
Чт янв 18, 2018 18:07:38
Не надо ничего переназначать. Все SDA цепляете вместе и SCL то же вместе. Все прекрасно работает. Адреса у всех устройств разные. В программе указывается адрес устройства, к которому в данный момент происходит обращение.
Чт янв 18, 2018 18:12:01
Не надо ничего переназначать. Все SDA цепляете вместе и SCL то же вместе. Все прекрасно работает.
то есть если я подключу две RDA5807 к одним и тем же портам то я смогу общаться с каждой по отдельности?
НЕ НЕСИТЕ ЧУШЬ!!!жду ответ от адекватных знающих людей
хочу чтоб один RDA5807 принимал станцию,а второй типа анализатора спектра +/- 5 МГц от принимаемой частоты сканировал постоянно
Последний раз редактировалось
Novice user Чт янв 18, 2018 18:18:59, всего редактировалось 1 раз.
Чт янв 18, 2018 18:17:34
Но Вы же не написали, что устройства одинаковые. У меня прекрасно работают RDA5807 и DS1307 на одних портах.
Чт янв 18, 2018 18:24:17
я и не писал что они разные,я конкретно спросил-"Одно устройство подключено по I2C к одним портам(Config Scl = Portc.5,Config Sda = Portc.4),второе к другим(Config Scl = Portc.0,Config Sda = Portc.1)"
в общем так-
$regfile = "m328pdef.dat"
$crystal = 8000000
Config Scl = Portc.0'первая rda
Config Sda = Portc.1
'здесь первая rda принимает нормально,потом
Config Scl = Portc.5'вторая rda
Config Sda = Portc.4
здесь вторая rda принимает нормально
'переключаюсь на первую rda
Config Scl = Portc.0'первая rda
Config Sda = Portc.1
а она не управляется,никак!управляется вторая...
Чт янв 18, 2018 18:36:24
Может, после того, как пообщаетесь с первой RDAшкой, ее порты переназначить как вход или выход. А у второй как SDA и SCL и наоборот.
Чт янв 18, 2018 21:25:17
не,не получается,все также как описывал...
Пт янв 19, 2018 09:03:43
Novice user, интересный вопрос. Не знаю, можно ли переключать на лету программно порты I2C, поскольку я обычно использую аппаратные порты, а адрес у чипа может быть только 0х58 и другой не предусмотрен.
Возможно Вам стоит сконфигурировать один чип на работу по шине I2C, а второй по шине SPI?
Пт янв 19, 2018 16:33:34
Может после
Config Scl =
Config Sda =
поставить I2cinit ? или пропустить интерфейс через мультиплексор, например 74HC4066 (К561КТ3)
Пн янв 22, 2018 13:25:26
Вы уточняйте, если что-то непонятно.
Вот как раз так и подключал, А вот про шунтирующий R3 и как будет выглядеть код не знал.
Спасибо, учитель!
Выручили
Пн янв 22, 2018 16:59:31
Возможно Вам стоит сконфигурировать один чип на работу по шине I2C, а второй по шине SPI?
увы,у меня модуль и в SPI переводить не получится...
Пн янв 22, 2018 19:22:24
увы,у меня модуль и в SPI переводить не получится...
Разве? Что за модуль такой хитрый? Покажите фото или ссылку дайте. Обычно там один пин служит для переключения интерфейсов
ЗЫ У вас RDA5807M или P?
Желательно использовать микросхемы с индексом Р. Чисто субъективно, с них звук чище и лучше (есть и модуль М и чип Р в наличии. Поэтому сравнивал). Чип с индексом Р поддерживает разные интерфейсы, а М нет, насколько я понял даташит сейчас
Пт янв 26, 2018 13:06:03
RDA5807M
В этом чипе только один интерфейс, i2c
Пт янв 26, 2018 22:18:24
Подскажите как перевести минуты для отображения на дисплее часов отдельно от минут , например 121 минуту в 02:01 ?
Пт янв 26, 2018 22:20:39
Чтобы из какого-то числа минут получить отдельно часы и минуты, нужно его поделить на 60 с остатком. Целая часть (неполное частное) будет числом часов, а остаток - числом минут.
Например, для Вашего числа 121:
121 / 60 = 2 (ост. 1)
121 = 2 * 60 + 1
2 - неполное частное, 1 - остаток.
Значит, 121 мин. = 2 ч. + 1 мин.
Код выглядит как-то так (типы переменных выберите по максимальному значению, которое в них будете хранить):
- Код:
Dim Time As Byte
Dim Minutes As Byte
Dim Hours As Byte
Time = ... 'Тут в Time записывается нужное значение
Minutes = Time Mod 60
Hours = Time / 60
Сб фев 03, 2018 17:37:59
удалил
Сб мар 03, 2018 13:43:32
Добрый день! Прошу помощи в допиливании программы цифрового стрелочного спидометра. Вкратце: программа считает частоту от датчика скорости и согласно поступающей частоте производит поворот стрелки(шаговый двигатель) на нужный угол, также параллельно считается общий пробег и суточный пробег. Организовано меню по корректировке скорости и пробега в зависимости от длины окружности колеса и прочее.
Все в принципе работает, но имеются какие то сбои в работе. С генератора импульсов подаю частоту допустим 60гц, стрелка поворачивается, но подергивается на месте, шаг туда\обратно. Вывел на табло пробега временно частоту, которую измеряет процессор и видно, что частота нестабильна: стоит допустим 60гц, потом подергивается на несколько герц вверх или вниз, очень быстро,потом успокоится, потом опять и так хаотично. Я уже задал в программе усреднение данных частоты-10замеров усредняем и выводим. Но это ощутимо не помогло. Это наблюдается как в готовом устройстве так и в проекте в протеусе.
Я новичок в программировании, может что не так написал или неправильно расположил код. Явных ошибок компилятор не выдает. Помогите пожалуйста, может как то надо подправить программу. Спасибо заранее. Архив с проектом и программой прикрепляю.
- Вложения
-
- цифровой спидометр.rar
- (42.68 KiB) Скачиваний: 303
Сб мар 31, 2018 23:46:36
Мрр.. Приветствую, коты
Скажите, пожалуйста: как декодировать dtmf сигналы? (вариант с внешним декодером не предлагать)
Весь интернет перелопатил - ничего не нашел
Хочу GSM модуль к тини2313 по UART прикрутить и управлять нагрузкой удаленно. С обработкой СМС разобрался, а вот про распознавание DTMF в барсике нет никакой инфы.
Может есть у кого опыт или задайте направление, где копать.
Буду признателен
Вс апр 01, 2018 20:03:58
Весь интернет перелопатил - ничего не нашел
Может это и есть ответ?
Даже не знаю.......
Ну я для себя решил, что декодер dtmf быстрее, дешевле, и.... уже давно работает ( и мк свободен. для других задач)
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.