PIC, Seriell kommunikation, Baud Rate?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Nilsson
Inlägg: 60
Blev medlem: 12 januari 2007, 21:20:26
Ort: Göteborg

PIC, Seriell kommunikation, Baud Rate?

Inlägg 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
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg 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.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg 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.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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.
Tottish
Inlägg: 847
Blev medlem: 30 juni 2007, 19:11:37
Ort: Oslo, Norge

Inlägg 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
Nilsson
Inlägg: 60
Blev medlem: 12 januari 2007, 21:20:26
Ort: Göteborg

Inlägg av Nilsson »

Okej, tack för svaren.
Användarvisningsbild
Zyxel615
EF Sponsor
Inlägg: 1839
Blev medlem: 9 november 2005, 21:20:43
Ort: Kiruna

Inlägg 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... :jimmyhacker: 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. :wall: :wall: :wall: :wall:

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 :lol:
Användarvisningsbild
Stinrew
Inlägg: 954
Blev medlem: 20 augusti 2006, 03:14:41
Ort: Motala
Kontakt:

Inlägg av Stinrew »

HeheheZyxel615det där känner man igen. Ett solklart fall av sbs! :D
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Zyxel615 skrev:Så kolla det enkla innan du slösar bort fem timmar på det svåra :lol:
Se det inte som slöseri, du är förmodligen en av få som kan den AVR:ens alla uart-register utan-och-innan :lol:
Och förmodligen går det väldigt snabbt nästa gång du ska sätta upp en UART.
Användarvisningsbild
Zyxel615
EF Sponsor
Inlägg: 1839
Blev medlem: 9 november 2005, 21:20:43
Ort: Kiruna

Inlägg 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 :)
Skriv svar