logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ST7540 i ATMEGA16 Problem z kwarcem i odczytem rejestru

apis14 14 Lip 2008 13:42 1611 2
  • #1 5341137
    apis14
    Poziom 12  
    Witam.
    Posiadam układ z ST7540 i uC sterującym jego pracą- w tej roli Atmega16.

    pierwszy problem: po ustawieniu fuse bitów w atmedze (pod avrdude), jak poniżej nie ma przebiegu na zewnętrznym kwarcu (16Mhz) podłaczonym do atmega16. ładowane do procka programy działają...co może być przyczyną? używam oidentycznego kwarcu do układu St7540 i przebieg na nim jest dosłownie ksiązkowy.

    ustawione fuse bity:
    OCDEN 1
    JTAGEN 1
    SPIEN 0
    CKOPT 1
    EESAVE 1
    BOOTSZ1,2 oba na 0
    BOOTRST 1
    BODLEVEL 1
    BODEN 1
    SUT1 1
    SUT0 0
    ORAZ CKSEL3-0 WSZYSTKIE NA JEDYNKI.

    Drugi problem:
    chciałem na początek odczytać Control Register w ST7540. Program pisze w Bascomie. ustawiłem linie o których mowa w datasheet w odp stany: REG_DATA na 1 i RxTX na 1. transmisja odgórnie przy takim odczycie jest szeregowa,na oscyloskopie widze zegar z ST7540 na pinie CLR/T. nie widze natomiast nic na linii z ktorej chce odczytywac, RxD, jest tam tylko składowa stała na poziomie około 3V, stąd (podejrzewam )w terminalu na PC smigaja mi tylko odczytane jedynki, rejestr w trybie normlnym ma 23 bity.
    zainteresowane piny podpiete pod atmegę jak na załaczonym obrazku...

    w czym może być problem?
    prosze o sugestie...

    Przeniosłem z Programowanie Ogólne - krzychoocpp
    Załączniki:
  • Pomocny post
    #2 5343223
    crazy_phisic
    VIP Zasłużony dla elektroda
    Problem #1:
    "For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and 16MHz with CKOPT programmed. "

    Problem #2:
    Co z linią UART/SPI?
  • #3 5343451
    apis14
    Poziom 12  
    dzieki, z tym bitem CKOPT faktycznie jest tak. Kwarc ruszył. jesli chodzi o linie uart/spi to mam ją ustawioną w stan wysoki/uart. Tak czy siak- transmisja przy odczycie rejestru "CR" jest zawsze synchroniczna, udało mi się odczytać te bity, złapałem je na oscyloskopie. bieżacy problem jest taki:
    nie wiem jak zapisać te dane. Jak ma wyglądać bascomowa procedura odczytu danych z linii portu atmegi. dodam że przebieg to 48 bitów (w ciągu), czas trwania poziomu dla jednego bitu to około 400mikrosekund..
    znalazłem w bascomie taka intrukcję shift in. problem w tym jak zadeklarowac zmienna? jaka to ma byc zmiennaa i stworzyc procedure zeby te 48 bitow moc wysiwetlic np w terminalu po rsie.
REKLAMA