Avr uart funkar sisådär

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Ruben
Inlägg: 197
Blev medlem: 15 januari 2008, 17:42:35
Ort: Göteborg

Avr uart funkar sisådär

Inlägg av Ruben »

Jag för söker få till så ett java program kan skicka lite information till en Atmega328p via en CP2102 och det funkar inte helt 100.
Jag har gjort så att om man skickar nåt till microcontrollern så ekar den tillbaka det bara.
Mikrocontroller går på en extern kristall som rimmar med uart, 7,nånting mhz.

Om jag använder HyperSerialPort för att skicka så funkar det bra, men om jag skickar från java programmet jag skrivit så funkar det inge vidare.
Det känns lite som om javaprogrammet har fel baud fast det har det inte.

Jag undrar om det är nån som har testat nåt liknande och kan tipsa om vad felet kan vara. Jag kanske har glömt nåt eftersom jag inte gjort nåt liknande förr.
Skulle gärna ta emot om bra bibliotek eller plugin till eclipse/java för uart om nån har erfarenhet av nåt bra/enkelt.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Avr uart funkar sisådär

Inlägg av Icecap »

CP2102 är en USB<->COM-port med 5V signalnivå.
Då den fungerar "perfekt" med terminalprogram lär den inte bli trasig för att ett annat program skickar data.

"...funkar det inget vidare."
OK - men på vilket sätt är det skit?
Fattas det bytes?
Kommer inget ut?
Kan ATmega'n svara snabbt nog?
JanErik
Inlägg: 3118
Blev medlem: 11 februari 2008, 17:15:58
Ort: Vasa, Finland

Re: Avr uart funkar sisådär

Inlägg av JanErik »

Porten måste ju nog konfigureras med baudrate enligt klockfrekvensen. Är det barebone AVR eller Arduino-bootloader? Med bootloaderna kan man använda antingen 8 eller 16 MHz kristall. Redan med inbyggda 8 MHz-oskillatorn har jag haft problem att serieporten börjar ge bogustecken efter ett tag, när den driftar.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43152
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Avr uart funkar sisådär

Inlägg av sodjan »

Vad menar du med "driftar"? En UART synkar på varje tecken (startbit)
och det ska inte uppstå någon "drift". Möjligen om baud raten i sig
inte är stabil utan börjar drifta...

Och sen behövs det bättre exempel på vad som går fel från Ruben.
Hur ser det ut? Vad kommer resp vad förväntades? o.s.v.
Ruben
Inlägg: 197
Blev medlem: 15 januari 2008, 17:42:35
Ort: Göteborg

Re: Avr uart funkar sisådär

Inlägg av Ruben »

JanErik skrev:Porten måste ju nog konfigureras med baudrate enligt klockfrekvensen. Är det barebone AVR eller Arduino-bootloader? Med bootloaderna kan man använda antingen 8 eller 16 MHz kristall. Redan med inbyggda 8 MHz-oskillatorn har jag haft problem att serieporten börjar ge bogustecken efter ett tag, när den driftar.
Jag kör en extern 7.3837 MHz tror jag det var. Den ska ge 0% fel enligt atmega328p databladet om jag fattat det rätt
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43152
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Avr uart funkar sisådär

Inlägg av sodjan »

Men varför fokusera på AVR sidan!? Det var väl då du byter verktyg på PC
sidan (från HyperSerialPort till ett Java program) som problemen början!?

Jag tror att det har något med Java miljön att göra. Den kanske får för sig
att köra någon intern "garbage collection" eller liknande och då tappar
du tecken. Eller vad det nu är för fel som uppstår, du har ju inte
beskrivit vad "funkar inge vidare" faktiskt betyder.
Ruben
Inlägg: 197
Blev medlem: 15 januari 2008, 17:42:35
Ort: Göteborg

Re: Avr uart funkar sisådär

Inlägg av Ruben »

"inge vidare" Det är lite olika, om jag tex skickar 'F' så kommer det tillbaka ett 'F' skickar jag 'F' sedan 'g' kommer det tillbaka 'de'
Skickar jag 'elektronikforum' så skippar den vissa tecken eller så skickar den tillbaka dom första 4 och sedan bara en massa skumma tecken. "Driftar" typ.

Jag har en lista hemma på vad man får tillbaka om man skickar vissa tecken i en viss ordning.
Jag ska se om jag hittar den när jag kommer hem.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Avr uart funkar sisådär

Inlägg av Icecap »

Låter omedelbart som att porten kanske körs med paritet och kanske 7 bits + paritet.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43152
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Avr uart funkar sisådär

Inlägg av sodjan »

> Skickar jag 'elektronikforum' så skippar den vissa tecken eller så skickar den tillbaka dom
> första 4 och sedan bara en massa skumma tecken. "Driftar" typ.

Gissningar och försök till egna beskrivningar ger inte mycket.
"Skumma tecken" säger i alla fall mig ingenting.

Om man har faktiska tecken in/ut så kan man jämföra och
direkt se om det t.ex. är något sådan som Icecap föreslår.

> om jag tex skickar 'F' så kommer det tillbaka ett 'F'...

Och om du skickar 'FFFFFFFFFFFFFFFFF', får du då tillbaka samtliga 'F'?

> skickar jag 'F' sedan 'g' kommer det tillbaka 'de'

Vad betyder "sedan"? Skickar du 'Fg' eller är det en paus mellan?
Kommer 'de' först då du har har skickat både 'F' och 'g'? Eller kommer
det ett 'd' först som svar på 'F' och sedan ett 'e' som svar på 'g'?
AVR'en ekar väl varje tecken direkt utan fördröjning(?).

Som du ser så ger vaga och otydliga beskrivningar inte mycket... :-)

> Jag ska se om jag hittar den när jag kommer hem.

Ja, det är nog en bra idé.
Skriv svar