Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
22.08.2007, 13:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
МК в I2C как SLAVE
Не могу написать на асеме прием байта с шины I2C(F=100 кгц).Синронизировать прием байта.В слэв устройстве применяю мк с частотой тактирования 4 мгц.Посмотрел импульсы на SCL Т(период)=10 мкс ,то есть 5 мкс низкий и 5 мкс высокий,при передаче битов.Подсчитать такты я могу,но у меня стоит условие начало приема байта,высокий на SCL и пока проверит и т.д 2-4 мкс,может я что мудрю.Может кто писал на асеме такой код поделитесь примером.
-- Прилагается рисунок: --
|
|
|
|
22.08.2007, 14:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Ну, то о чем рассказывал, бери.. Не уверен, что на 100 % рабочее. давно дело было - возможно, какой-то промежуточный вариант. Но, то что по и2с байт прочитать может - однозначно.
Прикрепленный файл: 3731231.rar
|
|
|
|
22.08.2007, 15:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Разбиратся надо,у тебя видать на хайтеки,посижу поразбираюсь.
Это с того теливизора,ну про который говорил из англии?
Про цвет и звук упоминается.Да и кварц у тебя на 20 мгц.
А как понять вот это: sda @ (unsigned)&PORTA*8+4; ?
Да и еще подумал я,если кварц будет 20 мгц,то и мой примерчик заработает сейчас гляну поддерживает ли мк мой,но твой пример разберу для развития
|
|
|
|
22.08.2007, 15:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
PORTA4
|
|
|
|
22.08.2007, 15:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Если на пик16ф628а не указана предельная частота,какая тогда у него предельная частота работы? по умолчанию.
|
|
|
|
24.08.2007, 11:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
не встречал - по умолчанию.ни разу.
Что касается твоего кода - ты не привязываешься ни к команде шины - старт, ни к scl.
Алгоритм приема такой
- поиск на шине команды старт
- ожидание начала csl , когда 1, то принимаешь с sda бит.
- ожидание конца scl, если 0 - то разрешение на прием следующего бита.
после 8 бит - анализируешь субадрес (принятый байт). Если он тебе неинтересен, уходишь в поиск команды старт, иначе - принимаешь следующий.
Ну, а если в общем - то изобретаешь велосипед. Даная тема была на монитор нет ру - даже пара проектов была - анализ квадратной шины телевизора и вывод результата в файл. У меня товарищ из сервис -центра повторил, все работает.
|
|
|
|
24.08.2007, 11:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Я все понимаю,я ж показал часть кода, пробовал свой пик подключить на 20 мгц,работает с глюками.
PIC16F628A-I/P
|
|
|
|
24.08.2007, 14:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
присоедини проект. в чем глюки ? сергей, ты ж не первый день на форуме и знаешь - телепатов и экстрасенсов здесь нет.
|
|
|
|
25.08.2007, 04:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Дело не в самом проекте,то есть написание программы,дело в том что я не знаю поддерживает ли мк(PIC16F628A-I/P)частоту 20 мгц?,так как в даташифтах не нашел ничего полезного, вот и спрашивал тебя об этом.
Пробовал для примера поэксперементировать с жки,то есть сначало выставлял на 20 мгц(работал с глюками,не хотел собаку сбрасывать и т д),переключил на 4 мгц ,работает нормально,вот и появилось сомнение что не поддерживает.Ведь должна маркировка написана так быть : PIC16F628A-20I/P.
|
|
|
|
26.08.2007, 08:34
|
|
Частый гость
Регистрация: 04.09.2005
Сообщений: 19
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Вот... В файле текст для 16F84, чисто программный Slave I2C. Работает на частоте 20 МГц. Частота шины - 60-70 КГц. Может что непонятно, оптимизировал чтобы памяти хватило и по быстродействию. Будут вопросы - пиши.
Прикрепленный файл: 1986682.rar
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:03.
|
|