08.06.2018, 17:53
|
#11
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
Сообщение от eddy
|
И правильно, что обругали! Абдуринщики тусят на своем форуме и к людям не лезут!!!
Зачем делать софтово то, что есть аппаратно? Лень почитать RM с даташитом?
|
Да мне лень объяснять одно и тоже,желание будет почитай сам тему мою и почему так.
__________________
Глаза боятся,а руки делают.
|
|
|
|
08.06.2018, 18:16
|
#12
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
Любят у нас учить как надо
|
|
|
Эти 2 пользователя(ей) сказали Спасибо Easyrider83 за это сообщение:
|
|
|
08.06.2018, 18:46
|
#13
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
О поперло жги давай засирайте тему
__________________
Глаза боятся,а руки делают.
|
|
|
|
08.06.2018, 23:12
|
#14
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,727
Сказал спасибо: 130
Сказали Спасибо 1,111 раз(а) в 530 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
Смотрим:
1) Аппаратную часть. Резисторы подтяжки. Сколько устройств на шине. Остальные точно не в активном режиме?
2) Смотрим тактовую. Внимательно проходим по схеме тактирования. Проверка на превышение рабочих частот. У F373 на I2C более мудреное тактирование. Там мультиплексоры - тщательно проверить частоту. Лучше всего вообще загнать на мизер. На период отладки. А там легко получить в районе нескольких мегагерц.
3) На минимальной частоте смотрим обмен на шине. Там вообще уровни меняются? Если нет - смотрим регистры. Значит где-то накосячили.
4) Логический анализатор есть? Что на шине творится?
|
|
|
|
09.06.2018, 09:33
|
#15
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,646
Сказал спасибо: 117
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
Сам вчера вечером пару часов промучился со схемой 8-канального мультиплексора I2C: пока мультиплексор неактивен, подтяжки нормально работают и выдают 3.3В. Как только врубаю мультиплексор, напруга падает до 2.5В! Хоть выпаивай мультиплексор и ищи виноватого: то ли перегрели STM32F042, когда паяли, и он "заболел", то ли где-то что-то "подкорачивает"…
Shit, одним словом!
UPD: я их дом труба шатал! Стабилитрон MM3Z3V6, который как бы на 3.6В, при отсутствии нужного тока проваливает линию до 2.4В! Вот же зараза!!!
Кстати, никто на F042 одновременно не баловался USB и CAN? Как там правильно входной буфер делить-то?
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
Последний раз редактировалось eddy; 09.06.2018 в 10:52.
|
|
|
|
09.06.2018, 22:58
|
#16
|
Вид на жительство
Регистрация: 10.04.2010
Сообщений: 301
Сказал спасибо: 25
Сказали Спасибо 136 раз(а) в 79 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
Сообщение от индюк
|
ох мать....
у меня запись умещается в 5 строк.
и чтение тоже
|
Код в студию!
Автору - проверьте тайминги, обычно из-за них и2с работает неадекватно, если сами функции чтения-записи павильно написаны. В вашем коде, извините, не разбирался, как-то муторно.
Сообщение от Easyrider83
|
Нет вообще никакого смысла городить все это на периферии.
|
Ну да, при желании всё ногодрыгом можно сделать, если в периферии не разобраться. А в ST инженеры дураки, прилепили зачем-то кучу периферии.
Последний раз редактировалось dkm; 09.06.2018 в 23:03.
|
|
|
|
10.06.2018, 01:30
|
#17
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,646
Сказал спасибо: 117
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
Сообщение от dkm
|
Код в студию!
|
Тупо переписать приведенный код, упростив все присваивания: не писать 100 раз подряд REG_X |= Y, а сразу все биты проинициализировать.
Но все равно с I2C в 5 строк не уложишься, у меня это довольно много места занимает. Ведь надо и таймаут вставить, иначе не ровен час — зависнет нафиг (да, сторожевой пес перегрузит, но нафиг это надо, если можно соломки подстелить?).
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
|
|
|
|
11.06.2018, 13:43
|
#18
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
Сообщение от DanilinSA
|
Смотрим:
1) Аппаратную часть. Резисторы подтяжки. Сколько устройств на шине. Остальные точно не в активном режиме?
2) Смотрим тактовую. Внимательно проходим по схеме тактирования. Проверка на превышение рабочих частот. У F373 на I2C более мудреное тактирование. Там мультиплексоры - тщательно проверить частоту. Лучше всего вообще загнать на мизер. На период отладки. А там легко получить в районе нескольких мегагерц.
3) На минимальной частоте смотрим обмен на шине. Там вообще уровни меняются? Если нет - смотрим регистры. Значит где-то накосячили.
4) Логический анализатор есть? Что на шине творится?
|
1) Была одна еепромка. Увидел читается с нее 255 все данные. Подключил часы и потом дисплей лэдовский DS1336 - они работают норм а еепромка также. Поменял на новую. Проблема не решилась.
2) Тактовая сейчас 128 МГц. Снижал до 72 и результат тотже.
3) На 96 кгц проверял и всё тоже.
4) Скрин анализатора в первом сообщении прикрепил.
Код без правод вставляю в 030 проц и всё работает без единой правки. А на 373 всё кроме еепромки...
На 373 у меня АЦП еще пашет- 510000 выборок в секунду с ДМА с трёх каналов. Но и его отключал и ничего не изменилось... Отключал все прерывания и тоже толку... Менял тайминги I2C, смотрел на ослике. Ну менялась длительность импульса и паузы. Но всё работало кроме еепромки... Думал может память кривая, но на 030 она же работает...
Спасибо за мысли и советы! Буду дальше копать... Программно думаю будет тот же результат. Ведь передача и прием идет корректно... Лень придумывать программно когда готовая периферия есть...
|
|
|
|
11.06.2018, 13:48
|
#19
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: I2C на stm32f373 - ds1307 + at24c32
Сообщение от eddy
|
не писать 100 раз подряд REG_X |= Y, а сразу все биты проинициализировать.
|
То осталось когда надо было быстро регистры отключать при настройке шины. Когда еще отлаживал несколько устройств на шине.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:56.
|
|