Hallo,
Na veel puzzelen kreeg ik op me breadboard perfecte RS232 communicatie werkend en was mijn project 100% in orde om een printplaat voor te ontwerpen en etsen.
Nu heb ik me printplaat geetst en begon ik met het testen van RS232, verzenden van microcontroller via max232 chip naar PC gaat prima maar het ontvangen gaat niet.
Ik heb er nu een echo inzitten, dus iedere char die binnen komt wordt terug gestuurd. En ik stuur bijvb het alfabet over maar krijg alleen hex waarde 0 binnen. Maakt niet uit welke char is stuur ik krijg alleen een hex 0 binnen.
Wat klopt er niet? Wat heb ik fout gedaan? Het schema klopt want het is het zelfde schema als wat perfect werkte op de breadboard, alles heb ik nagekeken.
Het vreemde is dat er wel data binnen komt maar altijd als char met hex waarde 0.
sven
pointers don't kill programs, programmers kill programs
test dit eens: verwijder de µc uit zijn voetje (je hebt toch een voetje gebruikt?) en maak een bruggetje waar normaal de RX en de TX zijn. Als je dan wel een gewone echo hebt, ligt de fout bij je µC. Blijft het hetzelfde ligt de fout ergens anders...
Hier hoef ik ze er niet voor uit te halen, ik kan namelijk ook gewoon de UART uitzetten en de pinnen door verbinden toch?
sven
pointers don't kill programs, programmers kill programs
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Test je die communicatie met terminal of hyperterminal? Miss. helpt dit programma'tje wel, heeeel handig!
http://download.com.com/3120-20-0.html?qt=docklight&tg=dl-20
Heb 'k ook al veel plezier van gehad bij testen van communicatie van PIC-projecten!!
Groeten, de Wiebo
Benadski
Kom eens langs bij RevSpace of één van de andere spaces!
Ik gebruik de terminal speciaal voor microcontrollers, deze kan hex, decimaal, char en binair. Ook zit er een macrofunctie op.
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
idd, dat is zo ongeveer hetzelfde. Ze hebben beide dezelfde fucties, maar de grafische interface is beetje anders...
Groeten
Hoi
Heb je niet bij de PCB een spoor aan een verkeerde poot geplakt (ja, heb ik ook al eens gedaan...)
Is je PCB goed geetst? Niet nog stiekum ergens een randje koper over? (ff testen met de multimeter zonder ICs op de PCB).
Zit je voeding goed? Voldoende ontkoppeld? (soldeer eens 10uF tantaal direct over de voedingspinnen van de MAX).
De MAX232 is feitelijk niets anders dan nivo conversie. Als je aan de 5V zijde de nivo's veranderd (ff zonder uC), zie je dan aan de RS232 kant ook wat veranderen (en vice versa).
De MAX moet oscilleren om z'n RS232 niveau's te verkrijgen. Zoek ff uit welke C waarvoor gebruikt wordt, en kijk eens met de scoop of dat zou kunnen kloppen.
Succes
Marco
Heb het probleem gevonden, en een software fout (verkeerde versie er in gezet) en daarna een fout pin 2,3,4 omgewisseld, dus alleen pin3 zat goed. Ik heb nu een nieuw probleem...
Ik stuur om de seconde E 1sec wachten, P en nog 1 sec een Z
Dit is wat ik ontvang :
EPZPEPZÅPÚEPZEPEPÚEPZÅPZEÐEPÚÅPZEPZEPEPZEPZÅPZEÐPEPÚEPZÅPZÅÐPEPZ
Volgens mij is een van mijn verbindingen niet goed die ik opnieuw heb aangelegd.
---------------------- edit ----------------------
Ik heb de uC er uit gehaald pinnen van Tx en Rx door verbonden en het werkt als een trein, iets fout in me uC dus
Ik denk dat het een software fout is.... ik heb een 1ms teller en me RS232 data... volgens mij verkloten ze elkaar...
[Bericht gewijzigd door Parcye op ]
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Op 17 februari 2004 21:53:13 schreef Parcye:
Dit is wat ik ontvang :
EPZPEPZÅPÚEPZEPEPÚEPZÅPZEÐEPÚÅPZEPZEPEPZEPZÅPZEÐPEPÚEPZÅPZÅÐPEPZ
Zit er dus ook effectief 1 seconde tussen deze karakters?
En welke uC gebruik je? PIC? AVR?
Groeten, de Wiebo
AVR ATmega8
vreemde is dat hij wel werkte in de middag... maar heb net de spanning gekeken en die is kleine 3v, dat zal dus het probleem zijn.
Ik gebruik 9v bat. met een LM7805 om 5 volt te maken, maar nu is dat dus 3.1V en zal het daardoor niet kunnen zijn?
sven
pointers don't kill programs, programmers kill programs
zou kunnen ja. je voedingspanning is niet meer betrouwbaar en dus kan je signaal vervorm worden.
Koop in plaats van een batterij zo'n goedkope universele adaptor, is de prijs van 2 batterijen
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Als je het mij vraagt zou dat het probleem moeten zijn ja: de +5V wordt naar +9V en -9V geconverteerd, maw (5 - 0,6)*2 of 8,8 Volt, bij 3,1V zou dit maar (3,1 - 0,6)*2 = 5 Volt, en dit is te laag om de RS232 een goed signaal te geven...
Al eens een MAX232A geprobeerd? De 'A' is de nieuwe versie en de omgevormde spanningen zouden veel stabieler moeten zijn.
Overigens, de waarde van de 4 condensatoren die bij de MAX232 staan heeft niet zo echt belang, als je tss de 100nF en 10µF zit, zit je normaal altijd goed.
Groeten, Wiebo
sven
pointers don't kill programs, programmers kill programs
geen flauw idee, hangt van allerlei zaken af:
*capaciteit batterij
*kloksnelheid AVR
*programma
*aangesloten extra's (zoals een max232)
*...
*..
Het is van 9v 5v maken... is dus 56% over houden...
Op het moment dat de baterij geen 9v meer levert maar nog maar 7v is dat 3.8v en 6v is nog maar 3,3v en zo gaat het hard...
2x TSOP1736
1x max232
4x led
1x ATmega8 1MHz