Sida 1 av 1
PIC, Seriell kommunikation, Baud Rate?
Postat: 20 november 2007, 18:42:09
av Nilsson
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
Postat: 20 november 2007, 19:23:01
av Icecap
Om du ställer deras baud-rate register lika och de har samma klockhastighet kommer de att prata med varandra.
Men ofta är 9600 eller 19200 en bra hastighet, formler finns i databladet.
Postat: 20 november 2007, 19:58:45
av bengt-re
Givetvis beroende på kabellängden. långa kablar, hög hastighet och 5V system är inte klockrent för säker dataöverföring om det blir lite avstånd.
Postat: 20 november 2007, 23:10:42
av sodjan
> 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.
Postat: 20 november 2007, 23:55:07
av Tottish
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
Postat: 22 november 2007, 16:53:49
av Nilsson
Okej, tack för svaren.
Postat: 22 november 2007, 17:33:07
av Zyxel615
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

Postat: 22 november 2007, 17:44:01
av Stinrew
Hehehe
Zyxel615det där känner man igen. Ett solklart fall av sbs!

Postat: 22 november 2007, 19:06:58
av oJsan
Zyxel615 skrev:Så kolla det enkla innan du slösar bort fem timmar på det svåra

Se det inte som slöseri, du är förmodligen en av få som kan den AVR:ens alla uart-register utan-och-innan
Och förmodligen går det väldigt snabbt nästa gång du ska sätta upp en UART.
Postat: 22 november 2007, 19:17:50
av Zyxel615
Hahaha, där har du rätt

Utantill vet jag inte riktigt om jag kan men jag har i alla fall bra koll på hur det funkar. Nu har jag ju en initieringskod som jag vet gör jobbet = klipp och klistra. Subrutiner is teh shit
