0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 75
|
|
1 | |
вопрос про iic23.12.2011, 16:29. Показов 9668. Ответов 27
Метки нет (Все метки)
Хотелось бы использовать цифровой датчик температуры. Не мог бы мне кто-нибудь скинуть пример работы с шиной iic. Нужен самый простой пример, когда на шине кроме мк всего одно устройство на asm или си. Нужно простые действия - отправить байт, принять и т.д.
Видел библиотеку для iic от Ди, но там чего то слишком круто для меня, и к тому же пример для RTOS - а в это я вообще не лез
0
|
23.12.2011, 16:29 | |
Ответы с готовыми решениями:
27
моя первая плата, хедеры - вопрос про eagle или про пайку Шина IIC IIC/I2C/TWI и провод "Пружинка" Вопрос про обратную связь, и про схемотехнику полумоста |
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 75
|
|
10.01.2012, 13:00 | 21 |
Сообщение от msmd
Все процедуры копирнул из этой статьи http://iosyitistromyss.ru/chas... f8583.html
0
|
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 176
|
|
10.01.2012, 13:52 | 22 |
Сообщение от Lixlex
0
|
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 75
|
|
10.01.2012, 14:31 | 23 |
а как правильно?
0
|
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 176
|
|
10.01.2012, 17:54 | 24 |
Хз: в секции даташита на МК, где описывается TWI вообще не проверяется установка стоп-сигнала; в интернете встречал код именно с проверкой на TWSTO. У самого, как говорил, с ним не работает. Да и из общей логики выпадает.
Кстати с проверкой на TWINT работает -- получаю биты с часов реального времени -- но там дальше возникают проблемы -- не могу понять, может и от того, что стоп-сигнал неправильно обрабатывается. Из того с чем ещё столкнулся: обязательны либо паузы, либо проверки TWCR на готовность при обращении к шине. Ну и номинал резисторов подобрать по формуле (см. даташит на МК с TWI).
0
|
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
|
|
10.01.2012, 18:01 | 25 |
Сообщение от Lixlex
0
|
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 75
|
|
10.01.2012, 20:17 | 26 |
Точно! забыл про этот конденсатор!((( А плату уже вытравил
Кстати старший байт это не совсем температура в градусах. Например у нас датчик выдал 1740h в десятичном виде это 5952 согласно даташиту надо отбросить 5 младших битов. Этому действию эквивалентно деление на 32(в десятичном формате) 5952/32=186 полученный результат надо умножить на 0,125 чтобы получить температуру в градусах цельсия. Получаем 23,25. Кстати, старший бит первого байта отвечает за знак температуры. Тут он равен нулю по этому +23,25 А какое назначение у этого конденсатора? Сглаживает питание?
0
|
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
|
|
10.01.2012, 20:52 | 27 |
Сообщение от Lixlex
А если старший бит старшего байта установлен - добавляем в начале минус, а оба байта инвертируем. Округлять по вкусу :)
0
|
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 75
|
|
10.01.2012, 21:28 | 28 |
спасибо за подсказку насчет конденсатора. Подпаял его и теперь температура стабильно держится
0
|
10.01.2012, 21:28 | |
10.01.2012, 21:28 | |
Помогаю со студенческими работами здесь
28
многоканальный IIC Формат файла iic Библиотеку полноценного IIC обмена вопрос про Sape, про поиск площадок Вопрос про вопрос про PR Вопрос про GET Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |