PDA

Επιστροφή στο Forum : max232



kwstakis
06-05-09, 11:20
γεια σας θελω λιγο την βοηθεια σας οσο αφορα το max232.προσπαθω να συνδεσω με pc εναν avr.εχω φτιαξει το κυκλωμα του 232 και προσπαθω να εποικινονισω προς το παρων μεσω hyper terminal χωρις επεξεργαστη.εχω συνδεσει 2 led στο rx kai tx.γεφυρωνω το rx kai tx που θα πηγαινανε στον avr και λογικα ετσι θα επρεπε οτι γραφω στο hyper terminal να μου το εμφανιζει στην οθονη.να διευκρινισω οτι δουλευω με laptop ,δεν εχω σειριακη και βαζω το καλωδιο usb to serial.οταν βαζω ρευμα στο max 232 αναβει το led στο tx μονιμα και αφου γεφυρωνω το rx αναβει και αυτο.συνδεομαι στο hyperterminal αλλα οσο και να γραφω φενεται να μην γινεται τιποτα..μπορει καποιοσ να βοηθησει πανω σε αυτο??

kwstakis
06-05-09, 11:31
αυτο ειναι το κυκλωμα που εχω φτιαξει9084

hardcode
06-05-09, 14:10
Για αρχή, καλό είναι να χρησιμοποιήσεις ένα terminal της προκοπής:

http://braypp.googlepages.com/terminal

gsmaster
06-05-09, 14:30
Βγάλε τα led και ξαναδοκίμασε.
Στο κύκλωμα δεν φαίνεται πως συνδεσες τα led.
Δες και αυτό http://www.hlektronika.gr/forum/showthread.php?t=37108

kwstakis
06-05-09, 16:07
εχεται δικαιο..δεν εβαλα το σωστο κυκλωμα.το κυκλωμα που εχω φτιαξει ειναι αυτο9088
οσο για το τερminal που μου προτεινε ο φιλος hardcode το εβαλα και το δοκιμασα..συνδεωντας το tx και rx στο ttl επιπεδο οτι γραφω στην μπαρα κατω μου το εμφανιζει στην πανω οθονη..αυτο σημαινει οτι δουλευει σωστα????

kwstakis
07-05-09, 16:19
τελικα μου δουλεψε σωστα..τωρα πειραματιζομαι λιγο πανω σε αυτο και θελω οταν παταω ενα button στον με να μου εμφανιζει ενα γραμα στο pc.
γραφω τον παρακατω κωδικα που τον βρηκα ετοιμο αλλα εκανα καποια παραλαγη αλλα δεν μου εμφανιζει αυτο που του λεω εμφανιζει κατι αλους χαρακτιρες..μπορει καποιος να μου πει τι γραφω λαθος??και κατι αλλο..αν θελω να το δουλεψω με 10mhz κρυσταλο τι πρεπει να αλαξω?ευχαρηστω..




.include"8515def.inc"
.def rtemp=r17 ;temporary register
.def rreg=r18 ;register for recieving data
.def treg=r19 ;register for transmitting
.equ baudrate=$33 ;baud rate of 9600 bps for a clock frequency of 8 Mhz
;UART data register empty flag(5th bit of USR register)
.cseg
.org 0
rjmp RESET ;reset handle
rjmp RESET
rjmp RESET
RESET:
ldi r16,0b00000000
out ddrd,r16

ldi r16, low(RAMEND) ;initialising stack
out SPL,r16
ldi r16,HIGH(RAMEND)
out SPH,r16
ldi r16,255 ;initialising port B for output
out DDRB,r16

rcall init_uart ;initialising 8515 for transmit and recieve
rjmp wait
wait:
sbis pind,4
rcall delay
sbis pind,4
rjmp up
rjmp wait

up:


ldi treg,'b'
rcall txcomp ;transmitting data
rjmp wait

init_uart:
ldi rtemp, baudrate ;setting baud rate
out UBRR,rtemp
ldi rtemp, $18 ;initialising UART control register
out UCR, rtemp
ret
;subroutine for recieving data

;subroutine for transmitting data
txcomp: sbis USR,UDRE ;poll to check end of transmission
rjmp txcomp
out UDR, treg
ret

delay:
ldi r28,6; 1T DATA1
loop4:
ldi r27, 100 ; 1T DATA2
loop5:
ldi r26, 100 ; 1T DATA3
loop6:
nop ; 1 T
nop ; 1T
nop ; 1T
nop ; 1T
nop ; 1T
nop ; 1T
nop ; 1T
dec r26 ; 1T
brne loop6 ; Ψευδής 1Τ Αληθής 2Τ
dec r27 ; 1T
brne loop5 ; Ψευδής 1Τ Αληθής 2Τ
dec r28 ; 1T
brne loop4 ; Ψευδής 1Τ Αληθής 2Τ
ret ; 4T

hardcode
07-05-09, 19:13
Σε τι συχνότητα δουλεύει έχεις βάλει να δουλεύει controller?

kwstakis
07-05-09, 21:20
το προγραμμα αυτο το εχω βρει ετοιμο εκτοςαπο αυτα που αλαξα μονος μου και λεει οτι δουλευει στα 8 mhz.εγω εχω εναν κρυσταλο 10 mhz.συγνωμη αλλα οτι εχω φτιαξει το εφτιαχνα με εσωτερικους χρονιστες και δεν ξερω πολλα απο αυτα.

hardcode
07-05-09, 22:56
Αυτη τη στιγμή ο controller σου τρέχει σίγουρα στα 10MHz;
Αν δεις στο datasheet του controller κάπου έχει ένα πινακάκι που λέει τις τιμές για τον UBRR για το baud rate που θες ανάλογα με το clock που χρησιμοποιείς.
Καλό είναι να χρησιμοποιείς συχνότητες που αναφέρονται στον πίνακα, π.χ. 11.05292ΜΗz, 9.216MHz για τη σειριακή επικοινωνία, γιατί θα έχεις λιγότερα σφάλματα. Το αναλύει μέσα στο datasheet, ρίξε μια ματιά.

kwstakis
07-05-09, 23:32
ok θα το κοιταξω αλλα σαν προγραμμα ειναι σωστο??θα πρεπει αν φτιαξω τις συχνοτητες να μου εμφανιζει τον χαρακτιρα 'd'??