seriel ur GPIO

V

vjcro

Guest
Hej,

Jeg er helt ny i programmering microcontrollere.
Jeg tænkte, hvis jeg ønsker at lave en 'ur' på en GPIO, hvad ville være det maksimale?Jeg formoder, - hvis jeg stillede, for eksempel: RB1 = 1, så RB1 = 0 i en løkke, vil uret sats være dobbelt så lang tid på den tid af de anvendte instruktion.Har jeg ret?

De ting, jeg gerne vil gøre, er at udføre min egen simple seriel kommunikation med en FPGA.Det UC ville generere den serielle uret på en knappenål og FPGA ville sende de bits på en data-pin.
Endnu et spørgsmål om dette: Er der en grænse for den serielle klokfrekvensen i denne form for kommunikation?

Jeg vil sætte pris på enhver hjælp!
Tak på forhånd.

 
Hej!

Dybest set, hvad du vil gøre, er lidt luftguitar.
I dette tilfælde kan du overveje at have en standard transmission gerne
SPI.Hvis du sender et ur til din FPGA og få en smule pr ur, så
Det er præcis, hvad SPI gør.Men det vil tage dig ganske få skridt for hver
bit.

Hvis du sender en byte som denne (i pseudo-kode):
Dette forudsætter, at en smule kommer på stigende kanten af uret.

Kode:

const char BIT [] = (

0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01

)uint8 receive_byte (void) (

uint8 i;

uint8 retval = 0;

for (i = 0; i <8; i) (

set_clock_bit_low ();

set_clock_bit_high ();

get_data_bit ();

if (data_bit) ret_val | = bit ;

)

return retval;

)
 

Welcome to EDABoard.com

Sponsor

Back
Top