|
Странное поведение DS1302 |
|
|
|
Dec 21 2007, 10:19
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 21-12-07
Из: г.Астрахань
Пользователь №: 33 511

|
Прикупил RTC DS1302. хочу подключить ее к МК AVR. использую Attiny2313. подключил 4 7-ми сигментных индикатора и хочу отображать время в режиме ЧЧ:ММ пишу на ASM`е. написал программную реализацию протокола... и вот тут у меня начались приколы: к примеру, записал в регистр секунд значение 0! и в вечном цикле опрашиваю RTC и вывожу значение секунд на индикатор. на индикаторе идут секунды, все хорошо, но!!! если значение секунд четное то на индикаторе появлятются 00!!! если не четные, то все нормально... проверял - это касается не только секунд, но и всего остального пробовал даже записывать данные в RAM - та же история: в ячейку RAM пишу 0х55 - читается как 0х55, записываю в эту же ячейку 0хАА - читается как 0х00!  может быть кто нить сталкивался с такой проблемой? Прощу прощения у модераторов за размещение темы не в нужном месте  внимания сразу не обратил, а как перенести не нашел
Сообщение отредактировал Pepper - Dec 21 2007, 10:37
|
|
|
|
|
 |
Ответов
|
Dec 21 2007, 11:10
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
пожалуйста код в студию. Обращаю Ваше внимание на то что в интерфейсе записи все байты пишутся по переднему фронту SCLK. А при чтении установка данных из МС осуществляется по заднему фронту SCLK. Вот на вскидку перед чтением бита из порта после передачи адреса.. сделайте задержку. У вас получается что вы практически после установки заднего фронта (через 10 тактов) читаете первый бит.Это не есть гут )) вот этот кусок: Код cbi PORTD, CLK // сформировать стадающий фронт CLK//<<<<<<<<<<<<<<<<<<<<<<<<< lsr r16 // Сдвигаем адрес, что бы получить следующий бит dec r18 // уменьшить значение переданных бит brne dr_l1 // если переданы еще не все 8 - перейти //<<<<<<добавте сюда задержку // Передача адреса закончена, переходим к приему данных rcall PortToIn // Переводим порт на вход ldi r18, 8 // Инициализация счетчика бит clr r17 // Очищаем регистр выходных данных dr_l4: lsr r17 // Сдвигаем вправо на 1 бит sbis PIND, IO // Проверяем бит на входе //<<<<<<<<<<<<<<<<<<<<<<<<<
Сообщение отредактировал adc - Dec 21 2007, 11:26
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
Сообщений в этой теме
Pepper Странное поведение DS1302 Dec 21 2007, 10:19 sergik_vrn Цитата(Pepper @ Dec 21 2007, 13:19) Прику... Dec 21 2007, 10:26 Pepper Цитата(sergik_vrn @ Dec 21 2007, 13:26) н... Dec 21 2007, 10:35  sergik_vrn Цитата(Pepper @ Dec 21 2007, 13:35) Код//... Dec 21 2007, 11:48   Pepper Цитата(sergik_vrn @ Dec 21 2007, 14:48) с... Dec 21 2007, 11:57    sergik_vrn Цитата(Pepper @ Dec 21 2007, 14:57) в том... Dec 21 2007, 12:13     Pepper Цитата(sergik_vrn @ Dec 21 2007, 15:13) п... Dec 21 2007, 12:18  adc Маленький совет по динамической индикации:Во время... Dec 27 2007, 05:44   Pepper Цитата(adc @ Dec 27 2007, 08:44) Маленьки... Dec 27 2007, 06:03 Pepper Прикупил RTC DS1302. хочу подключить ее к МК AVR. ... Dec 21 2007, 10:54 Pepper Принял на заметку... исправил... не помогло...
во... Dec 21 2007, 11:32  adc Цитата(Pepper @ Dec 21 2007, 14:32) //Уст... Dec 21 2007, 12:06 Pepper и снова вы правы, но опять не помогло
поставил зад... Dec 21 2007, 12:14  sergik_vrn Цитата(Pepper @ Dec 21 2007, 15:14) и сно... Dec 21 2007, 12:51   Pepper Цитата(sergik_vrn @ Dec 21 2007, 15:51) р... Dec 21 2007, 12:57    sergik_vrn Цитата(Pepper @ Dec 21 2007, 15:57) согла... Dec 21 2007, 13:12     Pepper Цитата(sergik_vrn @ Dec 21 2007, 16:12) д... Dec 21 2007, 13:21      sergik_vrn Цитата(Pepper @ Dec 21 2007, 16:21) к сож... Dec 21 2007, 13:27       Pepper Цитата(sergik_vrn @ Dec 21 2007, 16:27) п... Dec 21 2007, 14:12        sergik_vrn Цитата(Pepper @ Dec 21 2007, 17:12) тогда... Dec 21 2007, 14:24         Pepper Цитата(sergik_vrn @ Dec 21 2007, 17:24) с... Dec 21 2007, 14:30 adc Цитата(Pepper @ Dec 21 2007, 13:54) // Пе... Dec 21 2007, 12:15  Pepper Цитата(adc @ Dec 21 2007, 15:15) Все хоро... Dec 21 2007, 12:24 adc эээ приведите код где у вас массив "Digits... Dec 21 2007, 12:35 Pepper Цитата(adc @ Dec 21 2007, 15:35) эээ прив... Dec 21 2007, 12:40 adc Цитата(Pepper @ Dec 21 2007, 15:40) там в... Dec 21 2007, 13:02 Pepper Цитата(adc @ Dec 21 2007, 16:02) да.. дол... Dec 21 2007, 13:13 sergik_vrn Цитата(adc @ Dec 21 2007, 16:02) Что Вы п... Dec 21 2007, 13:15 Pepper только что обнаружил еще более странный глюк: при ... Dec 26 2007, 11:53 adc Цитата(Pepper @ Dec 26 2007, 14:53) тольк... Dec 26 2007, 12:20  Pepper Цитата(adc @ Dec 26 2007, 15:20) Выложите... Dec 26 2007, 12:36 Pepper Я кажется понял где грабли:
у меня моя железка пит... Dec 26 2007, 14:04 adc Скажите, а в схеме у Вас батарейный элемент питани... Dec 27 2007, 06:37 Pepper Цитата(adc @ Dec 27 2007, 09:37) Скажите,... Dec 27 2007, 06:39 adc В начале программы хорошо бы сделать инициализацию... Dec 27 2007, 08:58 Pepper у меня стоит начальная инициализация:
Код// Сброс... Dec 27 2007, 11:30  adc Цитата(Pepper @ Dec 27 2007, 13:59) разоб... Dec 27 2007, 11:32   Pepper Цитата(adc @ Dec 27 2007, 14:32) Странно?... Dec 27 2007, 11:59    adc Цитата(Pepper @ Dec 27 2007, 14:59) в общ... Dec 27 2007, 13:14
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|