Heb even een vraag;

Ik gebruik voor seriele comm. met mijn PIC een oude nokia Data kabel (zit immers een max232 in meen ik?). Probleem echter hiermee is dat ik de PIC telkens een reset moet geven wil ik serieel kunnen praten. Als het apparaat dus eenmaal draait, en sluit er later een pc met die nokia kabel op aan, dan krijg ik geen data heen en weer. Pas als ik de PIC reset met alles aan elkaar werkt het.

De reden dat ik de Nokia kabel grebuik is dat ik meerdere pics serieel kan besturen, en niet bij elke PIC een MAX232 hoef te zetten.

Nu kan dit een kwaal zijn van die data kabel, dus heb ik het plan om het zelf eens te proberen met een MAX232, maar dan zou ik graag willen dat de voeding van bv de DB9 afkomt, en niet van de PIC, zodat ik met die 1 MAX232 mijn PICs kan besturen.

Iemand een iedee of dit kan, en zoja, loop ik dan niet weer tegen het probleem aan dat de data overdracht alleen werkt als alles aanstaat en de pic een reset krijgt.

Overigens komt de PIC routine van de site van William (die met de RGB leds)

Dank
Martin

Misschien is de afhandeling van storing (dus "halve" bytes e.d.) op de seriële lijn niet helemaal foutvrij.

De PIC UART heeft een aantal bits die bij fouten in de communicatie gezet worden, en sommige MOETEN uitgelezen of gereset worden anders kan de UART niet verder met bytes ontvangen.

Ok begrijpelijk, maar hoe zie ik dit dan terug in code bv?

Nu is het zo dat er door een aantal routines wordt 'ge-looped', en 1 daarvan is een controle of er iets is ontvangen, is het antwoord nee, dan gaat de loop weer verder, en dit herhaalt zich oneindig. Vreemde is dus wel dat als de spullen eenmaal aan elkaar staan en ik een reset geef, ik op elk moment gewoon kan communiceren, of het spul dan 5 min. aan staat of uren..

Op 15 augustus 2006 15:58:48 schreef marting:
Ok begrijpelijk, maar hoe zie ik dit dan terug in code bv?

Nu is het zo dat er door een aantal routines wordt 'ge-looped', en 1 daarvan is een controle of er iets is ontvangen, is het antwoord nee, dan gaat de loop weer verder, en dit herhaalt zich oneindig. Vreemde is dus wel dat als de spullen eenmaal aan elkaar staan en ik een reset geef, ik op elk moment gewoon kan communiceren, of het spul dan 5 min. aan staat of uren..

Je moet dus bij je loopje dat controleert of iets ontvangen is, ook controle zetten op fouten. Als er niets aan de USART pinnen hangt, weet je niet of die op '1' of '0' staan. Door je datakabel eraan te hangen, verandert ie blijkbaar van status, dus denkt hij dat er 1 bitje is ontvangen, maar hij verwacht 8 bits. Dus geeft hij een fout, en schakelt hij de USART uit tot jij die fout weer hebt gereset.

Ws is het een framing error, check bitje 2 (FERR) van RCSTA.

Ach soms heb je gewoon een zetje nodig he..
Ga het even proberen. Kwam dit stukje tegen op het Mchip forum, dat zou de lading moeten dekken neem ik aan;

http://forum.microchip.com/tm.aspx?m=178367

Op 15 augustus 2006 16:48:44 schreef marting:
Ach soms heb je gewoon een zetje nodig he..
Ga het even proberen. Kwam dit stukje tegen op het Mchip forum, dat zou de lading moeten dekken neem ik aan;

http://forum.microchip.com/tm.aspx?m=178367

Met alleen de datasheet, en als je die nodig hebt een bril, krijg je alles perfect in werking. Er staat een genummerd stappenplan van wat moet gebeuren om te communiceren met de USART, als je dat volgt, dus gewoon het stukje in de datasheet over USART goed leest, krijg je alles perfect in werking.

die bril zal het dan zijn geweest ;)

Je kent het he.. men is liever lui dan moe..
Bedankt voor de hulp.