AVR kezdőnek

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
Koleus
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2009. július 10. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: Koleus »

Sziasztok.

Kapkodás, fél egészség alapon, csináltam egy hülyeséget. Gyorsan le szerettem volna tesztelni egy saját funkciót, ezért előkaptam az Arduino Nano-ra hajazó lapkámat (FTDI+M328). Hogy legyen visszajelzésem, beállitottam a soros portot Serial.begin(9600), hogy azon tudjam figyelni, mi történik. Viszont a loop()-ba pedig Serial.Write(adat)-ot írtam Serial.println(adat) helyett. Na azóta a Nanóm nem elérhető, foglalt a soros port (COM8).
Van lehetőség a program kitörlésére USB-én, keresztül, vagy szereznem kell ISP programozót?
Az interneten találtam olyan megoldásokat, hogy a Reset nyomógomb után írjak fel 1 üres programot, meg hogy a TX lábat kössem GND-re, de nem egyik se jött be :(
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: Robert »

Reset nyomvatart, PCre rádug.
Arduinoban a blink kiválaszt, com és board kiválaszt.
File - Upload.
Amikor elindul az adatküldés (LEDen látszik), resetgomb elenged.
Blink felülírja így a programot.


Amiért a soros foglalt: a folyamatos adatküldés miatt egérnek/modemnek látja a Windows.
Avatar
Koleus
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2009. július 10. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: Koleus »

Kössz a segítséget, ha hazaértem kipróbálom.
Avatar
Koleus
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2009. július 10. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: Koleus »

Kiprobáltam, de nem jött össze. Mivel nincs LED a komunikáción, valószínű roszkor engedem el a reset-et.
Avatar
Koleus
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2009. július 10. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: Koleus »

Szerváltam egy itt már sokat "dicsért" USBasp-t, bekötöttem. AVRDudess-el kitöröltem az egész m328-at. Leellenőriztem a Fuse biteket, újra írtam a bootloadert, leellenőriztem, minden OK. Az USB átalakító FT232RL. Megnéztem a Device Managerben, FTDIBUS/COMPORT/VID_0403/PID_6001 ként jelenik meg. Átdobtam COM8-ról COM18-ra, az alapbeállítás (B9600/8/No_P/1 stop). Frissitettem a drivert is 2.12.0.0-ra,de minden marad a régi. Arduino 1.0.6 meg 1.0.5 is ugyanazt az üzenetet adja, hogy foglalt a port. Elimádkoztam az asszonyt a régi laptop elől amin XP van, feltelepítettem az FTDI drivert, átmásoltam az Arduinot és láss csodát, működik.
Vissza a a win7 x64 rendszerhez, driver le, újraindít, drivert telepít, de az eredmény ugyanaz.
Mivel tudnám leellenőrizni, ki használja rendszeremen a com portot?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: Robert »

Ha FTDI Drivered van hozzá, akkor az nem USBasp:(
Avatar
Koleus
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2009. július 10. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: Koleus »

Az USBasp az eredeti kinai (Baite), nem is találkozott az FTDI-vel. Az FT232RL az http://www.mikroe.com/mini/at/ a lapkán van. Ezt használtam eddig mint Nano-t.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: Robert »

Akkor ez _független_ probléma a COM kéréstől a programozó.

Nézd meg, hogy nem e driverdili van. nekem volt FTDI, ami 2x ette fel magát és önmaga foglalta egyik driver a másik elől. (driver verziószám ütközés volt).

Megoldás:
FTClean SW-vel addig törölgetni a portokat, amíg egyetlen egy sem marad a COM&LPT alatt. És persze a rejtett eszközöket is nézd meg, ott is lehet inaktív COM port!
Avatar
Koleus
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2009. július 10. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: Koleus »

Kössz. Leszedtem az FTClean-t, meg az FT_Prog-ot is. Ha lesz időm, délután nekiveselkedek. Lehet, hogy ez kiirtja a telepített PLC és HMI driverok egy részét is :cry: ...
Majd megírom mire jutottam.
Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: SirLeslie »

Koleus írta:Kössz. Leszedtem az FTClean-t, meg az FT_Prog-ot is. Ha lesz időm, délután nekiveselkedek. Lehet, hogy ez kiirtja a telepített PLC és HMI driverok egy részét is :cry: ...
Majd megírom mire jutottam.
Ha van elég memória a gépedben, akkor célravezetőbb virtuális gép(ek)et használni (virtualbox, stb)... pl kár lenne a többi programért egy ilyen drivertörlés után :-/
Avatar
Koleus
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2009. július 10. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: Koleus »

Megoldottam a problémát.
Nem pont ebbe a témába vág, de leírom a megoldást, hátha jól jön még valakinek.
Már az előző kisérletezésnél furcsáltam (COM port megváltoztatása) , hogy 1-17-ig mind foglalt, de az egéren kívül semmi USB nincs bedugva. Először ráengedtem az FT_Cleant, maj pedig ez a leírás alapján http://answers.microsoft.com/en-us/wind ... dcb72d31d9 kilistáztam az összes COM portot. Az összes FTDI-hez kötődőt kitöröltem és gép restart. Nano csatlakoztatáskor feltelepítette magát COM3-ra, Blink-et felírtam minden gond nélkül.
Még egyszer kössz a tippeket.
Ha valamelyik eszköz driver is áldozatul esett, majd újratelepítem.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: Robert »

The trick was to open the Command Prompt as administrator and start the Device Manager from the same command prompt.

1. Right-click “Command Prompt” in Accessories and choose “Run as Administrator”

->Start->futtat->cmd (adminként belépve)

2. Enter “set devmgr_show_nonpresent_devices=1″ – without the quotes obviously

Beír: set devmgr_show_nonpresent_devices=1 végén entert üt.

3. Enter “start devmgmt.msc”

Beír: start devmgmt.msc
végén entert üt

4. In the box that opens, select “Show hidden devices” in the ‘view’ menu.

A "rejtett eszközök mutatása" a nézet menüben kiválaszt

Now if you expand the section on COM ports, all the COM ports that have ever
been created will be displayed, the non present ones being in grey. You can
uninstall away anything that you don’t want (right click, select uninstall).

Ami halványszürke a COM és LPT ágon, azok a nemhasznált/nemaktív portok. Jobb egér gomb és törléssel eltávolíthatóak.
Stcutter
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2014. december 13. szombat, 18:19

Re: AVR kezdőnek

Hozzászólás Szerző: Stcutter »

Sziasztok,

Szeretnék egy Mega2560 bemeneteire nyomógombokat tenni, a definiált kimeteken pedig relével lámpát ki és bekapcsolni. Találtam is rá kódot, szépen működik, de ez csak egyetlen kimenetet vezérel. Próbáltam a kódot úgy átírni, hogy beleveszem a többi bemenetet és kimenetet, de nem tudom megetetni a hardverrel. Rá tudna nézni valaki, hol szúrom el? Abszolúte kezdő vagyok, még csak most ismerkedem a rendszerrel. Előre is köszönöm.

Kód: Egész kijelölése

int inPin1 = 6;         // the number of the input pin
int inPin2 = 3;         // the number of the input pin
int outPin1 = 8;       // the number of the output pin
int outPin2 = 9;       // the number of the output pin

int state = LOW;      // the current state of the output pin
int reading;           // the current reading from the input pin
int previous = HIGH;    // the previous reading from the input pin

// the follow variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long time = 0;         // the last time the output pin was toggled
long debounce = 200;   // the debounce time, increase if the output flickers

void setup()
{
  pinMode(inPin1, INPUT);
  pinMode(inPin2, INPUT);
  pinMode(outPin1, OUTPUT);
  pinMode(outPin2, OUTPUT);
}

void loop()
{
  reading = digitalRead(inPin1);
  reading = digitalRead(inPin2);
 
  // if the input just went from LOW and HIGH and we've waited long enough
  // to ignore any noise on the circuit, toggle the output pin and remember
  // the time
  if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    if (state == HIGH)
      state = LOW;
    else
      state = HIGH;

    time = millis();    
  }

  digitalWrite(outPin1, state);
  digitalWrite(outPin2, state);
 

  previous = reading;
}


Ha a "reading = digitalRead(inPin2);" -t kiveszem a kódból minkét kimenet ki és bekapcsol, ha benn van, az egész nem működik.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: AVR kezdőnek

Hozzászólás Szerző: Robert »

Javaslat:
1, CopyPaste fejlesztés nem megy.
2, Arduino notebook megvan?
3, 60 nap alatt Arduino tanfolyam elkezdted? :) http://www.tavir.hu/60nap

Röviden:
Bemenet/ Gomb állapota: digitalread()
Kimenet: digitalwrite()
A milis és egyebekkel ne bonyolítsd el. Az a prellmentesítés miatt van.


Tipp: rajzolj egy folyamatábrát, hogy mit szeretnél. Lépésenként lebontva.
Amit használhatsz:
- kimenet legyen magas/alacsony
- bemenet beolvasása
- ha .... teljesül, akkor ... különben...
- várakozás x ideig
és a nyilak persze, hogy merre menj tovább a folyamatábra miatt...
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: AVR kezdőnek

Hozzászólás Szerző: kapu48 »

Hali Stcutter!

Felhívnám a figyelmedet!
Az arduino-s segélykérés, nem való a Bascom-os fórumba!
:mrgreen:
Válasz küldése