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

CTMU

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

Внутри имеется температурный сенсор.
В документации к ADC (AD1CSSL) написано следующее:
CSSL13 selects CTMU input for scan;

Код следующий:
CODE
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.
Цитата(Juggernaut @ Feb 13 2017, 11:43) <{POST_SNAPBACK}>
Вопрос в том как это число привести к градусам. Перерыл кучу документации, ответа так и не нашел.

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

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация