roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Помогите подключить термодатчик к меге16
СообщениеДобавлено: 22 июл 2007, 15:04 
Не в сети

Зарегистрирован: 16 фев 2007, 16:33
Сообщения: 161
Откуда: Петропавловск-Камчатский
Пришел термодатчик от Ti TMP121.
Решил подключить его по SPI к ATmega16.
Подключил
                      МК             TMP121
                      SS  --------- CS
                  MISO  ---------- SO
                     SCK-----------SCK
МК сделал как мастер пользовался мастером начального кода в кодевизарде.
С датчика нужно принять 16 бит.
По даташиту на вывод CS подаю низкий уровень. Поидее должно срабатывать прерывание в котором я и считываю данные с регистра но ничего не происходит (((
Что я не так сделал ???Уже второй день капаюсь с этим (((
Хм почему-то на ножке SCK нет импульсов они же должны идти с МК ?


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

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
посмотрите в VMLAB  или в PROTEUS почему так.


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

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Советую прицепить проект сюда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 июл 2007, 13:08 
Не в сети

Зарегистрирован: 16 фев 2007, 16:33
Сообщения: 161
Откуда: Петропавловск-Камчатский
Прицепляю проект.
Как вообще осуществяется прием данных у мастера ??? Есть примеры а то я делал по даташиту на мегу 16. тем только для слейва... и не работант(
Принять нужно 16 бит ...


Вложения:
TEMPER.rar [19.36 КиБ]
Скачиваний: 68
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 авг 2007, 16:17 
Не в сети

Зарегистрирован: 16 фев 2007, 16:33
Сообщения: 161
Откуда: Петропавловск-Камчатский
Всё проблема решена )))
МК за мастер )))
Отправляем байт в регистр SPDR процедурой из даташита SPI_MasterTransmit(char cData), срабатывает прерывание и в обработчике прерывания считываем показания температура из регистра SPDR )))


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

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
А где РАБОТАЮЩИЙ проект ???    :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 авг 2007, 07:16 
Не в сети

Зарегистрирован: 16 фев 2007, 16:33
Сообщения: 161
Откуда: Петропавловск-Камчатский
Проект простейший выводит два байта принятых данных с термодатчика от ти на компутер через ком порт. Принимать через встроенный в кодевижн терминал включать режим показа в виде шестнадцатеричных чисел )))
Данные имеют вид
00 0B 53 00
где 00 - разделительные символы
0B53 данные с датчика смотреть по даташиту что с ними делать )))  22,6градуса показывает)))


Теперь буду думать как в МК вычисления сделать чтоб сразу готовую температуру выводил )))
Подскажите функции перевода из Float в char и обратно а так же в integer и обратно.


Вложения:
Комментарий к файлу: Схема подключения упрощенная.
Temper.jpg
Temper.jpg [ 7.65 КиБ | Просмотров: 2793 ]
Комментарий к файлу: Сам проект
TEMPER.rar [23.89 КиБ]
Скачиваний: 64
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 авг 2007, 08:13 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Спасибо.


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

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

Подскажите функции перевода из Float в char и обратно а так же в integer и обратно.


Посмотри пример CVAVR вывода в примере для LM75  и  в задаче 5  - avr123.nm.ru/z5.htm


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

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Я использовал вот такой вариант.

// Declare your global variables here
char Hour=23, Min=59, Sec=58;
char strHour[3]="sd", strMin[3], strSec[3];

LCDshow(void)
{
itoa(Hour, strHour); //Переводит целое в строчное, если это ввести в поиске CVavr там будут функции и для перевода float и т. д.
itoa(Min, strMin);
itoa(Sec, strSec);
lcd_gotoxy(0,0);            
lcd_putsf("   ");  //3 пробела
if (Hour<10) {lcd_putsf("0");}
lcd_puts(strHour);
lcd_putsf(":");
if (Min<10) {lcd_putsf("0");}
lcd_puts(strMin);
lcd_putsf(":");        
if (Sec<10) {lcd_putsf("0");}
lcd_puts(strSec);
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 авг 2007, 10:29 
Не в сети

Зарегистрирован: 16 фев 2007, 16:33
Сообщения: 161
Откуда: Петропавловск-Камчатский
Теперь отсылаестя по ком порту на комп в уже готовом виде значение температуры)))


Master Спасибо очень помогло !!!)))

avr123.nm.ru Отличный курс ))) опять выручил )))! Сдвиг разрядов в право и лево!

Как мне нравится С для Мк переменной типа чар присваиваю значение типа интеджер ))) Делфи на три бы буквы послал )))


Вложения:
Комментарий к файлу: Окончательный вариант)))
TEMPER.rar [42.14 КиБ]
Скачиваний: 73
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

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


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

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 15


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

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