Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   478 / 854
(#) vargham válasza lacika5555 hozzászólására (») Okt 9, 2018 /
 
Ne legyen se ékezet, se szóköz sehol az elérési útban.
(#) MATA hozzászólása Okt 9, 2018 /
 
Üdv mesterek!
A következő programmal van problémám fordításnál hibaüzenetet kapok.
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. LiquidCrystal_I2C lcd(0x27, 16, 2);
  4. #define clk 2
  5. #define dt 3
  6. #define sw 4
  7. #define pwm 9
  8. #define currentsense A0
  9. #define voltagesense A1
  10. char screen = 0;
  11. char arrowpos = 0;
  12. float power = 0;
  13. float current = 0;
  14. float curcurrent = 0;
  15. float curpower = 0;
  16. float curvoltage = 0;
  17. float curcurrentraw = 0;
  18. float zerocurrent = 514;
  19. float curvoltraw = 0;
  20. int counter = 0;
  21. volatile boolean currentmode = false;
  22. volatile boolean powermode = false;
  23. volatile boolean TurnDetected = false;
  24. volatile boolean up = false;
  25. volatile boolean button = false;
  26. const unsigned char PS_128 = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
  27.  
  28. byte customChar1[8] = {
  29.   0b10000,
  30.   0b11000,
  31.   0b11100,
  32.   0b11110,
  33.   0b11110,
  34.   0b11100,
  35.   0b11000,
  36.   0b10000
  37. };
  38.  
  39. byte customChar2[8] = {
  40.   0b00100,
  41.   0b01110,
  42.   0b11111,
  43.   0b00000,
  44.   0b00000,
  45.   0b11111,
  46.   0b01110,
  47.   0b00100,
  48. };
  49.  
  50. ISR(PCINT2_vect) {
  51.   if (digitalRead(sw) == LOW) {
  52.     button = true;
  53.   }
  54. }
  55.  
  56. void isr0 ()  {
  57.   TurnDetected = true;
  58.   up = (digitalRead(clk) == digitalRead(dt));
  59. }
  60.  
  61. void setup() {
  62.   Serial.begin(115200);
  63.   LiquidCrystal_I2C::begin();
  64.   pinMode(sw, INPUT_PULLUP);
  65.   pinMode(clk, INPUT);
  66.   pinMode(dt, INPUT);
  67.   pinMode(pwm, OUTPUT);
  68.   pinMode(currentsense, INPUT);
  69.   digitalWrite(pwm, LOW);
  70.   ADCSRA &= ~PS_128;
  71.   ADCSRA |= (1 << ADPS1) | (1 << ADPS0);
  72.   PCICR |= 0b00000100;
  73.   PCMSK2 |= 0b00010000;   // turn o PCINT20(D4)
  74.   attachInterrupt(0, isr0, RISING);
  75.   TCCR1A = 0;
  76.   TCCR1A = (1 << COM1A1) | (1 << WGM11);
  77.   TCCR1B = 0;
  78.   TCCR1B = (1 << WGM13) | (1 << WGM12) | (1 << CS10);
  79.   ICR1 = 2047;
  80.   OCR1A = 0;
  81.   lcd.createChar(0, customChar1);
  82.   lcd.createChar(1, customChar2);
  83.   lcd.clear();
  84.   lcd.print(" ADJ CONST LOAD");
  85.   delay(2000);
  86.   screen0();
  87.   lcd.setCursor(0, 0);
  88.   lcd.write((uint8_t)0);
  89. }
  90.  
  91. void loop() {
  92.  
  93.   if (currentmode) {
  94.     curcurrentraw = analogRead(currentsense);
  95.     curcurrent = ((curcurrentraw - zerocurrent) * (5000.00 / 1023.00) / 100.00);
  96.     //Serial.print(zerocurrent);
  97.     //Serial.print("  ");
  98.     //Serial.print(curcurrentraw);
  99.     //Serial.print("  ");
  100.     //Serial.println(curcurrent);
  101.     if (counter == 5000) {
  102.       lcd.setCursor(4, 1);
  103.       lcd.print(curcurrent);
  104.       lcd.print("A ");
  105.       counter = 0;
  106.     }
  107.     if (curcurrent < current) {
  108.       OCR1A++;
  109.     }
  110.     else {
  111.       OCR1A = OCR1A - 1;
  112.     }
  113.     counter++;
  114.     delayMicroseconds(100);
  115.   }
  116.  
  117.   if (powermode) {
  118.     curcurrentraw = analogRead(currentsense);
  119.     curcurrent = ((curcurrentraw - zerocurrent) * (5000.00 / 1023.00) / 100.00);
  120.     curvoltraw = analogRead(voltagesense);
  121.     curvoltage = curvoltraw * (5000.00 / 1023.00) * 7.20 /1000.00;
  122.     curpower = curvoltage * curcurrent;
  123.     //Serial.println(curpower);
  124.     if (counter == 5000) {
  125.       lcd.setCursor(4, 1);
  126.       lcd.print(curpower);
  127.       lcd.print("W ");
  128.       counter = 0;
  129.     }
  130.     if (curpower < power) {
  131.       OCR1A++;
  132.     }
  133.     else {
  134.       OCR1A = OCR1A - 1;
  135.     }
  136.     counter++;
  137.     delayMicroseconds(100);
  138.   }
  139.  
  140.   if (TurnDetected) {
  141.     delay(200);
  142.     switch (screen) {
  143.       case 0:
  144.         switch (arrowpos) {
  145.           case 0:
  146.             if (!up) {
  147.               screen0();
  148.               lcd.setCursor(0, 1);
  149.               lcd.write((uint8_t)0);
  150.               arrowpos = 1;
  151.             }
  152.             break;
  153.           case 1:
  154.             if (up) {
  155.               screen0();
  156.               lcd.setCursor(0, 0);
  157.               lcd.write((uint8_t)0);
  158.               arrowpos = 0;
  159.             }
  160.             break;
  161.         }
  162.         break;
  163.       case 1:
  164.         switch (arrowpos) {
  165.           case 0:
  166.             if (!up) {
  167.               screen1();
  168.               lcd.setCursor(0, 1);
  169.               lcd.write((uint8_t)0);
  170.               arrowpos = 1;
  171.             }
  172.             break;
  173.           case 1:
  174.             if (up) {
  175.               screen1();
  176.               lcd.setCursor(0, 0);
  177.               lcd.write((uint8_t)0);
  178.               arrowpos = 0;
  179.             }
  180.             else {
  181.               screen1();
  182.               lcd.setCursor(7, 1);
  183.               lcd.write((uint8_t)0);
  184.               arrowpos = 2;
  185.             }
  186.             break;
  187.           case 2:
  188.             if (up) {
  189.               screen1();
  190.               lcd.setCursor(0, 1);
  191.               lcd.write((uint8_t)0);
  192.               arrowpos = 1;
  193.             }
  194.             break;
  195.         }
  196.         break;
  197.       case 2:
  198.         if (up) {
  199.           power = power + 0.1;
  200.           lcd.setCursor(7, 0);
  201.           lcd.print(power);
  202.           lcd.print("W");
  203.           lcd.write((uint8_t)1);
  204.           lcd.print("  ");
  205.         }
  206.         else {
  207.           power = power - 0.1;
  208.           if (power < 0) {
  209.             power = 0;
  210.           }
  211.           lcd.setCursor(7, 0);
  212.           lcd.print(power);
  213.           lcd.print("W");
  214.           lcd.write((uint8_t)1);
  215.           lcd.print("  ");
  216.         }
  217.         break;
  218.       case 4:
  219.         switch (arrowpos) {
  220.           case 0:
  221.             if (!up) {
  222.               screen4();
  223.               lcd.setCursor(0, 1);
  224.               lcd.write((uint8_t)0);
  225.               arrowpos = 1;
  226.             }
  227.             break;
  228.           case 1:
  229.             if (up) {
  230.               screen4();
  231.               lcd.setCursor(0, 0);
  232.               lcd.write((uint8_t)0);
  233.               arrowpos = 0;
  234.             }
  235.             else {
  236.               screen4();
  237.               lcd.setCursor(7, 1);
  238.               lcd.write((uint8_t)0);
  239.               arrowpos = 2;
  240.             }
  241.             break;
  242.           case 2:
  243.             if (up) {
  244.               screen4();
  245.               lcd.setCursor(0, 1);
  246.               lcd.write((uint8_t)0);
  247.               arrowpos = 1;
  248.             }
  249.             break;
  250.         }
  251.         break;
  252.       case 5:
  253.         if (up) {
  254.           current = current + 0.1;
  255.           lcd.setCursor(9, 0);
  256.           lcd.print(current);
  257.           lcd.print("A");
  258.           lcd.write((uint8_t)1);
  259.           lcd.print(" ");
  260.         }
  261.         else {
  262.           current = current - 0.1;
  263.           if (current < 0) {
  264.             current = 0;
  265.           }
  266.           lcd.setCursor(9, 0);
  267.           lcd.print(current);
  268.           lcd.print("A");
  269.           lcd.write((uint8_t)1);
  270.           lcd.print(" ");
  271.         }
  272.         break;
  273.     }
  274.     TurnDetected = false;
  275.   }
  276.  
  277.   if (button) {
  278.     delay(200);
  279.     switch (screen) {
  280.       case 0:
  281.         if (arrowpos == 0) {
  282.           screen = 1;
  283.           screen1();
  284.           lcd.setCursor(0, 0);
  285.           lcd.write((uint8_t)0);
  286.         }
  287.         else {
  288.           screen = 4;
  289.           screen4();
  290.           lcd.setCursor(0, 0);
  291.           lcd.write((uint8_t)0);
  292.         }
  293.         break;
  294.       case 1:
  295.         switch (arrowpos) {
  296.           case 0:
  297.             screen = 2;
  298.             screen2();
  299.             break;
  300.           case 1:
  301.             powermode = true;
  302.             screen = 3;
  303.             screen3();
  304.             break;
  305.           case 2:
  306.             screen = 0;
  307.             screen0();
  308.             lcd.setCursor(0, 0);
  309.             lcd.write((uint8_t)0);
  310.             break;
  311.         }
  312.         break;
  313.       case 2:
  314.         screen = 1;
  315.         screen1();
  316.         lcd.setCursor(0, 0);
  317.         lcd.write((uint8_t)0);
  318.         break;
  319.       case 3:
  320.         powermode = false;
  321.         OCR1A = 0;
  322.         counter = 0;
  323.         screen = 1;
  324.         screen1();
  325.         lcd.setCursor(0, 0);
  326.         lcd.write((uint8_t)0);
  327.         break;
  328.       case 4:
  329.         switch (arrowpos) {
  330.           case 0:
  331.             screen = 5;
  332.             screen5();
  333.             break;
  334.           case 1:
  335.             screen = 6;
  336.             screen6();
  337.             currentmode = true;
  338.             counter = 0;
  339.             break;
  340.           case 2:
  341.             screen = 0;
  342.             screen0();
  343.             lcd.setCursor(0, 0);
  344.             lcd.write((uint8_t)0);
  345.             break;
  346.         }
  347.         break;
  348.       case 5:
  349.         screen = 4;
  350.         screen4();
  351.         lcd.setCursor(0, 0);
  352.         lcd.write((uint8_t)0);
  353.         break;
  354.       case 6:
  355.         screen = 4;
  356.         screen4();
  357.         lcd.setCursor(0, 0);
  358.         lcd.write((uint8_t)0);
  359.         currentmode = false;
  360.         OCR1A = 0;
  361.         break;
  362.     }
  363.     arrowpos = 0;
  364.     button = false;
  365.   }
  366. }
  367.  
  368. void screen0() {
  369.   lcd.clear();
  370.   lcd.setCursor(1, 0);
  371.   lcd.print("Power Mode");
  372.   lcd.setCursor(1, 1);
  373.   lcd.print("Current Mode");
  374. }
  375.  
  376. void screen1() {
  377.   lcd.clear();
  378.   lcd.setCursor(1, 0);
  379.   lcd.print("Power:");
  380.   lcd.print(power);
  381.   lcd.print("W");
  382.   lcd.setCursor(1, 1);
  383.   lcd.print("Start");
  384.   lcd.setCursor(8, 1);
  385.   lcd.print("Back");
  386. }
  387.  
  388. void screen2() {
  389.   lcd.clear();
  390.   lcd.setCursor(1, 0);
  391.   lcd.print("Power:");
  392.   lcd.print(power);
  393.   lcd.print("W");
  394.   lcd.write((uint8_t)1);
  395. }
  396.  
  397. void screen3() {
  398.   lcd.clear();
  399.   lcd.print("Set:");
  400.   lcd.print(power);
  401.   lcd.print("W");
  402.   lcd.setCursor(0, 1);
  403.   lcd.print("Cur:");
  404.   lcd.print(curpower);
  405.   lcd.print("W");
  406.   lcd.setCursor(11, 1);
  407.   lcd.write((uint8_t)0);
  408.   lcd.print("STOP");
  409. }
  410.  
  411. void screen4() {
  412.   lcd.clear();
  413.   lcd.setCursor(1, 0);
  414.   lcd.print("Current:");
  415.   lcd.print(current);
  416.   lcd.print("A");
  417.   lcd.setCursor(1, 1);
  418.   lcd.print("Start");
  419.   lcd.setCursor(8, 1);
  420.   lcd.print("Back");
  421. }
  422.  
  423. void screen5() {
  424.   lcd.clear();
  425.   lcd.setCursor(1, 0);
  426.   lcd.print("Current:");
  427.   lcd.print(current);
  428.   lcd.print("A");
  429.   lcd.write((uint8_t)1);
  430. }
  431.  
  432. void screen6() {
  433.   lcd.clear();
  434.   lcd.print("Set:");
  435.   lcd.print(current);
  436.   lcd.print("A");
  437.   lcd.setCursor(0, 1);
  438.   lcd.print("Cur:");
  439.   lcd.print(curcurrent);
  440.   lcd.print("A");
  441.   lcd.setCursor(11, 1);
  442.   lcd.write((uint8_t)0);
  443.   lcd.print("STOP");
  444. }

Ezzel a sorral van neki baja! "LiquidCrystal_I2C::begin();"
(#) KoblogPerGyok válasza MATA hozzászólására (») Okt 9, 2018 / 1
 
Szia!

Nálam a kínai cuccokkal nem :: kettőzött kettőspont kellett, hanem egy szimpla pont.

És LCD.begin()

Az a változód, amit felparamétereztél.
A hozzászólás módosítva: Okt 9, 2018
(#) kapu48 válasza lacika5555 hozzászólására (») Okt 9, 2018 / 1
 
És matematikai műveleti jel sem lehet a névben.
Pont is csak egyszer a név kiterjesztés előtt szerepelhet.
Ez rossz: Nano_program.0.ino
Ez jó: Nano_program_0.ino

Az új lib-et nem bemásoljuk, hanem telepítjük. Mert akkor szabályszerű lesz minden.
libraries installation: Bővebben: Link
(#) kapu48 válasza KoblogPerGyok hozzászólására (») Okt 9, 2018 / 1
 
Annyit javítanák, hogy csupa kisbetűvel: lcd.begin()
Ahogyan létrehozta a nevet itt: LiquidCrystal_I2C lcd(0x27, 16, 2);
(#) MATA válasza KoblogPerGyok hozzászólására (») Okt 9, 2018 /
 
Köszönöm a segítséget egy másik gépen meg simán ment a fordítás hibaüzenet nélkül ez azért nem semmi hogy ilyen is van!
(#) Kera_Will hozzászólása Okt 9, 2018 /
 
Nem mindig szeretem használni a szimulátorokat , de van mikor rákényszerülök.
Néha nem úgy működik ahogy gondolná az ember.
Most ebbe futottam bele.

Ardusim 2.2 elérhetősége

Az IDE 1.8.5 alatt szépen zokszó nélkül lefordul.
De ugyanaz a forráskód a szimulátorban elbukik.

Most miért tanuljak meg egy értetlen "szimulátorul" forráskódot írni , amikor IDE alatt működik ?!
Mi lehet a baja ?
De akár ajánlhattok másik "jobb" szimulátor progit is , ami nem ennyire finnyás.
A hozzászólás módosítva: Okt 9, 2018
(#) kapu48 válasza Kera_Will hozzászólására (») Okt 9, 2018 /
 
Szimulátorhoz nem értek!

De az arduino1.6xx változat ellőt, kevésbé volt fejlett a hiba ellenőrzés.
Míg a fejlettebb arduino1.8xx már komolyabban veszi azt.
Ezért nem kompatibilisek a régi projektek az új fordítóhoz.

Szimulátorban nem tudod állítani, hogy melyik arduinox.xx használja?
(#) Kera_Will válasza kapu48 hozzászólására (») Okt 9, 2018 /
 
Sajnos nem tud IDE verziót váltani.

A hibaüzenet szerint mintha nem definiáltam volna a változót vagy nem kapott volna értéket.Pedig mint látszik meg van mindene.

unsigned long tipus definiíció az elején
A setup() alatt 0 értéket is kap feleslegesen , de ha nyafog legyen az is ott, aztán a millis()-től megkapja az aktuálisat mikor a függvényben értéket adok a változónak.


Érdekessége még az , hogy a régebbi fél egy éves szimulátorban még lefut ez a forráskód (V1.7.2).
De érthetetlen módon pl.: a noTone mint a Tone parancs kikapcsolóját se tudja lefordítani az ArduSim V2.2 csak azután ha az Options menüben engedek 1 lehetőséget.

(Bocs , hogy ide keverek más bajomat is de arra találtam megoldást
).

Habár lehet nem kell nagyon belemélyedni ebbe a arduino szimulatorok világába.


  1. byte Betu;
  2. byte ciklusok;
  3. unsigned long JelenIdo;
  4. unsigned long MultIdo;
  5. unsigned long MultIdoalap;
  6. int idozites;
  7.  
  8. long CiklusIdo;
  9.  
  10. byte hanyadik;
  11.  
  12. int elemijelido;
  13.  
  14.  
  15. void setup()
  16. {
  17.         pinMode(13,OUTPUT);
  18.         pinMode(12,OUTPUT);
  19.         hanyadik=1;
  20.        
  21.         MultIdo=0;
  22.         elemijelido=70;
  23.         CiklusIdo=3000;
  24.         ciklusok=0;
  25.        
  26.         digitalWrite(13, LOW);
  27.         noTone(12);
  28.        
  29.         //while (millis()-MultIdo < (hanyadik-1)*CiklusIdo)   //CiklusIdo = 5000
  30.         //      {
  31.         //ciklusok ++;
  32.         //      }
  33.         //      MultIdo=millis();
  34.         //      ciklusok =0;
  35.        
  36.        
  37. }
  38.  
  39.  
  40. void milisidozit()
  41. {
  42.         while (millis()-MultIdoalap < idozites)   //
  43.         {
  44.                 //ciklusok ++;
  45.         }
  46.         MultIdoalap=millis();
  47. }



Érdekes pedig a noTone a saját Ardu utasítás készletének része.
A forrás írását segítendő , jobb oldali forráskód emlékeztetőből is kilehet emelni.
Ha onnan írtam bele, akkor is hibát adott az ardusim2.2 amíg a Options menüjét be nem állítottam.
A hozzászólás módosítva: Okt 9, 2018
(#) Kera_Will válasza icserny hozzászólására (») Okt 9, 2018 /
 
Mi összefüggés van egy unsigned long tipusú változó használata és a szimulátor verziók között?
"1vagy2.kevés.kevesebb verziójú " ArduinoIDEben akár ArduSim -ben nem lehetett ilyen változót használni?

Azt értem ,hogy a különböző szoftver környezetek fejlesztése más - más ütemben van.
Egyik változása után , esetleg követi azt a másik is.

Ha ez van akkor marad a valós panelek használata .
(#) MATA hozzászólása Okt 9, 2018 /
 
Már korán örültem hogy hiba nélkül lefordult a program most akartam feltölteni a Nano-ba de hibát jelez az alaplapra feltöltéskor. Ez a hibaüzenet.
"Arduino: 1.8.7 (Windows 10), Alaplap:"Arduino Nano, ATmega328P"

Vázlat használ 8452 bájt (27%) -ot a program tárhelyből. A maximum 30720 bájt.
A globális változók 579 bájt (28%)-ot használnak a dinamikus memóriából, 1469 bájtot hagyva a helyi változóknak. A maximum 2048 bájt.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xcf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xcf
Probléma az alaplapra feltöltéskor. Nézd meg a http://www.arduino.cc/en/Guide/Troubleshooting#upload -t javaslatokért.

Ennek a jelentésnek több információja lehetne
a "Bővebb kimenet mutatása fordításkor"
opció engedélyezésével a Fájl -> Beállítások-ban.
(#) kapu48 válasza MATA hozzászólására (») Okt 9, 2018 /
 
Az Eszközöknél rossz COMx portot állítottál be, vagy nincsen botloader az atmegában?
(#) MATA válasza kapu48 hozzászólására (») Okt 9, 2018 /
 
Köszönöm a gyors választ a port be van állítva látja is a program a Nanot alul írja hogy a COM4-en csatlakoztatva van.
(#) kapu48 válasza MATA hozzászólására (») Okt 9, 2018 /
 
Ilyet akkor is ír, ha nincsen semmi arduino csatlakoztatva a gépre!
(#) MATA válasza kapu48 hozzászólására (») Okt 9, 2018 /
 
A következő van elkezdi fordítani a programot rendben van minden majd elkezdődik a feltöltés a led apró 3-at villan mint máskor de amikor jó szokott lenni a feltöltés akkor többet villan gyorsan de itt csak 3-szor aztán kb 1percig nem történik semmi és jön a hibaüzenet.
(#) kapu48 válasza MATA hozzászólására (») Okt 9, 2018 /
 
Vagyis a fordítás sikerült, a feltöltés nem!
A fent vázolt 2 hibalehetőség lehetséges.
(#) MATA válasza kapu48 hozzászólására (») Okt 9, 2018 /
 
Igen láttam mások is jártak már így.
(#) sargarigo válasza MATA hozzászólására (») Okt 9, 2018 / 3
 
Én is jártam így az 1.8.7 verzió alatt. Volt egy olyan opció hogy Eszközök -> Processzor "Atmega328p (old bootloader)" Na ezt kiválasztva már sikerült feltölteni.
(#) sargarigo válasza Kera_Will hozzászólására (») Okt 9, 2018 /
 
Én úgy látom, hogy arra hivatkozik hogy nincs inicializálva az "idozites" nevű változód. Deklaráltad hogy lesz egy ilyen, de nem adtál neki kezdőértéket. Még úgy sem, hogy állítólag a setup-ban megtetted. Lehet hogy csak én nem látom, de a szimulátor sem látja. Az hogy egy eldugott helyen egy eljárásban mégis megteszed még nem ment fel a kötelezettség alól. Tessék rendesen kezdőértéket adni neki
Ennek lehet egyébként az az oka (mármint hogy egyik működik másik meg nem), hogy az ide valamiért megengedőbb az ellenőrzéssel kapcsolatban. Hidd el, jobban jársz ha a szigorúbb ellenőrnek hiszel, mert akkor kisebb a valószínűsége hogy fejet falba verős helyzetbe kerülsz.
A hozzászólás módosítva: Okt 9, 2018
(#) MATA válasza sargarigo hozzászólására (») Okt 9, 2018 /
 
Hoppá köszönöm szépen így tényleg sikerült feltölteni a programot!
(#) Kera_Will válasza sargarigo hozzászólására (») Okt 10, 2018 /
 
Értem , volt olyan is hogy kezdoerteket is adtam neki.
Lásd Indító írasom csAtolt képein deklráció után értéket is adok neki 0- t, majd a millis felül csapja .
Akkor se tetszik neki.
(#) sargarigo válasza Kera_Will hozzászólására (») Okt 10, 2018 /
 
Na most kövezz meg, de pont az indító hozzászólásod képeit bogarásztam át (most is), és még mindig nem látom hol adsz neki kezdőértéket! Nem kevered valamelyik rokon értelmű nevű változóval?
(#) sargarigo válasza MATA hozzászólására (») Okt 10, 2018 /
 
Örülök
(#) Kera_Will válasza sargarigo hozzászólására (») Okt 10, 2018 /
 
Ok köszönöm !
Valóban definiáltam változókat, de a void setup() -ban pedig kihagytam , nem volt alapértelmezett értékük.
Futási időben meg random lógnának a bitjei a levegőben amit a power-on tranziens állít be.
Addig amíg valamikor meg nem szólítom/hívom és nem kap valami valósabbat.
Erre figyelmeztet a szimulátor.
Érdekes módon az ArduinoIDE simán baj nélkül lefordította.
Akkor most melyik az "erősebb", kinek higgyek ?
A hozzászólás módosítva: Okt 10, 2018
(#) tbarath válasza Kera_Will hozzászólására (») Okt 10, 2018 /
 
Ha előbb olvasod (és persze használod a kiolvasott értéket) mint ahogy értelmes értéket adnál neki, az problémás. Amúgy nem baj.
(#) sargarigo válasza Kera_Will hozzászólására (») Okt 10, 2018 /
 
Mint mondtam a szigorúbbnak! Akkor is érhet meglepetés, de nem annyi mint a megengedőbbnél. Amúgy ez akadémikus kérdés. Mindig adj neki kezdőértéket, ha lehet már a definíciónál és nem lesz ilyen gondod. Lesz amúgy is elég "na ezt most miért?" kérdés
(#) elektroncso hozzászólása Okt 11, 2018 /
 
Sziasztok!
Tud valaki egy ingyenes Arduino szimulátort? Olyanra gondolok ami együtt tud működni az Arduino IDE felülettel, valójában a külső hardvert helyettesíti virtuálisan. Megbízható helyről érdekel, mert egyet előbb letöltöttem, de jött vele valami vírus is, szóval likvidálásra került. A TinkerCAD-ot láttam, de a jelenlegi gépem nem bírja, ha volna más egyszerűbb alternatíva az érdekelne.
Előre is köszönöm!
(#) Kera_Will válasza elektroncso hozzászólására (») Okt 11, 2018 /
 
Idézet:
„külső hardvert helyettesíti virtuálisan”


Hát ez az ... amit kissé bizonytalanná teszi a simulátorokat.
Attól függ milyen hardver környezetet írnak meg virtualizálva hozzájuk.

Általános mint stepper ,zümmer , ledek , kapcsolók ,hard/softserial, SPI csak csak , LCD-k már kevésbé , egyéb különleges hardverek meg esélytelen .

Mindez szimulátora válogatja.
(#) jahui2 hozzászólása Okt 11, 2018 /
 
Sziasztok!
Segítségeteket kérném, 2xfél napom ráment.. 328PU(DIP)-be szeretnék USBasp-al bootloadert (vagy bármit) égetni, de Avrduddess csak annyit jelez, hogy a "cél nem válaszol". Az égető jó, égettem próbaképp egy nanót, és egy UNO-t is. 328-at probáltam égetni kvarccal/anélkül. Felhuzóellenállással a reseten és direkt csatlakoztatva is. Tápon 100n. Gondoltam hibás, próbáltam egy másik szűzzel is.. Valaki belefutott már ilyenbe? Mit nem veszek észre? Köszönöm.
(#) asrock válasza elektroncso hozzászólására (») Okt 11, 2018 /
 
proteus !
Következő: »»   478 / 854
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem