roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 02:18

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Помогите прикрутить TMP04 к tiny12...
СообщениеДобавлено: 11 сен 2007, 11:48 
Может здесь поможете...
Суть проблемы:
Для вычисления температуры с датчика существует формула:
T°C = 235 - 400*T1/T2;
T1 - длительность 1 - максимум 12 мс;
Т2 - длительность 0 - максимум 43 мс;
Вообщем, если считать в мс, то двубайтных переменных хватает чтобы вычислить температуру, но точность ни куда.
Но бля нормальной точности длительноть необходимо брать в мкс, тогда результат первых вычислений (400*Т1) получается трёх байтный, а в tiny12 нет четырёх байтных переменных.
Как их двух двубайтных собрать одну четырех байтную переменныю, или может другой выход есть?
Спс.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 сен 2007, 12:53 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Можно сначала посчитать Т1/Т2...
А можно 0,5875-Т1/Т2

Или 2,35-4*Т1/Т2 - даст ответ в десятичных долях градуса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 сен 2007, 13:17 
-= Александр =- писал(а):
Можно сначала посчитать Т1/Т2...
А можно 0,5875-Т1/Т2

Или 2,35-4*Т1/Т2 - даст ответ в десятичных долях градуса.

12000/43000 = 0,27906976744186046511627906976744
К сожалению не умею работать с запятой...
2,35-4*Т1/Т2 - пробывал, точность уходит также как и с мс.
Надо что-то вроде:

Код:
unsigned long T1_2=0; // первая половинка
unsigned long T2_2=0; // вторая половинка

T1_2 = 400*T1;
T2_2 = (int)400*T1 << 16;
О блин написал :shock: Получается сначала запутывать, потом распутывать...
Интересно, что этот код даст?


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 сен 2007, 13:36 
На казусе посоветывали среду поменять на AvrStudio.
Вопрос: а нет ли матчасти на неё, почитать?
Сам дистрибутив есть.
Буду признателен.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 сен 2007, 13:46 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
$ilent писал(а):
На казусе посоветывали среду поменять на AvrStudio.
Вопрос: а нет ли матчасти на неё, почитать?


Почти всё касаемо AVR есть в моем курсе http://avr123.nm.ru/      - так показывает практика.

AvrStudio я вам СИЛЬНО не советую!

Но в курсе КОНЕЧНО ЖЕ есть инструкция по работе с AvrStudio для начинающих:
http://avr123.nm.ru/04.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 сен 2007, 13:49 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
$ilent писал(а):
К сожалению не умею работать с запятой...


CVAVR умеет !  Рекомендую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 сен 2007, 15:47 
avr123.nm.ru писал(а):
$ilent писал(а):
К сожалению не умею работать с запятой...


CVAVR умеет !  Рекомендую.

Но он не работает с тини12...


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 сен 2007, 22:28 
Не в сети
Аватара пользователя

Зарегистрирован: 14 июл 2007, 23:38
Сообщения: 346
Откуда: SPb
прог. языки: немного албанский
Не советовать АВРстудию это на мой взгляд слишком круто ( чесно, от Вас такого не ожидал. Во всех обучалках языкам высокого уровня сразу советуют ставить компилятор ЯВУ и студию).
По теме: Про студию можно почитать у Баранова в книге " Применение микроконтроллеров АВР: схемы, алгоритмы, программы". Точно знаю, что она есть в сети, и в ней неплохо описаны алгоритмы установки, запуска, набора и отладки. По поводу алгоритма: аппноут AVR200 на сайте Atmel.com. Процедуры 8ти и 16ти битного деления и умножения, коды прилагаются. Думаю, что 32-битные тоже сделать возможно.

[off] За что я не люблю С, так это за то, что его надо знать. А на асме- есть список команд, и впуть. Хотя главное-идея. А реализация, что на С, что на асме- дело техники. [/off]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 сен 2007, 01:40 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
steel_monkey писал(а):
Во всех обучалках языкам высокого уровня сразу советуют ставить компилятор ЯВУ и студию.


В моей не советуется.  :lol:


Последний раз редактировалось avr123.nm.ru 12 сен 2007, 01:43, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 сен 2007, 01:41 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
$ilent писал(а):
avr123.nm.ru писал(а):
$ilent писал(а):
К сожалению не умею работать с запятой...


CVAVR умеет !  Рекомендую.


Но он не работает с тини12...


Можно операции для другого сделать и посмотреть АСМ листинг.  Или Тини13 попробуйте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 сен 2007, 11:08 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Хм... А ICC-Tiny не умеет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 сен 2007, 11:15 
-= Александр =- писал(а):
Хм... А ICC-Tiny не умеет?

Я в нём и писал, он не работает с 4-х байтными переменными.
Код:
TYPE   SIZE (bytes)   RANGE
unsigned char   1   0..256
signed char   1   -128..127
char (*)   1   0..256
unsigned short   1   0..256
(signed) short   1   -128..127
unsigned int   2   0..65535
(signed) int   2   -32768..32767
unsigned long   2   0..65535
(signed) long   2   -32768..32767


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 сен 2007, 11:19 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Дивный LONG однако  !

Тини13 то чем не устраивает ???

Или АСМ код из листинга для другого МК ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 сен 2007, 12:04 
avr123.nm.ru писал(а):
Дивный LONG однако  !

Тини13 то чем не устраивает ???

Или АСМ код из листинга для другого МК ?

Дело в том, что шью понипрогом, а он поддерживает только тини12,15,22
Обычный ИСС работает с тини 2313,13,26
А вот, что пишет мне Студио:
Изображение
Я так понял, что поддержка Си для тини12 в компиляторе отсуствует... только АСМ...
А я АСМ вообще ни бум бум...


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 сен 2007, 12:19 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
$ilent писал(а):
avr123.nm.ru писал(а):
Дивный LONG однако  !

Тини13 то чем не устраивает ???

Или АСМ код из листинга для другого МК ?


Дело в том, что шью понипрогом, а он поддерживает только тини12,15,22


Дак шейте из CVAVR.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO