Страница 1 из 1
Помогите написать библиотеку
Добавлено: Сб ноя 20, 2010 21:20:15
Igor_67
Всем доброго времени суток!
Нужна помощь в написании библиотеки для микросхемы часов PCF8583 от PHILIPS применительно к компилятору
BasComAVR.Сам я не мастак библиотеки писать, поэтому прошу помощи у народа.

.
Работает микра по шине I2C, адрес для записи A0 или А2, адрес для чтения A1или А3. Вобщем лучше, конечно по даташиту, который прилагается.
Re: Помогите написать библиотеку
Добавлено: Сб ноя 20, 2010 23:59:40
Fasterpast
Можете взять библиотеку скажем из CVAVR и переделать её под BasCom. Всё ж лучше, чем с нуля писать...
Re: Помогите написать библиотеку
Добавлено: Вс ноя 21, 2010 00:07:14
Мурик
Re: Помогите написать библиотеку
Добавлено: Пн ноя 22, 2010 19:22:09
Aheir
Мурик писал(а):В гугле вводим запрос Bascom PCF8583 и получаем много ссылок по теме.
Вы что, это же сложно!
Re: Помогите написать библиотеку
Добавлено: Чт ноя 25, 2010 15:44:32
Igor_67
Многоуважаемый Aheir, вместо того, чтобы ёрничать, лучше бы помогли. Негоже изголяться над своей паствой! А то я не гуглил??? Все сцылки по заданной теме выдают всякие польско-германские форумы, на которых задается тот же вопрос - а ответа так и нет... Все что можно, я уже испробовал, только ни один код не работает как надо... Поэтому и обращаюсь к "котам", как к старым добрым друзьям. Авось и разрулят... Звиняйте за столь неэтичное высказывание...
Власть, конечно-дело тонкое, можете меня и забанить, но я в отличие от некоторых, не хамлю (хотя бы)...
Re: Помогите написать библиотеку
Добавлено: Чт ноя 25, 2010 17:54:01
Pavel_1978
To Igor_67 вы по предоставленным Вам ссылкам переходить пробовали и хотябы обращять внимание на ссылки типа "Download source code in Bas" и посмотреть что под ней???
вот по первой сылке:
Код: Выделить всё
'------------------- AN 11 -----------------------------
' Copyright 1999 MCS Electronics
' CLOCK.BAS
'This AN shows how to use the PCF8583 I2C clock device
'The PCF8583 is a PHILIPS device. Look at the datasheet for more details
'I used a prototype board from dontronics with the hardware
'simulator to test the program
'------------------------------------------------------
'declare used subs
Declare Sub Settime(s As Byte , M As Byte , H As Byte , D As Byte , Month As Byte)
Declare Sub Gettime
'declare vairables
Dim S As Byte , M As Byte , H As Byte , D As Byte , Month As Byte
Dim Wm As Byte , Yd As Byte
Call Settime(0 , 0 , 0 , 29 , 11) 'set time
Do
Call Gettime 'get time
Loop
End
Sub Gettime
Dim Dum As Byte
I2cstart 'generate start
I2cwbyte &HA0 'write addres of PCF8583
I2cwbyte 2 'select second register
I2cstart 'generate repeated start
I2cwbyte &HA1 'write address for reading info
I2crbyte S , Ack 'read seconds
I2crbyte M , Ack 'read minuts
I2crbyte H , Ack 'read hours
I2crbyte Yd , Ack 'read year and days
I2crbyte Wm , Nack 'read weekday and month
I2cstop 'generate stop
Print "Time " ; Print Bcd(h) ; ":" ; Bcd(m) ; ":" ; Bcd(s)
Print "Day : " ; Bcd(yd) ; " Month : " ; Bcd(wm)
Rem You Could Also Use The Lcd Statement For Displaying The
Rem Time On The Lcd Display
End Sub
Sub Settime(s As Byte , M As Byte , H As Byte , D As Byte , Month As Byte)
'values are stored as BCD values so convert the values first
S = Makebcd(s) 'seconds
M = Makebcd(m) 'minuts
H = Makebcd(h) 'hours
D = Makebcd(d) 'days
Month = Makebcd(month) 'months
I2cstart 'generate start
I2cwbyte &HA0 'write address
I2cwbyte 0 'select control register
I2cwbyte 8 'set year and day bit for masking
I2cstop 'generate stop
I2cstart 'generate start
I2cwbyte &HA0 'write mode
I2cwbyte 2 'select seconds Register
I2cwbyte S 'write seconds
I2cwbyte M 'write minuts
I2cwbyte H 'write hours
I2cwbyte D 'write days
I2cwbyte Month 'write months
I2cstop
End Sub
по моему это именно то что вы ищите...
Re: Помогите написать библиотеку
Добавлено: Вс ноя 28, 2010 13:54:04
Igor_67
Всем большое спасибо, уже разобрался. Помог пример из Samles/I2c/clock.bas. Кстати в предыдущем посте - тоже он. Тему можно закрыть.