Перейти к содержанию
    

Здравствуйте. Прошу помощи. Я новичок и немного не понимаю как получить температуру в цельсиях.

Имеется:

PIC32MX130F256D

 

Внутри имеется температурный сенсор.

В документации к ADC (AD1CSSL) написано следующее:

CSSL13 selects CTMU input for scan;

 

Код следующий:

AD1CON1CLR = _AD1CON1_ON_MASK ;
AD1CSSL = 1<<13;
AD1CON1 = (1 << _AD1CON1_ADON_POSITION)  |  (0x00 << _AD1CON1_FORM_POSITION) |(7 << _AD1CON1_SSRC_POSITION) ;
AD1CON1bits.ADON = 1;
AD1CON1bits.SAMP = 1; 
while(!AD1CON1bits.DONE)
       ;
uint32_t ret= ADC1BUF0;

 

После запуска на контроллере в ret находится число 0x000003A6 (934).

 

Вопрос в том как это число привести к градусам. Перерыл кучу документации, ответа так и не нашел.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый вечер,

я особо не в курсе, но немного знаком с PIC32.

Вопрос в том как это число привести к градусам. Перерыл кучу документации, ответа так и не нашел.

Здесь читали?

Я посмотрел бегло, там есть формула зависимости напряжения от температуры. Напряжение исходя из настроек АЦП получить можно, остальное либо константы, либо настраивается. Точной формулы нет и не будет, написано, что зависит от настроек источника тока, как от параметра, поэтому у каждой настройки своя уникальная формула пересчета.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...