Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [ATMega168] Ничего не получается с I2C :( 
V
    Опции темы
anterior
Дата 25.4.2009, 05:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.4.2009

Репутация: нет
Всего: нет



Здравствуйте! С программированием МК я новичок. Подключил микросхему DS1307 по I2C. Я попробовал использовать (по одной книжке) программный способ работы с i2c, ну там всё нормально работало. А вот аппаратным способом, у меня даже не получается отправить СТАРТ-бит по шине. Код такой:
Код

.device ATmega168
.include "m168def.inc"
.include "../include/sys.inc"
;
; Параметры UART
;
; скорость обмена
.equ uart_speed        = 9600
; режим работы: приёмник и передатчик
.equ uart_mode        = (1<<RXEN0)|(1<<RXCIE0)|(1<<TXEN0)
; формат посылки: 8 бит данных, 1стоп-бит, контроль чётности - even
.equ uart_snd_fmt    = (1<<UCSZ01)|(1<<UCSZ00)|(1<<UPM01)

.CSEG

.org    0x0000        ; начальный адрес программы
    rjmp _RESET

;****************************************************************
; начало программы
;****************************************************************
_RESET:    
    ; инициализация стека
    stack_init
    ; инициализация USART
    uart_init uart_speed,uart_mode,uart_snd_fmt
    ; формирование состояния старт
    ldi temp,(1<<TWINT)|(1<<TWSTA)|(1<<TWEN)
    sts TWCR,temp

    wait1:
        lds temp,TWCR
        sbrs temp,TWINT
        rjmp wait1

    lds temp,TWSR
    andi temp,0xf8

    mov R0,temp
    rcall uart_sendc

    loop:
        rjmp  loop    ; зацикливание программы


И всё :( Программа бесконечно весит в цикле wait1. На компьютере запущена программа опроса серийного порта, по логике работы она должна отлавливать результат передачи СТАРТ-бита.

По схеме всё соединено вот так: http://anterior.homelinux.net/files/arduino2c.jpg
Используется плата Arduino, контакт analog4 который соответствует PC4, analog5 - PC5 (распиновка здесь)

В чём может быть проблема?
PM MAIL   Вверх
cardinal
Дата 25.4.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Посмотри вот этот пример
http://roboforum.ru/viewtopic.php?f=4&t=3993


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
anterior
Дата 26.4.2009, 05:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.4.2009

Репутация: нет
Всего: нет



Цитата(cardinal @ 25.4.2009,  14:02)
Посмотри вот этот пример
http://roboforum.ru/viewtopic.php?f=4&t=3993

Да, для меня эта программа по ссылке ещё слишком сложна и непонятна) что-нибудь бы попроще, а лучше вобще без отладчиков) Ну а так примерно, как думаете, в какую сторону хоть копать надо?
PM MAIL   Вверх
sally555
Дата 26.4.2009, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.4.2009

Репутация: нет
Всего: нет



Вот здесь очень приличная книга по ВСЕМ мегам.Советую скачать,пригодится наверняка.
Евстифеев Ф.В. - Микроконтроллеры AVR семейства Mega [2007, DjVu]
http://torrents.ru/forum/viewtopic.php?t=1019971
Там есть и по тини,того же автора
PM MAIL   Вверх
anterior
Дата 27.4.2009, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.4.2009

Репутация: нет
Всего: нет



Цитата(sally555 @ 26.4.2009,  09:14)
Вот здесь очень приличная книга по ВСЕМ мегам.Советую скачать,пригодится наверняка.
Евстифеев Ф.В. - Микроконтроллеры AVR семейства Mega [2007, DjVu]
http://torrents.ru/forum/viewtopic.php?t=1019971
Там есть и по тини,того же автора

Спасиб, я уже оттуда все книги по МК выкачал smile

Касательно темы сабжа, проблема решена. На оф. сайте есть картинка, называется "Arduino Atmega168 pin mapping" в которой нарисовано соответствие обозначений контактов на плате с реальными названиями портов I/O. Так вот, они видимо перепутали (либо эта картинка не подходит к Arduino Serial v.2) то что PC5/PC4 это не Analog5/Analog4, а оказалось Analog0/Analog1. Вот в этом и вся проблема-то была ;)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.2014 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.