реклама на сайте
подробности

 
 
> DS1307Z +AtMega128, Нет старта на TWI
MaksimYrievich
сообщение Jul 11 2011, 20:44
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 10-08-09
Пользователь №: 51 828



Здравствуйте! Столкнулся с проблемой. Модуль TWI отказывается инициировать на шине состояние START. Точнее я не знаю, может оно и создается, но только после установки флага TWINT в TWCR в регистр TWSR почему то загружается значение (0xEC) вместо обещанного (0x08). Я в шоке. Чего я только не пробовал. Сразу приведу функцию установки состояния START. Если кто сталкивался с подобной проблемой подскажите в чём тут дело?
Код
                   //Инициализация i2c шины.
    TWBR     |= 1<<TWBR6|1<<TWBR5|1<<TWBR1|1<<TWBR0; //Резонатор 14.7456МГц.
    TWSR     &= (~((1<<TWPS1)|(1<<TWPS0)));  
    TWAR    |= 1<<TWA0|1<<TWA1|1<<TWA3|1<<TWA5;  //задано произвольно просто чтоб было. МК - мастер.
    TWAR    &= (~((1<<TWGCE)));                                    //запрещаю всякие там общие вызовы моего МК.
    DDRD    |= 1<<PD0|1<<PD1;                                      //SDA и SCL делаю как выходы + PullAp.
    PORTD    |= 1<<PD0|1<<PD1;

//*************************************************
//А это сама функция старт i2c соединения
//*************************************************
static unsigned char i2c_start(void)
{

TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);     //Устанавливается состояние START
while (!(TWCR & (1<<TWINT)));           //Задержка до установки флага TWINT. Он означает что
                    //состояние START было передано
if ((TWSR & 0xF8) == START)            //Проверяем значение в TWI Status Register
        {WriteDisplay(0x30);
      return(0);}
   else
      {WriteDisplay(0x31);
      WriteIndLed(TWSR);
      return(1);}
}

Почему то после прогона МК этой функции светодиоды зажигаются так, что это соответствует коду (0xEC). Значение "0" на дисплее не видел ни разу хоть умри. Кстати для чистоты эксперимента выпаял с шины все девайсы кроме DS1307Z - часы. sad.gif

Сообщение отредактировал IgorKossak - Jul 12 2011, 07:29
Причина редактирования: Оформление кода
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MaksimYrievich   DS1307Z +AtMega128   Jul 11 2011, 20:44
- - alexeyv   1. Инициализировать регистры надо полностью, избав...   Jul 12 2011, 04:59
- - MaksimYrievich   Нет осциллографа. Сейчас попробую переписать код и...   Jul 12 2011, 08:12
- - alexeyv   погоняй в цикле старт-condition и стоп-condition с...   Jul 12 2011, 08:17
- - ILYAUL   Не знаю , конечно , но вот эти строчки мне абсолют...   Jul 12 2011, 10:44
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 12 2011, 14:44) Не зн...   Jul 12 2011, 21:30
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 13 2011, 01:3...   Jul 13 2011, 06:06
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 13 2011, 10:06) Шина ...   Jul 13 2011, 09:27
- - ILYAUL   Вы прескалер убрали?   Jul 13 2011, 09:45
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 13 2011, 13:45) Вы пр...   Jul 13 2011, 09:48
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 13 2011, 13:4...   Jul 13 2011, 10:28
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 13 2011, 14:28) Вы , ...   Jul 13 2011, 10:38
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 13 2011, 14:3...   Jul 13 2011, 10:44
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 13 2011, 14:44) SCL S...   Jul 13 2011, 10:46
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 13 2011, 14:4...   Jul 13 2011, 11:04
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 13 2011, 15:04) 1. Да...   Jul 15 2011, 19:54
- - ILYAUL   http://depositfiles.com/ru/files/i9jk81xui 1. Скач...   Jul 15 2011, 22:38
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 16 2011, 02:38) http:...   Jul 15 2011, 22:56
- - alexeyv   Попытайтесь зациклить функцию старта и функцию сто...   Jul 18 2011, 03:53
- - MaksimYrievich   Сегодня ещё раз поменял микроконтроллер. Всё остал...   Jul 18 2011, 17:01
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 18 2011, 21:0...   Jul 18 2011, 17:21
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 18 2011, 21:21) У Вас...   Jul 18 2011, 17:36
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 18 2011, 21:3...   Jul 18 2011, 18:59
- - MaksimYrievich   Не знаю. Что за такие проблемы. Я в отчаянии. Вооб...   Jul 27 2011, 19:50
- - ILYAUL   Если Вы смотрите в симмуляторе , то коды и флаги...   Jul 27 2011, 20:47
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 28 2011, 00:47) И кст...   Jul 27 2011, 21:16
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 28 2011, 01:1...   Jul 27 2011, 21:23
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 28 2011, 01:23) Интер...   Jul 27 2011, 21:32
- - ILYAUL   1. Запаять микросхему DS1307!!!!...   Jul 28 2011, 08:15
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 28 2011, 12:15) какой...   Jul 28 2011, 09:24
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 28 2011, 13:2...   Jul 28 2011, 09:47
- - MaksimYrievich   Попробовал ваш код, ILYAUL. То же самое высвечивае...   Jul 28 2011, 11:20
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 28 2011, 15:2...   Jul 28 2011, 13:09
||- - MaksimYrievich   Цитата(ILYAUL @ Jul 28 2011, 17:09) Я так...   Jul 28 2011, 13:48
||- - ILYAUL   Цитата(MaksimYrievich @ Jul 28 2011, 17:4...   Jul 28 2011, 13:54
||- - MaksimYrievich   Цитата(ILYAUL @ Jul 28 2011, 17:54) А сэт...   Jul 28 2011, 17:51
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 28 2011, 15:2...   Jul 28 2011, 19:01
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 28 2011, 23:01) C отл...   Jul 28 2011, 19:44
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 28 2011, 23:4...   Jul 28 2011, 19:47
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 28 2011, 23:47) А про...   Jul 28 2011, 19:53
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 28 2011, 23:5...   Jul 28 2011, 19:59
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 28 2011, 23:59) Прогр...   Jul 28 2011, 20:06
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 29 2011, 00:0...   Jul 28 2011, 20:55
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 29 2011, 00:55) Надо ...   Jul 29 2011, 21:10
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 30 2011, 01:1...   Jul 29 2011, 22:12
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 30 2011, 02:12) 1. Чт...   Jul 30 2011, 05:36
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 30 2011, 09:3...   Jul 30 2011, 19:29
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 30 2011, 23:29) Сообщ...   Jul 31 2011, 09:13
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 31 2011, 13:1...   Jul 31 2011, 16:19
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 31 2011, 20:19) Хрень...   Jul 31 2011, 17:20
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 31 2011, 21:2...   Jul 31 2011, 18:26
- - MaksimYrievich   Заменил ещё раз микросхему код стал равен $38...   Jul 28 2011, 13:33
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 28 2011, 17:3...   Jul 28 2011, 13:45
- - MaksimYrievich   Я даже просто включить автомат TWI не могу. В дата...   Jul 31 2011, 18:54
|- - ILYAUL   Цитата(MaksimYrievich @ Jul 31 2011, 22:5...   Jul 31 2011, 19:18
- - MaksimYrievich   Да это здоровская штука. У меня такой нет. Пока н...   Jul 31 2011, 19:28
- - ILYAUL   В младшем byte Fuses давайте выставим в 4 и 5 бите...   Jul 31 2011, 19:45
|- - MaksimYrievich   Цитата(ILYAUL @ Jul 31 2011, 23:45) Похож...   Aug 1 2011, 17:36
- - MaksimYrievich   Усовершенствовал программатор. Перепаял AtMega64 н...   Aug 2 2011, 17:12
- - ILYAUL   Я так понял , что наконец-то всё заработало. Тогда...   Aug 2 2011, 17:36
- - MaksimYrievich   Далее установил бит M103C как на рисунке, прошил и...   Aug 2 2011, 17:42
- - ILYAUL   Цитата(MaksimYrievich @ Aug 2 2011, 21:42...   Aug 2 2011, 17:46


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 05:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016