PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 16 Bit seriell senden + Dokumentation gesucht



Dr.Nokill
18.07.2004, 21:39
Hallo,

ich möchte mit Bascom eine Programm machen, mit dem ich seriell auf einen Takt bezogen 16Bit senden kann.
Die Standardprozdur die ich im Helpfile gefunden habe macht dies scheinbar immer nur mit 8Bit
Ich muss für die Übertragung einen Pin (nennen wir ihn EN) auf LOW setzen und mit der 1. steigenden Flanke das 1.Bit übertragen mit der 2. Steigenden flanke dann das 2. usw... bevor die flanke das 17. Mal steigt muss EN wieder auf HIGH gesetzt werden, also das standard syncrone serielle übertragungsverfahren, aber 8bittig...

Gibt es irgendwo gute deutsche freie Dokumentationen (für BASCOM) oder kann einer ein gutes Buch empfehlen? (Basic C/C++ und mit VHDL (Grund)kenntnisse snid vorhanden) mir wäre z.b. klar wie man das obige teil per VHDL machen würde, leider kann ich damit aber keine RC5 Codes auslesen was mit Bascom ja dank getrc5 recht einfach geht...)

Danke euch für die Hilfe

sonic
19.07.2004, 11:51
Hallo,
ich möchte mit Bascom eine Programm machen, mit dem ich seriell auf einen Takt bezogen 16Bit senden kann.
Die Standardprozdur die ich im Helpfile gefunden habe macht dies scheinbar immer nur mit 8Bit


Welche Standartprozedur meinst du?



Ich muss für die Übertragung einen Pin (nennen wir ihn EN) auf LOW setzen und mit der 1. steigenden Flanke das 1.Bit übertragen mit der 2. Steigenden flanke dann das 2. usw... bevor die flanke das 17. Mal steigt muss EN wieder auf HIGH gesetzt werden, also das standard syncrone serielle übertragungsverfahren, aber 8bittig...

Gibt es irgendwo gute deutsche freie Dokumentationen (für BASCOM) oder kann einer ein gutes Buch empfehlen? (Basic C/C++ und mit VHDL (Grund)kenntnisse snid vorhanden) mir wäre z.b. klar wie man das obige teil per VHDL machen würde, leider kann ich damit aber keine RC5 Codes auslesen was mit Bascom ja dank getrc5 recht einfach geht...)

Danke euch für die Hilfe

Die Doku zu Bascom kannst du kostenlos beim Hersteller runterladen
-> http://www.mcselec.com/download_avr.htm

Aber das Problem klingt eher so als ob es uC spezifisches wäre. Vielleicht wäre ein Weg zur Lösung des Problems sich Projekte anzuschauen die Ähnliches gemacht haben...

Gruß, Sonic

19.07.2004, 12:06
Bascom-Infos / Buchtips
https://www.roboternetz.de/phpBB2/viewtopic.php?t=884

Dr.Nokill
19.07.2004, 20:25
Hallo,

Danke für die Links und die Buchtips, werde mir die Bücher mal ansehen...

Ich habe in der Referenz vom Bascom den Shiftout befehl gefunden, das ist genau was ich gesucht habe nur jedoch ohne den invertierten Write Enable eingang (immer 1, ausser man will in den Chip reinschreiben, dann muss er auf 0 gesetzt werden und die nächsten 16 Taktzyklen 0 bleiben)
Kann ich den so realisieren, oder habe ich statt 16 Taktzyklen dann 18 Taktzyklen die Write Enable 0 bleibt?

Sind meine ersten Schritte mit Bascom... 8-[

Declare Sub Set(Var As Integer)

Dim Variable As Integer '16 Bit Zahl für die Ausgabe

SCLK Alias Portb.0 'SCLK ist der Clock für den Pga
Output Alias Portb.1 'Ausgang in den Variable geschrieben wird
PgaEN Alias Portb.2 ' Write Enable für den Externen Chip
SCLK = 1 'SCLK auf HIGH setzen
PgaEN = 1 'Write Enable auf HIGH setzen für keine Übertragung

Call Set(Variable)

Sub Set(Var As Integer)
'In den Chip schreiben
PgaEN = 0 'Write Enable auf LOW setzen für Übertragungsbeginn
Shiftout Output , SCLK , Volume , 0 , 16
Portb.2 = 1 'Write Enable auf HIGH setzen für Übertragungsende
End Sub

Danke für die HIlfe...