Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: schnelles SPI Kategorie: Progr. Assembler, TaskingTools, OS (von Michael - 2.05.2006 22:37)
Als Antwort auf Re: schnelles SPI von André H. - 1.05.2006 22:13
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT V3.0
> Hallo Micha,
>
> > ich möchte gern ein Vollgrafikfähiges Display (Handy-Display) an die C-Control anschliessen.
> > Diese Displays werden über SPI angesteuert. Das Proggi vom Ablauf her geht klar.
> > Mein Problem besteht darin, dass der ganze Bildaufbau zu langsam stattfindet.
> > Dh. die Bitweise serielle Ausgabe an der CControl funzt zu langsam und somit kann man den
> > Bildaufbau Pixelweise beobachten.
> > Leider hab ich keinen blassen von Assemblerprogrammierung um das ganze
> > in einer Weise ablaufen zu lassen die annehmbar ist.
> >
> > Kennt jemand aus der Gemeinde einen Link (oder Idee) worüber man eine schnelle SPI über zwei frei
> > wählbare Ports bekommt? Mit dem Clock einer CC2 sollte das doch sicher machbar sein, oder
> > stosse ich hier an Grenzen der CC.
>
> An Grenzen stö�t Du hier sicher nicht.
> Es sind nur kleine ASM-Routinen für eine schnelle Ausgabe nötig:
>
> ; P1L.0 CC60IO       DI
> ; P1L.1 COUT60  DO
> ; P1L.2 CC61IO  CLK
> ; P1L.3 COUT61
> ; P1L.4 CC62IO
> ; P1L.5 COUT62
> ; P1L.6 COUT63
> ; P1L.7 CTRAP
> ; P1H.0 CC6POS0
> ; P1H.1 CC6POS1
> ; P1H.2 CC6POS2
> ; P1H.3 T7IN  
> ; P1H.4 CC24IO
> ; P1H.5 CC25IO
> ; P1H.6 CC26IO
> ; P1H.7 CC27IO
>
> OSsegment     EQU     0
> POP_R4                EQU     0765AH  ;uses: R4, R12, R13, R14
> PUSH_R12      EQU     075D6H  ;uses: R1, R2, R12, R13,R14,R15
>
> ; Byte schreiben SPI
>
> wrbyte        proc far
>       CALLS   OSsegment,POP_R4        ;data
>       MOVB    RH4, RL4
>       MOV     R13,#0h
> _1:     ;for i=0 ... 7
>
>       ROL     R4, #1
>       BMOV    COUT60,C
>
>       BCLR    CC61IO ; Clock
>       BSET    CC61IO
>       CMPI1   R13,#07h
>       JMPR    cc_SLT,_1 ; next for; jump if R13 < 0x07
>
>       BSET    COUT60
>
>       POP     R1
>       POP     R1
>       RETS
> wrbyte        endp
>
> ; Byte lesen SPI
>
> rdbyte        proc far
>
>       MOV     R12,#0
>       MOV     R13,#0h
> _2:     ;for i=0 ... 7
>
>       BCLR    CC61IO ; Clock
>       SHL     R12, #1
>       BMOV    R12.0,CC60IO
>
>       BSET    CC61IO
>       CMPI1   R13,#07h
>       JMPR    cc_SLT,_2 ; next for; jump if R13 < 0x07
>
>       CALLS   OSsegment,PUSH_R12
>       POP     R1
>       POP     R1
>       RETS
> rdbyte        endp
>

>
> Das ganze kannst Du z.B. über die Tasking-Tools assemblieren.
>
> MfG André H.
>

Hallo André,

dank erst mal für deine schnelle Beantwortung meiner Frage. Ich hab zwar zum Assembler noch
keinen Draht, werde mich aber mit dem Tasking-Tool beschäftigen.
(hoffe dass ich damit klar komme ;-) ).
Wenn ich das korrekt lese stehen die UP`s auf Adresse 0765AH und 075D6H
Wie rufe ich diese Unterprogramm dann korrekt auf?

GruÃ? Micha






    Antwort schreiben


Antworten:

Re: schnelles SPI (von André H. - 14.05.2006 16:02)
    Re: schnelles SPI (von Michael - 8.06.2006 20:03)