PIC, Seriell kommunikation, Baud Rate?
PIC, Seriell kommunikation, Baud Rate?
Tjena!
Jag sitter o leker lite på mitt kopplingsdäck. Det är så att jag vill få två PIC'ar att "snacka" med varandra över seriellportarna. Så jag bara testade att ta någon random baud-rate och testade att skicka en byte, men det som visas på displayen på den PIC som tar imot meddelandet är bara *gojja* eller ingenting.
Och nu efter lite mer noggrann forskning i ämnet hittade jag nånting om att man nåste köra på en exakt baud-rate beroende på vad man har för klock-hastighet. stämmer detta? och isåfall hur räknar man ut det? och vad ska jag isåfall ha för baud-rate på en PIC med en 4MHz-klocka?
//Jonas
Jag sitter o leker lite på mitt kopplingsdäck. Det är så att jag vill få två PIC'ar att "snacka" med varandra över seriellportarna. Så jag bara testade att ta någon random baud-rate och testade att skicka en byte, men det som visas på displayen på den PIC som tar imot meddelandet är bara *gojja* eller ingenting.
Och nu efter lite mer noggrann forskning i ämnet hittade jag nånting om att man nåste köra på en exakt baud-rate beroende på vad man har för klock-hastighet. stämmer detta? och isåfall hur räknar man ut det? och vad ska jag isåfall ha för baud-rate på en PIC med en 4MHz-klocka?
//Jonas
> Så jag bara testade att ta någon random baud-rate
Hur då ? Och vilken ?
> och testade att skicka en byte,
Hur då ?
> Och nu efter lite mer noggrann forskning i ämnet
Var då ?
> hittade jag nånting om att man nåste köra på en exakt baud-rate beroende på vad man har för klock-hastighet.
Det *där* är också "gojja".
> stämmer detta?
Nej.
> och isåfall hur räknar man ut det?
Vad var problemet med USART avsnittet i databladet ?
> och vad ska jag isåfall ha för baud-rate på en PIC med en 4MHz-klocka?
Ta vilken du vill som går att ställa in. Detaljerna finns som sagt i avsnittet
om USART i databladet.
Hur då ? Och vilken ?
> och testade att skicka en byte,
Hur då ?
> Och nu efter lite mer noggrann forskning i ämnet
Var då ?
> hittade jag nånting om att man nåste köra på en exakt baud-rate beroende på vad man har för klock-hastighet.
Det *där* är också "gojja".
> stämmer detta?
Nej.
> och isåfall hur räknar man ut det?
Vad var problemet med USART avsnittet i databladet ?
> och vad ska jag isåfall ha för baud-rate på en PIC med en 4MHz-klocka?
Ta vilken du vill som går att ställa in. Detaljerna finns som sagt i avsnittet
om USART i databladet.
Jag tog mina första trevande kliv in i USART-världen för ett tag sen. Lite stök är det ju som vanligt i början men när man väl fått igång det så rullar det på. Kämpa på är mitt råd. Du kommer få det att funka om du bara lägger lite tid på det.
Vill du ha mer specifik hjälp så får du nog (som du antagligen redan märkt) ställa mer specifika frågor. Som vanligt så är databladet för din PIC rekomenderad lektyr speciellt då avsnittet om USART-modulen förstås.
Kan tänka mig att det kan vara lättare att börja med en PC i ena ändan av kommunikationen. Så att du till exempel vet att PIC 1 skickar "korrekta" data innan du försöker få PIC 2 att ta emot detta.
Kan, om du väljer PC-alternativet, tipsa om Sodjans RS232-moduler. Litet smidigt PCB med en MAX232 krets och diverse kringkomponenter (rätta mig om jag har fel). Bara att strömsätta så har du en länk PC<->PIC över COM-porten.
MVH
/Tottish
Vill du ha mer specifik hjälp så får du nog (som du antagligen redan märkt) ställa mer specifika frågor. Som vanligt så är databladet för din PIC rekomenderad lektyr speciellt då avsnittet om USART-modulen förstås.
Kan tänka mig att det kan vara lättare att börja med en PC i ena ändan av kommunikationen. Så att du till exempel vet att PIC 1 skickar "korrekta" data innan du försöker få PIC 2 att ta emot detta.
Kan, om du väljer PC-alternativet, tipsa om Sodjans RS232-moduler. Litet smidigt PCB med en MAX232 krets och diverse kringkomponenter (rätta mig om jag har fel). Bara att strömsätta så har du en länk PC<->PIC över COM-porten.
MVH
/Tottish
Jag gav mig på att programmera en AVR för kommunikation USART<->Mac med hjälp av en RS232(TTL)<->USB-kabel från Lawicel (mycket smidig kabel för övrigt) härom veckan.
Ställde in allt enligt databladet och kodexempel, ställde in rätt hastigheter, kollade fusebitarna, kollade vad terminalprogrammet var inställt på. Gick inte. Läste databladet fyra-fem gånger, letade efter mer exempelkod, kollade med oscilloskopet. Noll, nix. nada. Till slut tog jag i ren desperation oscilloskopproben och petade på alla ben på processorn, ett i taget. Inget, inget, inget, inget, ing... vänta nu... en PWM-signal??!? Vad i hela... Sakta börjar jag inse vad det är som är fel. Jag klickar fram inställningarna för AVR Studio...
Neeej... Jag har alltså, hela tiden, programmerat in fel hexfil! När jag byter hexfilen till den riktiga funkar allt på första försöket.

Jaja, ibland är man mer än lovligt dum. Men en lärdom man kan dra: när ingenting alls händer är felet ofta enkelt. Så kolla det enkla innan du slösar bort fem timmar på det svåra
Ställde in allt enligt databladet och kodexempel, ställde in rätt hastigheter, kollade fusebitarna, kollade vad terminalprogrammet var inställt på. Gick inte. Läste databladet fyra-fem gånger, letade efter mer exempelkod, kollade med oscilloskopet. Noll, nix. nada. Till slut tog jag i ren desperation oscilloskopproben och petade på alla ben på processorn, ett i taget. Inget, inget, inget, inget, ing... vänta nu... en PWM-signal??!? Vad i hela... Sakta börjar jag inse vad det är som är fel. Jag klickar fram inställningarna för AVR Studio...





Jaja, ibland är man mer än lovligt dum. Men en lärdom man kan dra: när ingenting alls händer är felet ofta enkelt. Så kolla det enkla innan du slösar bort fem timmar på det svåra
