Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

transmisja

Pawel12_345 25 Dec 2003 11:12 1619 4
  • #1
    Pawel12_345
    Level 2  
    Czesc

    Jaka najlepiej zrobic transmisje synchroniczna na AT90s2313. Sa to 3 linie jedna to zegar druga to linia danych 12 bitowa a trzecia to sygnal enabled. Chodzi mi o realizacje tego problemu w BASCOM.
  • #3
    robson_s-ec
    Level 15  
    ja bym to zrobil we wstawce assemblerowej ale w kazdym razie chodzi o przewijanie rejestru/zmiennej i kopiowanie jednego bitu(wskaznika c) na wyjscie lub na odwrot zczytywanie z zewn do c/bitu zmiennej i dopiero przewijanie
  • #4
    genetix
    Level 24  
    osobiscie nie pcham sie w uzywanie flagi C. mozna to zrobic uzywajac rozkazow sbrs/sbrc:

    [font=Courier New:5c5a88770d]
    .def temp = r16
    .def data = r17

    .equ MSB = 7
    .equ LSB = 0
    .equ sda = 0 ; albo jakikolwiek inny pin
    .equ scl =1; j.w.

    SendRegister:
    ldi temp, 8
    sendregister_loop:
    sbrs data, MSB ;ewentualnie LSB
    cbi portX, sda
    sbrc data, MSB ; ewentualnie LSB
    sbi portX, sda
    lsl data ; ewentualnie lsr
    dec temp
    brne sendregister_loop
    sbi portX, scl
    nop ; lub inne opoznienie
    cbi portX, scl
    ret
    [/font:5c5a88770d]
  • #5
    Pawel12_345
    Level 2  
    Chodzi mi dokladnie o oprogramowanie tego na At90s2313


    ADS7822

    Jak to najlepiej zrobic??