Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/48: Рейтинг темы: голосов - 48, средняя оценка - 4.77
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1

Датчик температуры по I2C

15.09.2018, 14:06. Показов 9918. Ответов 80
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем !

У меня есть датчик температуры, передающий инфу по I2C. Хочу связать его с Нуклео бордом.

Подскажите, где лучше всего почитать теорию по I2C ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.09.2018, 14:06
Ответы с готовыми решениями:

Не работает датчик температуры LM335 с Stm32f4
Здравствуйте. Возникла проблема с подключением датчика температуры LM335z к отладочной плате stm32f4 discovery использовал вот...

Встроенный датчик температуры.
Приветствую! Задался целью разобраться со встроенным датчиком температуры. В программировании MSP430 я новичок, поэтому сильно не...

Датчик температуры DS1621
Вот есть такой датчик. Подключил к AVR. У меня вывод идет прямо в двоичном коде на мониторчик.. но происходит сл хрень:(буду писать...

80
87 / 86 / 4
Регистрация: 20.11.2016
Сообщений: 270
09.10.2018, 22:21
Студворк — интернет-сервис помощи студентам
ValeryS,
Цитата Сообщение от ValeryS Посмотреть сообщение
если условие выполнится навсегда зависнем?
в этом месте у меня выводилось на индикатор 44780 сообщение об ошибке. Просто я его убрал.
Ну и что что зависаем? Просто посчитал такую фатальную ошибку маловероятной)
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
13.10.2018, 16:27  [ТС]
Кстати, по даташит ножкам GPIO, в том числе и отвечающих за SCL и SDA, можно задать pull up'ы. Зачем в таком случае нужны резисторы подтяжки ?
0
Эксперт по электронике
7147 / 3326 / 342
Регистрация: 28.10.2011
Сообщений: 13,126
Записей в блоге: 7
13.10.2018, 18:12
У подтягивающих резисторов сопротивление большое. Для небольшой длины линии между МК и датчиком и при низкой скорости I2C, может будет работать, но сложно сказать насколько стабильно.
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
05.11.2018, 20:05  [ТС]
Доброго времени суток всем ! Давно не был на форуме... У меня возник вопрос. После того, как я поставил резисторы подтяжки на SCL и SDA, у меня clock висит в логической единице. Мне надо создать start condition, чтобы он запустился ?

Добавлено через 4 минуты
Или достаточно инициализировать clock ?
0
 Аватар для _SayHello
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
05.11.2018, 20:45
max_sk, ну логично, что пока ты ничего не передаешь SDA и SCL линии подтянуты к 1. Ведь i2c интерфейс предполагает соединение с открытым коллектором, где в качестве нагрузки твой пул-ап резистор, который и тянет линии на питание. Клока и после старта не будет, он будет только тогда пока передается байт информации. Старт это всего лишь сигнал другому устройству на шине, что сейчас будут слать данные
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
08.11.2018, 21:11  [ТС]
Я в работе использую IDE EWARM. У меня вопрос - почему в нижеследующем отрывке Watch не читает переменную temp ?

C
1
2
3
4
5
6
#define RCC_AHBENR  ((volatile unsigned *)0x40023800+0x1C)      //AHB peripheral clock enable register
uint32_t prescaler=0, rise_time=0, temp=0;
 
temp=*RCC_AHBENR;
temp |= (0x1U << 1U);
*RCC_AHBENR = temp; // port B clock enable
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
08.11.2018, 22:45
Цитата Сообщение от max_sk Посмотреть сообщение
Я в работе использую IDE EWARM.
это что?
Цитата Сообщение от max_sk Посмотреть сообщение
*RCC_AHBENR = temp; // port B clock enable
это где?
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
08.11.2018, 23:05  [ТС]
EWARM - это Embedded Workbench for ARM от компании IAR. А второе - это периферийный RCC-регистр, который нужен, чтобы включить пульс для порта B. Его Watch почему то не читает, даже через переменную temp, хотя он write-read регистр... :-(

Добавлено через 4 минуты
RCC_AHBENR = Reset and clock control Alternate Highspeed Bus Enable Register.

Кажется так, не заглядывая в даташит... :-(
0
 Аватар для _SayHello
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
09.11.2018, 09:25
max_sk, разве это не так в CMSIS делается?

C
1
RCC->RCC_AHBENR |= RCC_AHBENR_GPIOBEN;
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
09.11.2018, 20:15  [ТС]
А какая разница ? Почему так нельзя ? Что там, что у меня побитовые операции...

Добавлено через 40 минут
Кстати, при пошаговом исполнении кода в IDE, у меня пропускает сразу по несколько строк и скорее всего они не исполняются. Как это исправить ?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
09.11.2018, 20:19
Цитата Сообщение от max_sk Посмотреть сообщение
Кстати, при пошаговом исполнении кода в IDE, у меня пропускает сразу по несколько строк
оптимизация?

Добавлено через 3 минуты
Цитата Сообщение от max_sk Посмотреть сообщение
C
1
#define RCC_AHBENR *((volatile unsigned *)0x40023800+0x1C)
сам писал?
здесь по приоритетам сначала приводится к указателю а потом только прибовляется, но поскольку указател на int то прибавляется не 0x1C а 0x70
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
09.11.2018, 20:27  [ТС]
Да, сам. А как это исправить ? В процессоре, с которым я работаю, есть 32-битовые и 16-битовые регистры...

Добавлено через 2 минуты
Могу глянуть в код производителя...
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
09.11.2018, 20:30
Цитата Сообщение от max_sk Посмотреть сообщение
Да, сам. А как это исправить
попробуй вот так
C
1
#define RCC_AHBENR *((volatile unsigned *)(0x40023800+0x1C))
или явно пропиши
C
1
#define RCC_AHBENR *((volatile unsigned *)0x4002381C)
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
09.11.2018, 20:34  [ТС]
Спасибо. А как отменить оптимизацию кода ? Чтоб не пропускало строки при исполнении ?
0
Эксперт по электронике
7147 / 3326 / 342
Регистрация: 28.10.2011
Сообщений: 13,126
Записей в блоге: 7
10.11.2018, 01:05
Зачем самому прописывать адреса регистров?
Нужно правильно писать код и тогда оптимизатор не будет мешать. В какой IDE пишите? Создайте в ней отладочную конфигурацию без оптимизации и релизную с оптимизацией.
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
10.11.2018, 11:42  [ТС]
IDE EWARM ( Embedded Workbench for ARM от IAR ). Как там сделать такие конфигурации?
0
Эксперт по электронике
7147 / 3326 / 342
Регистрация: 28.10.2011
Сообщений: 13,126
Записей в блоге: 7
10.11.2018, 13:44
IARом не пользуюсь. В EmBitz она по умолчанию создаются в новом проекте.
1
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
10.11.2018, 20:24  [ТС]
locm, спасибо. Нашел, как отменить оптимизацию...


А как теперь сделать, чтобы Watch показывал данные в 16-ричной форме ?

Добавлено через 24 минуты
Тоже нашел...

Добавлено через 16 минут
У меня logic analyzer показывает, что SCL и SDA по нулям. Это означает, что было отправлено start condition и теперь ожидается отправка данных ? Или я чего то не понимаю ? Данные пока не отправлял...
0
92 / 19 / 4
Регистрация: 11.04.2015
Сообщений: 1,019
Записей в блоге: 1
10.11.2018, 21:03  [ТС]
Кстати, что означает лапка NC на датчике ? Not connected или Normally close ? Фотку с даташит прилагаю...

0
Эксперт по электронике
7147 / 3326 / 342
Регистрация: 28.10.2011
Сообщений: 13,126
Записей в блоге: 7
10.11.2018, 22:48
Цитата Сообщение от max_sk Посмотреть сообщение
Кстати, что означает лапка NC на датчике?
В даташите не смотрели?
Миниатюры
Датчик температуры по I2C  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2018, 22:48

Датчик температуры на ATMega8
http://avr-start.ru/?p=796 Помогите найти заголовочный файлы для atmel studio.

датчик температуры для К1816ВЕ31
подскажить какой датчик температуры нужно использовать для контроля за температурой в микроволновой печи на основе микроконторлера К1816ВЕ31

ATmega и датчик температуры LM92
Всем привет! Решил потестить пришедший нахаляву от Texas Instruments датчик темпетатуры LM92 (цифровой датчик, общается по I2C, даташит...

Динамическая индикация и датчик температуры
Здравствуйте. Делаю проект вывода температуры на семисегментные дисплеи при помощи динамической индикации. Пример взял отсюда ...

Как подключить датчик температуры к AVR?
Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru