duger INTOSC för RS232? (PIC16F886)
Postat: 11 november 2007, 12:28:28
Då har jag lekt med en uppkoppling runt PIC16F886 på lab-plattan ett tag och bestämde mig för att flytta över projektet till ett lab-kort med lödöar för en lite mer rigid känsla. Sagt och gjort.
Bakgrund: (Detaljerad beskrivning. Hoppa till slutfrågan om ni har bråttom =)
I projektet så använder jag EUSART-modulen för att kommunicera med PC. Detta fungerade utmärkt innan jag flyttade över komponenterna på "löd-kortet" men nu går det inte så bra längre.
Innan flytten så användes 19,2kb/s som överföringshastighet utan problem med väldigt låg "fel-procent". Det var ibland efter omprogramering av PICen som första skickade ASCII-tecknet (PIC->PC) kunde bli galet. Jag brydde mig inte så mycket om det eftersom det aldrig blev fel efter det så vitt jag kunde se.
Efter flytten så var det tvärt om. Ibland blev första tecknet rätt efter omprogramering av PICen och efter det blev inte ett tecken rätt. Det blev dock oftast samma "fel tecken" som sändes.
Jag skrev om koden, så att det enda den skulle göra var att sända en given ASCII-kod när man trycker på en knapp, för att vidare analysera problemet.
Det visade sig att fel-procenten var betydligt lägre vid lägre hastigheter. Jag provade ner till 2400kb/s och där blev det rätt i mer än 99% av fallen men inte alltid.
Slutfråga:
Jag använder mig av den interna oscilatorn snurrande i 4 MHz. Kan det vara så att denna inte har tillräcklig tolerans för lite snabbare EUSART?
Om inte: Vad skulle ni med mer erfarenhet tro att felet kan bero på?
Ha en fin Söndag!
/Tottish
Bakgrund: (Detaljerad beskrivning. Hoppa till slutfrågan om ni har bråttom =)
I projektet så använder jag EUSART-modulen för att kommunicera med PC. Detta fungerade utmärkt innan jag flyttade över komponenterna på "löd-kortet" men nu går det inte så bra längre.
Innan flytten så användes 19,2kb/s som överföringshastighet utan problem med väldigt låg "fel-procent". Det var ibland efter omprogramering av PICen som första skickade ASCII-tecknet (PIC->PC) kunde bli galet. Jag brydde mig inte så mycket om det eftersom det aldrig blev fel efter det så vitt jag kunde se.
Efter flytten så var det tvärt om. Ibland blev första tecknet rätt efter omprogramering av PICen och efter det blev inte ett tecken rätt. Det blev dock oftast samma "fel tecken" som sändes.
Jag skrev om koden, så att det enda den skulle göra var att sända en given ASCII-kod när man trycker på en knapp, för att vidare analysera problemet.
Det visade sig att fel-procenten var betydligt lägre vid lägre hastigheter. Jag provade ner till 2400kb/s och där blev det rätt i mer än 99% av fallen men inte alltid.
Slutfråga:
Jag använder mig av den interna oscilatorn snurrande i 4 MHz. Kan det vara så att denna inte har tillräcklig tolerans för lite snabbare EUSART?
Om inte: Vad skulle ni med mer erfarenhet tro att felet kan bero på?
Ha en fin Söndag!
/Tottish