Varför kan man inte skicka värden konstant via FTDI?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Al_Bundy »

hummel skrev:Använder du någon typ av handskakning i ditt protokoll?
Ja. På mitt FTDI breakout board från SparkFun har jag en handskanking mellan ATmegans RTS och FTDI:ns RTS. Mellan dessa har jag en 0.1 uF kondensator.

Det fungerar. Men när jag använder en kabel...så fungerar det inte. Det är inte bara jag som verkar ha detta problem.
Senast redigerad av Al_Bundy 17 oktober 2014, 11:25:35, redigerad totalt 1 gång.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Al_Bundy »

Nerre skrev:Hur VET du att din burk fortsätter skicka värden? Har du kopplat en lysdiod på TX som blinkar?
På FTDI breakout Board från Sparkfun är det inbyggt TX och RX lysdioder. RX blinkar varje gång jag kör kommandot Serial.println(sträng); i min kod. Men jag kanske kör troligvis för snabbt så den "buggar ihop". Jag kanske måste ha en delay för jag har bara en 100 ms delay + andra operationer programmet gör innan den anropar Serial.println(sträng);
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Nerre »

Men HÄR
Al_Bundy skrev: Ja. RXLED slutar blinka när PCn endast kan ta emot samma gammla värde. Ingen uppdatering av värden till PCn.
skriver du ju att den slutar blinka?
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Al_Bundy »

Nej.

Här är en liten del av min kod

Kod: Markera allt

while (Serial.available() == 0)                       
  {
     Serial.println(callPHmeter(0));                   // prints out callPHmeter(0) 
     digitalWrite(13, HIGH);
     show_values_display(callTemp(), callPHmeter(0), 0); // JUST FOR THE MOMENT!
     delay(100);
  }
När PC skickar ett värde, vad som helst, så bryts loopen. Annars så skickar uC hela tiden analoga värden som datorn tar upp för analys. Funktionerna callTemp(), callPHmeter(0), bidrar också till en liten delay. Skulle loopen brytas så kommer LED 13 släckas.
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Nerre »

Den koden du visade har ingen instruktion för att släcka LED13, ligger det alltså en digitalWrite(13, LOW); efter loopen?
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Al_Bundy »

Yes.

LOW kommer direkt efter loopen.
Men LOW kommer aldrig köras då FTDI:n verkar haka upp sig. Det går varken.

Det som händer är att om jag har en loop som spottar ut olika värden hela tiden på skärmen(Serial I/O). Till slut ser du bara samma värde hela tiden, du kan inte skicka värden till uC och RX lampan har slutat blinka. Den blinkar varje gång man skickar ett värde.

Kan det vara så att min kod ovan är för belastande för just FTDI:n? För samtidigt kollar jag om det finns någon data att hämta Serial.available() och raden nedan så skriver jag ut data.
XorXaX
Inlägg: 409
Blev medlem: 27 maj 2004, 09:44:16

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av XorXaX »

Al_Bundy skrev:
hummel skrev:Använder du någon typ av handskakning i ditt protokoll?
Ja. På mitt FTDI breakout board från SparkFun har jag en handskanking mellan ATmegans RTS och FTDI:ns RTS. Mellan dessa har jag en 0.1 uF kondensator.

Det fungerar. Men när jag använder en kabel...så fungerar det inte. Det är inte bara jag som verkar ha detta problem.
På bilden på kopplingen står det att RTS går till RESET via en konding. Detta är för att kunna starta om ATMegan när man ska gå in i programmeringsläge. Det har ingenting med handskakning att göra när du skickar data. Om du inte använder reset som något annat än reset?
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Nerre »

Jag är fortfarande mer övertygad om att det är fel på din kod än fel på FTDI-kretsen, men eftersom du inte verkar klara av att felsöka systematiskt så ger jag upp med att försöka hjälpa till.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Al_Bundy »

XorXaX skrev:
Al_Bundy skrev:
hummel skrev:Använder du någon typ av handskakning i ditt protokoll?
Ja. På mitt FTDI breakout board från SparkFun har jag en handskanking mellan ATmegans RTS och FTDI:ns RTS. Mellan dessa har jag en 0.1 uF kondensator.

Det fungerar. Men när jag använder en kabel...så fungerar det inte. Det är inte bara jag som verkar ha detta problem.
På bilden på kopplingen står det att RTS går till RESET via en konding. Detta är för att kunna starta om ATMegan när man ska gå in i programmeringsläge. Det har ingenting med handskakning att göra när du skickar data. Om du inte använder reset som något annat än reset?
Ja. ATmegan startas om då en ledlampa i SCK(dvs pin13) blinkar till lite.
Jag har ingen annan reset. Vad jag vet :shock:
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Al_Bundy »

Nerre skrev:Jag är fortfarande mer övertygad om att det är fel på din kod än fel på FTDI-kretsen, men eftersom du inte verkar klara av att felsöka systematiskt så ger jag upp med att försöka hjälpa till.
Jag har felsökt nog mycket.
Jag lutar mer mot att jag måste ha lite delays i min kod. Annars buggar den upp.
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Nerre »

Du har inte felsökt SYSTEMATISK, du provar lite vad som helst och hoppas på det bästa.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Al_Bundy »

Men hur ska man göra då för att felsöka systematiskt?
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Nerre »

Avgränsa, utesluta, följa steg för steg.

Jag kan inte se nåt i tråden som indikerar att du har uteslutit att det är sändande sidan det är fel på. Snarare tvärtom. Minnesläcka, missförstånd om hur sakerna fungerar, matningsglitch etc kan vara troliga orsaker.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Al_Bundy »

Minnesläcka från FTDI:n? Existerar ens sånt?

När jag testar på mitt UNO kort som har ATmega16U2 som "FTDI"-chip så fungerar min kod perfekt. Jag kan loopa koden hur mycket som helst, utan att RX slutar blinka.
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Varför kan man inte skicka värden konstant via FTDI?

Inlägg av Icecap »

Al:
Systematisk felsökning:
1: Få ett överblick över vad som SKA hända.
2: Få ett överblick på vad som INTE händer.
3: Bryt ned komponenter, funktionsblock eller liknande.
4: För varje block: kan det brytas ner ytterligare?
5: Analysera vilka delar som är utanför misstanke.
6: Testa del för del, då kommer felet upp helt enkelt.

Ta en bil som exempel:
Motorn startar inte.

I din logik (som du så ofta har visat här) är det nog för att däcktrycket är fel och detta är vad du kan komma till uteslutande för att du inte analysera något alls. Om din totala brist på analys och logisk tänkande sedan beror på att din hjärna är skruva ihop på det vis eller att du har en brist i uppfattningen av vad verkligheten är kan jag inte sia om.

Du har definitivt ett ytterst lågt kännedom till hur µC fungerar och vad man kan klara med dessa - och det är ju ingen hjälp heller.

Vi andra - som har utbildning inom felsökning - börjar istället att analysera lite:
* Finns det bränsle i tanken?
* Är det rätt bränsle?
* Kör startmotorn?
* Drar startmotorn med runt motorn?
* Är det tändning (vid bensin/sprit)?
* Kommer det bränsle in till motorn?
Osv osv.

Har man ingen logisk fel (12V till tändspolen hade hoppat av t.ex.) får man ta steg för steg och utesluta felfunktion, steg för steg.
* Hmm, förgasaren luktar bensin efter att ha ryckt i startmotorn - så det finns nog bensin fram och det sugs in lite här-var. Hade det varit felet hade den iaf. hostat till lite...
* Jupp, startmotorn drar runt motorn, hörs tydligt.
* Tändningen då? Aj för satan - jo, den fungerar!
* Tändstifterna, hur ser de ut? <skruva, kolla> Aj då, de är för jävliga... Sannolikt fel: kassa tändstifter.
Skriv svar