Varför kan man inte skicka värden konstant via FTDI?
Re: Varför kan man inte skicka värden konstant via FTDI?
> Så i teorin så behövs denna kondensator, men i praktiken är den nödvändig.
Vad är skillnaden? "behövs"/"nödvänding" låter som en gradskillnad...
Vad är skillnaden? "behövs"/"nödvänding" låter som en gradskillnad...
Re: Varför kan man inte skicka värden konstant via FTDI?
Hmm. Hur ska jag förklara detta. Enligt databladet så behövdes ingen kondensator mellan RTS# och RESET. Men med tanke på att mikrokontroller startar om när REST får en smak av GND, dvs volt 0.
Jag har testat att köra RST# till RESET utan just en kondensator. Jag kunde inte bränna över en sketch.
Jag måste också säga att jag sa fel i min mening. Det ska vara:
Jag har testat att köra RST# till RESET utan just en kondensator. Jag kunde inte bränna över en sketch.
Jag måste också säga att jag sa fel i min mening. Det ska vara:
Korrekt stavat av Al Bundy skrev:Så i teorin så behövs INTE denna kondensator, men i praktiken är den nödvändig.
Re: Varför kan man inte skicka värden konstant via FTDI?
RTS är ju låg hela tiden porten är igång.
Utan kondensatorn håller du den i reset hela tiden som du försöker
skicka det nya programmet, det funkar ju inte
Du har en bootloader, det den gör är att den körs före ditt program
direkt efter reset.
Först lyssnar bootloadern om det kommer något nytt program på serie pinnarna,
har det inte kommit något på en halv sekund (-ish) så hoppar den till
det program som du tidigare är programmerat med.
Kommer det något på serieporten kommer bootloadern ta hand om det och programmera in det i minnet.
Om du helt saknar kopplingen till RTS kan du istället "manuellt" trycka reset samtidigt som du skickar över programmet
och få bootloadern att plocka upp det.
( därav benämningen "autoreset" med kondingen)
jmf programmeringen av Arduino mini som är utan kondensator,
så här säger man om varför man kan sätta dit den:
"The 0.1uF capacitor from the reset pin is connected to the RTS pin on the mini USB adaptor. This enables auto-reset when the serial port is opened, meaning you don't have to press the reset button every time you upload new code. If it gives you problems, you can remove it, and press reset every time."
http://arduino.cc/en/Guide/ArduinoMini
Mini är ju en av dom billigaste Arduino varianterna ( ca 15:- inkl frakt på Ebay)
så det borde väl passa dig
Utan kondensatorn håller du den i reset hela tiden som du försöker
skicka det nya programmet, det funkar ju inte

Du har en bootloader, det den gör är att den körs före ditt program
direkt efter reset.
Först lyssnar bootloadern om det kommer något nytt program på serie pinnarna,
har det inte kommit något på en halv sekund (-ish) så hoppar den till
det program som du tidigare är programmerat med.
Kommer det något på serieporten kommer bootloadern ta hand om det och programmera in det i minnet.
Om du helt saknar kopplingen till RTS kan du istället "manuellt" trycka reset samtidigt som du skickar över programmet
och få bootloadern att plocka upp det.
( därav benämningen "autoreset" med kondingen)
jmf programmeringen av Arduino mini som är utan kondensator,
så här säger man om varför man kan sätta dit den:
"The 0.1uF capacitor from the reset pin is connected to the RTS pin on the mini USB adaptor. This enables auto-reset when the serial port is opened, meaning you don't have to press the reset button every time you upload new code. If it gives you problems, you can remove it, and press reset every time."
http://arduino.cc/en/Guide/ArduinoMini
Mini är ju en av dom billigaste Arduino varianterna ( ca 15:- inkl frakt på Ebay)
så det borde väl passa dig

Re: Varför kan man inte skicka värden konstant via FTDI?
> Enligt databladet så behövdes ingen kondensator...
Självklart så står det inget där! Denna lösning är en helt
unik Arduino sak och *självklart* står det inget i databladen
om det. Däremot så är jag övertygad om att det finns
dokumenterat på Arduino sidorna...
Självklart så står det inget där! Denna lösning är en helt
unik Arduino sak och *självklart* står det inget i databladen
om det. Däremot så är jag övertygad om att det finns
dokumenterat på Arduino sidorna...
Re: Varför kan man inte skicka värden konstant via FTDI?
Precis, trixet med denna kondensator är alltså att den ger mikrocontrollern en reset-signal när serieporten "börjar sända".
När serieporten börjar sända så slår den om RTS och inväntar normalt (om man har hårdvaruhandskakning aktiverad) CTS innan data skickas.
MEN, detta är ju då gjort för att hantera situationen där vi skickar data TILL mikrocontrollern, när du nu skickar data FRÅN mikrocontrollern så kan det ju hända att detta ställer till med problem.
RTS betyder "får jag skicka data?" och CTS betyder "varsågod, du får skicka data". Eftersom det bara finns en av varje så måste det alltså vara ena änden som "är chef" över förbindelsen. Det är bara ena sidan som kan fråga "får jag skicka data?" och det är bara andra sidan som kan svara "varsågod, du får skicka data".
Det är alltså viktigt att vara medveten om att en serieport inte är symmetrisk. RxD och TxD är rent symmetriska, men DTR, RTS och CTS är inte symmetriska utan man måste bestämma sig för vilken enhet som ska vara DTE (Data Terminal Equipment) och vilken som ska vara DCE (Data Communication Equipment).
http://en.wikipedia.org/wiki/RS-232#Lim ... e_standard
När serieporten börjar sända så slår den om RTS och inväntar normalt (om man har hårdvaruhandskakning aktiverad) CTS innan data skickas.
MEN, detta är ju då gjort för att hantera situationen där vi skickar data TILL mikrocontrollern, när du nu skickar data FRÅN mikrocontrollern så kan det ju hända att detta ställer till med problem.
RTS betyder "får jag skicka data?" och CTS betyder "varsågod, du får skicka data". Eftersom det bara finns en av varje så måste det alltså vara ena änden som "är chef" över förbindelsen. Det är bara ena sidan som kan fråga "får jag skicka data?" och det är bara andra sidan som kan svara "varsågod, du får skicka data".
Det är alltså viktigt att vara medveten om att en serieport inte är symmetrisk. RxD och TxD är rent symmetriska, men DTR, RTS och CTS är inte symmetriska utan man måste bestämma sig för vilken enhet som ska vara DTE (Data Terminal Equipment) och vilken som ska vara DCE (Data Communication Equipment).
http://en.wikipedia.org/wiki/RS-232#Lim ... e_standard
The handshaking and control lines of the interface are intended for the setup and takedown of a dial-up communication circuit; in particular, the use of handshake lines for flow control is not reliably implemented in many devices.
Re: Varför kan man inte skicka värden konstant via FTDI?
Tack du! Du var väldigt pedagogisknifelheim skrev:RTS är ju låg hela tiden porten är igång.
Utan kondensatorn håller du den i reset hela tiden som du försöker
skicka det nya programmet, det funkar ju inte
Du har en bootloader, det den gör är att den körs före ditt program
direkt efter reset.
Först lyssnar bootloadern om det kommer något nytt program på serie pinnarna,
har det inte kommit något på en halv sekund (-ish) så hoppar den till
det program som du tidigare är programmerat med.
Kommer det något på serieporten kommer bootloadern ta hand om det och programmera in det i minnet.
Om du helt saknar kopplingen till RTS kan du istället "manuellt" trycka reset samtidigt som du skickar över programmet
och få bootloadern att plocka upp det.
( därav benämningen "autoreset" med kondingen)
jmf programmeringen av Arduino mini som är utan kondensator,
så här säger man om varför man kan sätta dit den:
"The 0.1uF capacitor from the reset pin is connected to the RTS pin on the mini USB adaptor. This enables auto-reset when the serial port is opened, meaning you don't have to press the reset button every time you upload new code. If it gives you problems, you can remove it, and press reset every time."
http://arduino.cc/en/Guide/ArduinoMini
Mini är ju en av dom billigaste Arduino varianterna ( ca 15:- inkl frakt på Ebay)
så det borde väl passa dig

Så man kan hålla in resetknappen när man bränner över en sketch?
15 kr på Ebay? What! Och här bygger jag egna arduino, dock med spänningsregulator, för 30 kr + arbete!! Well, jag kommer ungefär lika billigt undan, men skillnaden är att jag får jobba för det också.
Nu har jag redan 20 stycken arduinos hemma så jag får väll använda dessa. Ja, jag bygger mycket projekt

Är dessa mini AU-kretsarna bättre än stora PU kretsar?
Senast redigerad av Al_Bundy 20 oktober 2014, 14:57:25, redigerad totalt 1 gång.
Re: Varför kan man inte skicka värden konstant via FTDI?
Nej, du ska inte hålla den inne, du ska trycka på den en gång.
Re: Varför kan man inte skicka värden konstant via FTDI?
Okej. Men vad bra! Då kanske det är bra att ha en auto-reset så timningen blir perfekt.
Re: Varför kan man inte skicka värden konstant via FTDI?
Ja, auto-reset är bra när du ska ladda in en sketch via FTDI. Men som jag tolkar dig gör du inte det och då är den ju meningslös.
Re: Varför kan man inte skicka värden konstant via FTDI?
I ett projekt på skolan så måste jag det. Annars brukar jag inte göra det. Då använder jag FT232RL som USB to Serial konverterare endast 

Re: Varför kan man inte skicka värden konstant via FTDI?
Jag skriver bara detta: Visste ni att man kan göra Arduinos språk på PIC nu? Kolla upp ChipKit.
Re: Varför kan man inte skicka värden konstant via FTDI?
Jag hade en diskussion med en PIC programmerare. Han avskydde arduino för det var fusk, man lärde sig inget(ligger en liten del sanning i det) och det var bara fel. Då drog jag upp att man kan programmera PIC med arduinospråket också via en Arduino IDE som är gjort för PIC och inte AVR. Då lös ögonen upp och han klappade sig på magen, ungefär, och blev helt plötsligt positivt till detta.
Jag tror att många som avskyr arduino är PIC-anhängare. Sällan jag hör AVR anhängare klanka ned på Arduino. Visst, man lär sig inte så mycket digitalteknik när man kör Arduino. Men det är inte det som är meningen. Arduino är endast till för att automatisera och inte skapa nyaste 3Dfx Voodoo grafikkort.
Jag tror att många som avskyr arduino är PIC-anhängare. Sällan jag hör AVR anhängare klanka ned på Arduino. Visst, man lär sig inte så mycket digitalteknik när man kör Arduino. Men det är inte det som är meningen. Arduino är endast till för att automatisera och inte skapa nyaste 3Dfx Voodoo grafikkort.
Re: Varför kan man inte skicka värden konstant via FTDI?
Barnsligheter...
Det har naturligtsvis ingen som helst betydelse om/att Arduino använder AVR
eller PIC eller vilken annan processor som helst. Lite lite som att det har
betydelse att BASIC Stamp kör AVR eller PIC eller något annat.
Arduino har sina för- och nackdelar helt oavsett vilken processor den använder.
Det har naturligtsvis ingen som helst betydelse om/att Arduino använder AVR
eller PIC eller vilken annan processor som helst. Lite lite som att det har
betydelse att BASIC Stamp kör AVR eller PIC eller något annat.
Arduino har sina för- och nackdelar helt oavsett vilken processor den använder.
Re: Varför kan man inte skicka värden konstant via FTDI?
Och "Arduinospråket" är C++ med lite fel - som t.ex. ingen main-loop. Alltså ett standardspråk med några undantag.
Så här kommer dagens överraskning: man kan sedan länge programmera PIC i C och C++...
Så här kommer dagens överraskning: man kan sedan länge programmera PIC i C och C++...
