Jätteskumt UART problem
Re: Jätteskumt UART problem
Sodjan:
Terminal är ett terminal program som är ganska vanligt.
Och ja, jag har som sagt använt Terminal för att kolla att 0x06 skickas från SAM kortet.
Båda drivs med kristall, och om det var baudrateproblem både ju även inkommande data bli konstig.
Jonas L:
Har provat att lägga in en delay på allt från några µs till en s, utan skillnad.
Jag funderar på om det kan vara pariteten som ställer till det? Kan olika paritet ge att viss data kommer fram helt rätt medans viss data inte ens "fångas upp" och ger ett interrupt?
Terminal är ett terminal program som är ganska vanligt.
Och ja, jag har som sagt använt Terminal för att kolla att 0x06 skickas från SAM kortet.
Båda drivs med kristall, och om det var baudrateproblem både ju även inkommande data bli konstig.
Jonas L:
Har provat att lägga in en delay på allt från några µs till en s, utan skillnad.
Jag funderar på om det kan vara pariteten som ställer till det? Kan olika paritet ge att viss data kommer fram helt rätt medans viss data inte ens "fångas upp" och ger ett interrupt?
Re: Jätteskumt UART problem
När avgör mottagaren om datat är korrupt?
Får du en interrupt oavsett om det är korrupt eller korrekt?
Får du en interrupt oavsett om det är korrupt eller korrekt?
Re: Jätteskumt UART problem
Har aldrig nämnt att datat skulle bli korrupt, antingen kommer det fram rätt, eller så blir det inget interupt alls. Det är det som är det skumma.
Re: Jätteskumt UART problem
> Terminal är ett terminal program som är ganska vanligt.
Jasså ?
> Kan olika paritet ge att viss data kommer fram helt rätt medans viss
> data inte ens "fångas upp" och ger ett interrupt?
Ja, i hälften av fallen. Men det är ju ganska uppenbart.
Tecken med antingen ett jämt eller ett udda antal "1" skulle kunna
försvinna med de med motsatt antal "1" kommer fram. Men det är ett
ganska konstruerat fall och du vet väl hur paritet (och antal bitar) är uppsatt ?
Vad är det som gör att du frågar om just det ? Är du osäker på uppsättningen
av UART'arna ?
Jasså ?
> Kan olika paritet ge att viss data kommer fram helt rätt medans viss
> data inte ens "fångas upp" och ger ett interrupt?
Ja, i hälften av fallen. Men det är ju ganska uppenbart.
Tecken med antingen ett jämt eller ett udda antal "1" skulle kunna
försvinna med de med motsatt antal "1" kommer fram. Men det är ett
ganska konstruerat fall och du vet väl hur paritet (och antal bitar) är uppsatt ?
Vad är det som gör att du frågar om just det ? Är du osäker på uppsättningen
av UART'arna ?
Re: Jätteskumt UART problem
Jag vet hur paritet fungerar i teorin, men har aldrig använt det innan, nu används jämn paritet. Men jag tror inte egentligen att det är det som är problemet eftersom det fungerar åt ena hållet.
Re: Jätteskumt UART problem
Nej, om alla ingående delar (de två korten samt PC'n) är uppsatta
på samma sätt så ska det inte vara något problem.
Kör du 8 bitar + par eller 7 bitar + par ?
på samma sätt så ska det inte vara något problem.
Kör du 8 bitar + par eller 7 bitar + par ?
Re: Jätteskumt UART problem
Traditionellt brukar paritet oftast användas till sammans med 7 data bitar men
8 går också (och det stöds i hårdvaran av din AT91SAM7'a så vitt jag ser).
I det här läget skulle jag hänga på ett oscilloskop på "linan" och kolla vad
som *faktiskt* kommer på den...
8 går också (och det stöds i hårdvaran av din AT91SAM7'a så vitt jag ser).
I det här läget skulle jag hänga på ett oscilloskop på "linan" och kolla vad
som *faktiskt* kommer på den...
Re: Jätteskumt UART problem
Ok, nu har jag kopplat upp två SAM kort mot varandra och kopierat USART initieringen så det är exakt samma på båda. Samma fel.
Jag fattar ingenting : p
Jag fattar ingenting : p
Re: Jätteskumt UART problem
Då skulle jag definitivt gjort som Sodjan säger, hängt på ett oscilloskåp och kollat! Det är nog enda sättet att få en klar bild av vad som egentligen skickas, och därmed troligen även svar på frågan varför.
Re: Jätteskumt UART problem
Får se om jag hittar nån som har koll på skopen här, chefen som har dom är ledig i veckan.
Re: Jätteskumt UART problem
Hurra, nu funkar det!
Av någon anledning ville inte pariteten sätta sig rätt, fick hårdkoda in det istället för att gå via dom fancy include filerna för SAMen.
Men ändå skummt att vissa funkade och vissa koder inte ens genererade interrups.
Av någon anledning ville inte pariteten sätta sig rätt, fick hårdkoda in det istället för att gå via dom fancy include filerna för SAMen.
Men ändå skummt att vissa funkade och vissa koder inte ens genererade interrups.
Re: Jätteskumt UART problem
OK, det borde man ha kunnat se ganska snabbt genom att
skicka tecken med udd/jämnt antal "1" om vartannat. Var
det inget i själva data-paketet som blev konstigt också ?
Samma fenomen borde ju ha drabbat det också...
skicka tecken med udd/jämnt antal "1" om vartannat. Var
det inget i själva data-paketet som blev konstigt också ?
Samma fenomen borde ju ha drabbat det också...
Re: Jätteskumt UART problem
Nej, all data som kom "in" blev rätt, kan ha varit slumpen att just dom var rätt kanske.
Var både udda och jämna av dom som skickades som kom fram/kom bort, det var det som var så konstigt. Tex så försvann både 0x05 och 0x06. Men inte 0x04 och 0x07.
Var både udda och jämna av dom som skickades som kom fram/kom bort, det var det som var så konstigt. Tex så försvann både 0x05 och 0x06. Men inte 0x04 och 0x07.