mmmega02, problem z obsluga zegara i BMP085

Witam Bascom, wiem...:( Macie jakis pomysl jak obsluzyc te dwie rzeczy na raz? Problem jest taki, ze BMP085 dziala na 3 przewodach, (miso i mosi sa na jednej linii) a zegar ds1307 na dwoch.

konfiguracje mam taka Config Sda = Portb.2 'BMP085 podlaczenie Config Scl = Portb.1 'BMP085 podlaczenie

a konfiguracja DS-a: Sdi - Portb.2 Sdo -Portb.3 Scl -Portb.1

jak to ugrysc? Nie da sie przerobic na 3 linie (trzeba by ciac plytke i przepinac, wiec pozostaje software

Macie jakis pomysl?

Obsluga BMP085 dziala.

Drugie pytanie mam takie, jakis inny sposob na czyszczenie LCD T6963? CLS nie dziala, cls text oraz lcs graph tez nei do konca.. Moze trzeba zastowowac jakis myk?

Mam kikla podprogamow i musze wyszyscic lcd-ka, niestety tylko nadpisuje linie.

Reply to
wchpikus
Loading thread data ...
Reply to
Grzegorz Niemirowski

W dniu 2013-08-26 12:58, Grzegorz Niemirowski pisze:

formatting link
na ostatniej stronie jest schemat, zegar ma rozdzielone sdi i sdo, czujnik cinienia ma jedna linie danych,

Reply to
wchpikus

Zle sie wyrazilem, sorry Mam dwie linie sdi i sdo w zegarze, czy linie sdo mam nie obslugiwac?

Reply to
wchpikus
Reply to
Grzegorz Niemirowski
Reply to
Grzegorz Niemirowski

Quidquid MsgId est, timeo wchpikus et dona ferentem...

Coś zakręciłeś.

- ds1307 gada przez SPI (trzy linie, PB1,PB2,PB3)

- BMP085 gada przez I2C (dwie linie, PD0, PD1 - plus ewentualnie reset) Masz dwa urządzenia na różnych interfejsach, różnych pinach. Nie powinieneś mieć żadnego problemu.

Chyba że z jakichś powodów upierasz się żeby podłączyć czujnik ciśnienia koniecznie do tych samych pinów co zegar...

Sławek

Reply to
Sławomir Szczyrba

W dniu 2013-08-26 13:52, Sławomir Szczyrba pisze:

Ok namieszalem:) Juz sie poprawiam Zegar na ds1305 czujnik cisnienia jaki jest (BMP085). Maja dzialac na tych samych pinach, czyli czuknik BMP085 podpiety jest pod PB2, jak na schemacie.

Z tego co rozumiem zegar dziala po SPI, a mam na tym samym pinie czujnik cisnienia..czy da sie jakos to pogodzic?

Ic2 mam dla ds18b20 na innym pinie..

Reply to
wchpikus
Reply to
Grzegorz Niemirowski

I odezwał się tymi oto słowy, user znany nam jako wchpikus :

Mają, ale czy koniecznie MUSZĄ?

Teoretycznie tak. Włączyć SPI, odpytać zegar, wyłączyć SPI, odpytać czujnik, obsługując cały protokół komunikacyjny I2C 'ręcznie' i pamiętając o blokowaniu 'drugiego' scalaka odpowiednim sygnałem CE. Biblioteki do bitbank I2C są na sieci. Ale raczej nie chcesz tego...

ds18b20 to 1wire, może być na dowolnym pinie bo i tak musisz go ręcznie obsłużyć. mega128 nie ma sprzętowego 1wire (AFAIR)

Sławek

Reply to
Sławomir Szczyrba

W dniu 2013-08-26 14:07, Grzegorz Niemirowski pisze:

jezu, chyba faktycznie wszystko mi sie pomerdalo:(

- ds1305 gada przez SPI (trzy linie, PB1,PB2,PB3) ok to rozumiem

- BMP085 gada przez I2C (dwie linie, PD0, PD1 - plus ewentualnie reset), czyli spokojnie moge przepiac na inny port? Czyli ta konfiguracja nie ma sie ni jak do SPI?

Config Sda = Portb.2 Config Scl = Portb.1

Jesli SPI jest podlaczony w atmega128 do Pb0, PB1 i PB2 to SPI mam hardwarowy- tak?

Czyli

1wwrite odwoluje sie do 1wire I2cwbyte odwoluje sie do i2c

konfiguruje np spi:

sbi DDRB,7 ; SCK output cbi DDRB,6 ; MISO input sbi DDRB,5 ; MOSI output i obsuga poprzez SPIINIT SPIOUT

dobrze rozumuje? sorry za moje LAMERSTWO:)

Reply to
wchpikus
Reply to
Grzegorz Niemirowski

wchpikus nie tuman, nie da się wytępić!

Powinieneś.

SPI i I2C MOŻESZ mieć hardwarowy.

Tak. Ale...

Już ustalilismy przed chwilą, że SPI jest na pinach 0,1,2, więc dlaczego ustawiasz 5,6,7? :) BTW, jesli włączysz sprzętowe SPI/I2C odpowiednie piny są 'konfigurowane' automatycznie.

Z grubsza ;)

- ściagnij datasheeta do atmega128 i zaglądaj

- zdecyduj się czy chcesz stosować SPI/I2C hardware'owe czy programowe, (bo funkcje które cytujesz najwyraźniej ze sprzętu nie korzystają...)

- w zależnosci od tego co postanowisz, poszukaj odpowiedniej biblioteki (lub próbuj sam coś napisać)

Kazdy kiedyś zaczynał... :)

Sławek

Reply to
Sławomir Szczyrba

To przyklad, chodzilo mi o to ze inna komenda jest do wywolania i sterowania spi a inna do i2c.

u mnie jest 1, 2, 3 PB

Dokaldnie, chyba zabralem sie za projekt ktory mnie przerosnie:)

Odpalilem wyswietlacz, czujnik cisnienia, temteratury i wilgotnosci, mam jeszcze do odpalenia zegar i pamiec..

Na szybko zaintalowalem PCF8583 i dziala, tylko nie mam procedury ustawienia czasu. Ale jesli mam na pokladzie ds1305, chcialbym go wykorzystac,szczegolnie ze mam podstawke pod baterie orginalnie.

Szukam gdzies w sieci przykladu dla ds1305 ale nigdzie nie ma, jest za to to 1307... Nie wiem jak to ugryzc.

Piszesz ze hardwerowo to nie jest SPI, w dokumentacji wlasnie pod portami 1 2 3 (portb) mam sck, mosi miso, wiec to chyba spi?

Juz neich tak zostanie, mam na osobnych cisnienie, na osobnym temperature i wilgotnosc, zostal tylko zegar..

Moze uda sie cos sklecic.

Reply to
wchpikus

Witam! Mam jakis dzwiwny problem z obsluga t6963 (240x64 lcd) Nie moge wyczyslic ekranu, funkcja lcs w bascomie nie dziala...cls text czy cls graph tez nie.. Spotkal sie ktos w takim czyms?

W c szukam tez bibliotek do modulow, ale nie znalazlem.. ds1305, bmp085 oraz dth11... ds18b20 widzialem ze jest....

Co do t6963, jest tego troche, wiec sobie poradze.

Reply to
wchpikus

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.