framing error på pic
framing error på pic
Försöker koppa ihop en 16f876A och ett gsm modem (Telit GM862).
Funkar inte så bra får framing error. Modemet funkar när man kopplar in det till en pc via max232. Picen funkar den med via en max232 till pc.
Har även en lcd(kjell 99kr) till picen som visar vad som händer.
Picen kör usart på 9600baud enligt tabellen och inställningarna i databladet.
Modemet var på autobad funkade inte så jag ställde in på 9600 men samma fel, har stängt av hardware flowcontrol(rts/cts) har testat med hardware flowcontrol(är dock lite osäker om jag gör rätt) men får samma fel varje gång:
Ska försöka skicka ett AT och få tillbaka ett OK. Istället får jag framing error och ett skumt tecken som jag tror kan vara <CR> (har testat skriva ut det på lcdn och det är oftast samma men inte alltid ser ut som två lodräta streck)
Modemet pratar 3,3v så jag har kopplat utgångarna rakt in i picken(ska funka enl databladen)
Från Picen har har en spänningsdelare (pic_ut----2k2----telit_in----4k7----GND)
Har även lagt till ett pullup på ingången till modemet men samma fel.
Har testat olika kristaller 4 & 20Mhz
några tips?
Funkar inte så bra får framing error. Modemet funkar när man kopplar in det till en pc via max232. Picen funkar den med via en max232 till pc.
Har även en lcd(kjell 99kr) till picen som visar vad som händer.
Picen kör usart på 9600baud enligt tabellen och inställningarna i databladet.
Modemet var på autobad funkade inte så jag ställde in på 9600 men samma fel, har stängt av hardware flowcontrol(rts/cts) har testat med hardware flowcontrol(är dock lite osäker om jag gör rätt) men får samma fel varje gång:
Ska försöka skicka ett AT och få tillbaka ett OK. Istället får jag framing error och ett skumt tecken som jag tror kan vara <CR> (har testat skriva ut det på lcdn och det är oftast samma men inte alltid ser ut som två lodräta streck)
Modemet pratar 3,3v så jag har kopplat utgångarna rakt in i picken(ska funka enl databladen)
Från Picen har har en spänningsdelare (pic_ut----2k2----telit_in----4k7----GND)
Har även lagt till ett pullup på ingången till modemet men samma fel.
Har testat olika kristaller 4 & 20Mhz
några tips?
Re: framing error på pic
Du måste verifiera vad som faktiskt sänds fram och tillbaka.
Framing error betyder normalt "fel hastighet", men det kan vara något annat,
spreciellt som du har verifierat både modemet och PIC'en separat mot en PC.
Kan du beskriva lite bättre hur det är kopplat ?
Har du två MAX232 ? I så fall skulle du kunna göra som du gjorde när
du körde mot PC'en, men koppla ihop modem och PIC direkt istället.
Framing error betyder normalt "fel hastighet", men det kan vara något annat,
spreciellt som du har verifierat både modemet och PIC'en separat mot en PC.
Kan du beskriva lite bättre hur det är kopplat ?
Har du två MAX232 ? I så fall skulle du kunna göra som du gjorde när
du körde mot PC'en, men koppla ihop modem och PIC direkt istället.
Re: framing error på pic
jo jag har två max232 ska testa imorgon.
Jag får tillbaka CR (enter) skickar ut "AT<CR><CR><LF>" har testat med bara AT och ett CR, såg att terminalprogrammet skickar ut på det sättet. Picen borde få tillbaka ett OK<CR><LF> har jag för mig.
så det verkar som att modemet får någonting den inte känner igen eller vill ha och ekar tillbaka ett cr + att det blir error.
Läste nåt att om det är autobaud(modemet) ska man skicka ut ett extra tecken först men jag har stängt av det så det borde inte vara det.
jo kan testa med två st max, men kan det ha något att göra med flowcontrol? fast då borde det väl inte blir framing error?
När det gäller flowcontrol
Har provat att nolla/setta cts i början av koden och vänta på att få ett ok från modemet skickat tecken väntat på ok igen borde väl inte vara mer än så?
Jag får tillbaka CR (enter) skickar ut "AT<CR><CR><LF>" har testat med bara AT och ett CR, såg att terminalprogrammet skickar ut på det sättet. Picen borde få tillbaka ett OK<CR><LF> har jag för mig.
så det verkar som att modemet får någonting den inte känner igen eller vill ha och ekar tillbaka ett cr + att det blir error.
Läste nåt att om det är autobaud(modemet) ska man skicka ut ett extra tecken först men jag har stängt av det så det borde inte vara det.
jo kan testa med två st max, men kan det ha något att göra med flowcontrol? fast då borde det väl inte blir framing error?
När det gäller flowcontrol
Har provat att nolla/setta cts i början av koden och vänta på att få ett ok från modemet skickat tecken väntat på ok igen borde väl inte vara mer än så?
Re: framing error på pic
Det ska/borde inte behövas någon flow-ctrl, dels är hastigheten låg, dels
har du ju full kontroll när du sänder och väntar på svaret.
Hur har du med 7/8 databitar, 1/2 stoppbitar och paritet ?
Nu är ju i och för sig 7 bit + paritet detsamma som 8-bitar, men i alla fall...
(Det är inte USART'en normalt som kollar paritet, det ligger i programvaran.)
> Har provat att nolla/setta cts i början av koden
Var någonstans ? Vilken CTS ? PIC'en har inga sådana pinnar,
om du inte har hittat på något själv...
har du ju full kontroll när du sänder och väntar på svaret.
Hur har du med 7/8 databitar, 1/2 stoppbitar och paritet ?
Nu är ju i och för sig 7 bit + paritet detsamma som 8-bitar, men i alla fall...
(Det är inte USART'en normalt som kollar paritet, det ligger i programvaran.)
> Har provat att nolla/setta cts i början av koden
Var någonstans ? Vilken CTS ? PIC'en har inga sådana pinnar,
om du inte har hittat på något själv...
Re: framing error på pic
jag kör med 8n1(d e oxå defalut på modemet) och cts/rts har jag angett själv i picen. Kopplade ihop den med datorn nu och den buggar så in i hell... har ändrat mycket för att få det att funka att det knappt fungerar alls, ska göra om koden igen från början.
Jag har lite funderingar kring FSR, Är det en plats man anger själv eller har picen en egen del reserverad för fsr och hur stor är den i så fall? om inte hur anger man start adressen på ett säkert sätt så att man inte skriver över något av misstag?
Kommer man åt samma adress i FSR om man byter bank?
Jag har lite funderingar kring FSR, Är det en plats man anger själv eller har picen en egen del reserverad för fsr och hur stor är den i så fall? om inte hur anger man start adressen på ett säkert sätt så att man inte skriver över något av misstag?
Kommer man åt samma adress i FSR om man byter bank?
Re: framing error på pic
> och cts/rts har jag angett själv i picen.
Hur menar du ? Det ligger alltså utanför USART hanteringen ?
> Jag har lite funderingar kring FSR,
Alltså indirekt adressering genom FSR och INDF.
> Är det en plats man anger själv
Ja, det kan man säga, du laddar FSR med adressen till det du vill läsa/skriva.
> eller har picen en egen del reserverad för fsr
Nej.
> hur anger man start adressen
Du skapar en en buffert med t.ex "mybuffer RES 10" för 10 bytes.
Sedan "MOVLW mybuffer, MOVWF FSR". Du måste även tänka på
bankerna och sätta IRP bitet korrekt. Se databladet.
> Kommer man åt samma adress i FSR om man byter bank
Samma adress i FSR kommer åt två olika adresser beroende på IRP biten
Se databladet !!
Hur menar du ? Det ligger alltså utanför USART hanteringen ?
> Jag har lite funderingar kring FSR,
Alltså indirekt adressering genom FSR och INDF.
> Är det en plats man anger själv
Ja, det kan man säga, du laddar FSR med adressen till det du vill läsa/skriva.
> eller har picen en egen del reserverad för fsr
Nej.
> hur anger man start adressen
Du skapar en en buffert med t.ex "mybuffer RES 10" för 10 bytes.
Sedan "MOVLW mybuffer, MOVWF FSR". Du måste även tänka på
bankerna och sätta IRP bitet korrekt. Se databladet.
> Kommer man åt samma adress i FSR om man byter bank
Samma adress i FSR kommer åt två olika adresser beroende på IRP biten
Se databladet !!
Re: framing error på pic
ok nu blev det bättre fixade till fsr så här:
IRP=0 vid reset, då behöver jag alltså bara tänka på att vara i bank 0 eller 1 när jag använder FSR & INDF.
Flowcontrol:
Jag har gjort så här
Är lite osäker men tror att det är så här man gör precis innan man "movwf txreg"
Samma sak när man inte vill att modemet ska skicka då gör man bara "bsf rts"
Ska prova med två st max232 utan flowcontrol nu återkommer.
Kod: Markera allt
udata 0x20
fsrbuffer RES 20
;Väljer adress för tillfälligt sparande av mottagna bytes(max20).
; banksel fsrbuffer
movlw fsrbuffer
movwf dataadr
movwf fsr
; banksel porta ; bank 0.
Flowcontrol:
Jag har gjort så här
Kod: Markera allt
#define RTS porta,2 ;Utgång Ready to send
#define CTS porta,1 ;Ingång Clear to send
send
bcf rts ;pic redo att sända.
btfsc cts ;är modemet redo att ta emot?
goto send
Samma sak när man inte vill att modemet ska skicka då gör man bara "bsf rts"
Ska prova med två st max232 utan flowcontrol nu återkommer.
Re: framing error på pic
I princip...
Den ända lilla haken är att RES *kan* lägga din buffert i bank 2 eller 3, och då måste
biten i STATUS sättas = "1". Du kan kolla på värdet av symbolen "fsrbuffer" och om den
är större än vad-det-nu-är-som-bank-2-börjar-på, så sätter du biter = "1"...

Den ända lilla haken är att RES *kan* lägga din buffert i bank 2 eller 3, och då måste
biten i STATUS sättas = "1". Du kan kolla på värdet av symbolen "fsrbuffer" och om den
är större än vad-det-nu-är-som-bank-2-börjar-på, så sätter du biter = "1"...
Re: framing error på pic
kollade i map filen och då stod det att den låg i 0x20 men sen la jag till det efter udata för att vara på säkra sidan, ligger inte buffern i bank 0 plats 0x20 då?
Testade med två max232 och då fungerade det!
Dock var jag tvungen att ha flowc, tror inte den är riktigt avstängd i modemet måste kolla upp mer. Det enda som är skumt nu är att modemet ekar tillbaka det jag skickat samt OK (rätt svar) vet du varför?
Edit: Glädjen var kortlivad, samma fel när jag tog bort max kretsarna, nu vet jag iofs att flowc funkar och att fsr verkar vara stabilt. En mystisk sak som hände var att jag tog portA,2 som rts istället för portC,2(med max) och då spottade lcd fram massor av tecken sen ändrade jag tillbaka och då fick jag samma fel som från början.
Jag har simulerat min lilla koppling i ett program som heter Pspice:
5V(pic_ut)---2k2---(ing_modem_3,3v)----4k7---GND
och det visar att modemet får ca 3,3v på ingången och jag har mätt och fått fram ca3,4v.
Enligt databladet för modemet & picen så ligger jag rätt både för nollan och ettan, ingång och utgång. Behöver jag ändra något på ingångarna till picen?
Testade med två max232 och då fungerade det!

Dock var jag tvungen att ha flowc, tror inte den är riktigt avstängd i modemet måste kolla upp mer. Det enda som är skumt nu är att modemet ekar tillbaka det jag skickat samt OK (rätt svar) vet du varför?
Edit: Glädjen var kortlivad, samma fel när jag tog bort max kretsarna, nu vet jag iofs att flowc funkar och att fsr verkar vara stabilt. En mystisk sak som hände var att jag tog portA,2 som rts istället för portC,2(med max) och då spottade lcd fram massor av tecken sen ändrade jag tillbaka och då fick jag samma fel som från början.
Jag har simulerat min lilla koppling i ett program som heter Pspice:
5V(pic_ut)---2k2---(ing_modem_3,3v)----4k7---GND
och det visar att modemet får ca 3,3v på ingången och jag har mätt och fått fram ca3,4v.
Enligt databladet för modemet & picen så ligger jag rätt både för nollan och ettan, ingång och utgång. Behöver jag ändra något på ingångarna till picen?
Re: framing error på pic
Det är klar att du kan styra bufferten hårt till valfri adress, inget problem med det.
> Dock var jag tvungen att ha flowc,
"flowc" ???
> Det enda som är skumt nu är att modemet ekar tillbaka det jag skickat samt OK (rätt svar) vet du varför?
Därför att modemet har "eko" påslaget ?? Vad var igentligen frågan ?
> Jag har simulerat min lilla koppling i ett program som heter Pspice:
Sannolikt är det något rent skitfel, gör det inte besvärligt genom at
leta efter det mest exotiska felet först...
> Dock var jag tvungen att ha flowc,
"flowc" ???
> Det enda som är skumt nu är att modemet ekar tillbaka det jag skickat samt OK (rätt svar) vet du varför?
Därför att modemet har "eko" påslaget ?? Vad var igentligen frågan ?
> Jag har simulerat min lilla koppling i ett program som heter Pspice:
Sannolikt är det något rent skitfel, gör det inte besvärligt genom at
leta efter det mest exotiska felet först...
Re: framing error på pic
hmm vad kan skitfelet vara?
Finns kretsar som omvandlar nivåerna är det något du har sodjan?
Finns kretsar som omvandlar nivåerna är det något du har sodjan?
Re: framing error på pic
Vänta lite här nu....
> 5V(pic_ut)---2k2---(ing_modem_3,3v)----4k7---GND
Blandar du 5V och 3.3V prylar ??
> 5V(pic_ut)---2k2---(ing_modem_3,3v)----4k7---GND
Blandar du 5V och 3.3V prylar ??
Re: framing error på pic
Förbannat idiotiskt och väldigt dålig stil att inte nämna det förrens i förra inlägget !
*DU* visste väl hela tiden att de var 5V och 3.3V blandat, eller hur ?
> hmm vad kan skitfelet vara?
Ja, det visste ju *du* hela tiden,
> japp det är det som är problemet
Varför i he---te frågade du alls om du redan visste det?
*DU* visste väl hela tiden att de var 5V och 3.3V blandat, eller hur ?
> hmm vad kan skitfelet vara?
Ja, det visste ju *du* hela tiden,
> japp det är det som är problemet
Varför i he---te frågade du alls om du redan visste det?
Re: framing error på pic
Ja, det låter ju som att du misstänkt det hela tiden. Eller iallfall inte varit så särskilt säker på att det var rätt sätt. Då är det ju rent sagt idiotiskt att inte nämna det! Det är faktiskt ett slag i ansiktet på dom som försöker hjälpa till. Och även mot andra forummedlemmar som skulle kunna behöva hjälp. Någon har ju lagt helt onödig tid på detta, istället för att kunna hjälpa någon annan som har problem. 
