Помогите написать библиотеку

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Помогите написать библиотеку

Сообщение Igor_67 »

Всем доброго времени суток!
Нужна помощь в написании библиотеки для микросхемы часов PCF8583 от PHILIPS применительно к компилятору BasComAVR.Сам я не мастак библиотеки писать, поэтому прошу помощи у народа. :oops:.
Работает микра по шине I2C, адрес для записи A0 или А2, адрес для чтения A1или А3. Вобщем лучше, конечно по даташиту, который прилагается.
Цапу крутить надо!!! Ку или не ку?
Реклама
Аватара пользователя
Fasterpast
Мучитель микросхем
Сообщения: 493
Зарегистрирован: Ср фев 14, 2007 12:07:58
Откуда: Москва
Контактная информация:

Re: Помогите написать библиотеку

Сообщение Fasterpast »

Можете взять библиотеку скажем из CVAVR и переделать её под BasCom. Всё ж лучше, чем с нуля писать...
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Помогите написать библиотеку

Сообщение Мурик »

А зачем изобретать колесо?
В гугле вводим запрос Bascom PCF8583 и получаем много ссылок по теме.
К примеру
http://www.mcselec.com/index.php?option ... &Itemid=57
http://en.edaboard.com/topic-4448684.0.html
http://www.elektroda.pl/rtvforum/topic1054287.html
http://en.edaboard.com/topic-3314456.0.html
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Re: Помогите написать библиотеку

Сообщение Aheir »

Мурик писал(а):В гугле вводим запрос Bascom PCF8583 и получаем много ссылок по теме.
Вы что, это же сложно!
Оптимизм х (Опыт + Знания) = const
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Re: Помогите написать библиотеку

Сообщение Igor_67 »

Многоуважаемый Aheir, вместо того, чтобы ёрничать, лучше бы помогли. Негоже изголяться над своей паствой! А то я не гуглил??? Все сцылки по заданной теме выдают всякие польско-германские форумы, на которых задается тот же вопрос - а ответа так и нет... Все что можно, я уже испробовал, только ни один код не работает как надо... Поэтому и обращаюсь к "котам", как к старым добрым друзьям. Авось и разрулят... Звиняйте за столь неэтичное высказывание...
Власть, конечно-дело тонкое, можете меня и забанить, но я в отличие от некоторых, не хамлю (хотя бы)...
Цапу крутить надо!!! Ку или не ку?
Реклама
Аватара пользователя
Pavel_1978
Опытный кот
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Re: Помогите написать библиотеку

Сообщение 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
по моему это именно то что вы ищите...
Реклама
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Re: Помогите написать библиотеку

Сообщение Igor_67 »

Всем большое спасибо, уже разобрался. Помог пример из Samles/I2c/clock.bas. Кстати в предыдущем посте - тоже он. Тему можно закрыть.
Цапу крутить надо!!! Ку или не ку?
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»