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

 
 
 
Reply to this topicStart new topic
> Драйвер max7219+avr+ds1307 проблемы.
DmitriyT
сообщение Apr 3 2016, 13:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 31-10-15
Пользователь №: 89 110



Здравствуйте. пытаюсь вывести на 7ми сегментный индикатор дату, время, температуру. Проблема с делением и остатка от деления. вместо десятков и единиц выводится в каждый разряд число как оно есть, и получается просто счетчик от 0 до 255.

Данные из стандартной функции ds1307

Код
rtc_get_time(&hour,&minut,&sec);
buf7=hour/10;buf6=hour%10; buf5=minut/10; buf4=minut%10;buf3=0xF;buf2=0xF;buf1=0xF;buf0=0xF;

rtc_get_date(&week_day,&day,&month,&year); //считать дату
buf0=day/10;buf1=day%10^0x80;buf2=month/10;buf3=month%10^0x80;buf4=2;buf5=0;buf6=year/10;buf7=year%10;


Самое интересное что в протеусе всё нормально а железе такие проблемы.
Go to the top of the page
 
+Quote Post
Mikl Scherbak
сообщение Apr 4 2016, 08:26
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 22-05-09
Из: Харьков, Украина
Пользователь №: 49 413



Цитата(DmitriyT @ Apr 3 2016, 16:39) *
Здравствуйте. пытаюсь вывести на 7ми сегментный индикатор дату, время, температуру. Проблема с делением и остатка от деления. вместо десятков и единиц выводится в каждый разряд число как оно есть, и получается просто счетчик от 0 до 255.

Данные из стандартной функции ds1307

Насколько я помню, ds1307 отдает время BCD, Ваша функция получения конвертирует в десятичное? Ну и если можно - подробнее, что Вы хотели получить, а что получили.
Go to the top of the page
 
+Quote Post
DmitriyT
сообщение Apr 4 2016, 09:21
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 31-10-15
Пользователь №: 89 110



Цитата(Mikl Scherbak @ Apr 4 2016, 09:26) *
Насколько я помню, ds1307 отдает время BCD, Ваша функция получения конвертирует в десятичное? Ну и если можно - подробнее, что Вы хотели получить, а что получили.

Я не знаю конвертирует или нет использую эти библиотеки
#include <i2c.h>
#include <ds1307.h>

В протеусе все норм. а в железе выводит всё подряд из rtc_get_date(&week_day,&day,&month,&year); переменных.
Константы выводит тоже нормально.

Сообщение отредактировал Herz - Apr 4 2016, 10:09
Go to the top of the page
 
+Quote Post
Mikl Scherbak
сообщение Apr 4 2016, 10:06
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 22-05-09
Из: Харьков, Украина
Пользователь №: 49 413



А из какой библиотеки или чего-то у Вас эти функции? И все-таки, Вы можете показать, что Вы ожидали увидеть и что увидели?
Go to the top of the page
 
+Quote Post
DmitriyT
сообщение Apr 4 2016, 15:32
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 31-10-15
Пользователь №: 89 110



Всё разобрался. Спасибо.

Просто был программный сбой(криво прошивка стала), пришлось и заново ds1307 обновить. Я новичок в этом деле и приходиться об пеньки спотыкаться.

Сообщение отредактировал DmitriyT - Apr 4 2016, 15:47
Go to the top of the page
 
+Quote Post

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

 


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


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