Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
WinAVR / GCC alapszabályok:
1. Ha ISR-ben használsz globális változót, az legyen "volatile"
2. Soha ne érjen véget a main() függvény
3. UART/USART hibák 99,9% a rossz órajel miatt van
4. Kerüld el a -O0 optimalizációs beállítást minden áron
5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás
6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et
Bővebben: AVR-libc FAQ
Lapozás: OK   619 / 619
(#) TavIR-AVR válasza szikorapéter hozzászólására (») Pé, 20:15 /
 
NEM. A keretrendszer _nem_ támogatja!
+ bootloader sincs benne....
A hozzászólás módosítva: Pé, 20:15
(#) szikorapéter válasza TavIR-AVR hozzászólására (») Pé, 20:16 /
 
Akkor keresek egy másik hasonló projectet. Átírni még nem tudom ahhoz még nem értek.
(#) doup hozzászólása Szo, 9:52 /
 
Sziasztok

Teljesen kezdő vagyok a témában. Vásároltam a linken látható ATmega328 ATmega328 kütyüt. Felraktam az avr studio 6.2 windows 8.1 alá. Amikor ráduktam az atmega-t a driver fel is ment az eszközkezelőben nincs is hiba. Viszont az board-on egy led "L" felírat van felette folyamatosan pirosan villog gondolom valamilyen hibát tükröz. Illetve az avr studio sem éri el. Valaki tudna segíteni mi lehet a baj? Az avr studio hibaüzenete "Could not establish communication with the tool."
(#) pluto válasza doup hozzászólására (») Szo, 10:21 /
 
Szia!

Most anélkül, hogy mélyebben bele merülnénk a témába javasolnám, hogy töltsd le ezt. Ha úgy gondolod, hogy kezdőként mindenféleképpen a Studio-val kell egy Arduino-val szórakoznod, akkor telepítsd az "Arduino IDE for Atmel Studio 6.1 & 6.2" bővítményt.
(#) Szabi1 hozzászólása Szo, 13:32 /
 
Sziasztok! Segítségre lenne szükségem. ATMEGA8-al akarok hőmérőt készíteni, lesz egy Karakteres LCD hozzákötve, és nem találtam a neten csak olyan libraryt, ami karaktereket ír ki float számokat nem.
Elkezdtem csinálni egy algoritmust, de szeretném ha valaki megnézné, hogy helyes-e?
  1. void lcd_putnum(float number)
  2. {
  3.     unsigned int auxiliar,i;
  4.       if (number < 0) // ha negativ a number
  5.         {
  6.             lcd_putch('-'); // negativ elojel kiirasa
  7.             number = -1 * number;
  8.         }
  9.  
  10.     //2 tizedes pontossagura konvertalas
  11.     number*=100; // a szamot megszorozzuk 100-al
  12.     auxiliar=number; // egesz resz atadasa auxiliar valtozonak
  13.      i=0;
  14.     while (number!=0) // csinald amig number nemegyenlo 0val
  15.     {
  16.         i++;// szamlalo novelese 1 el
  17.         auxiliar=number%10; //number maradekos osztasa 10 el, maradek mentese auxiliarba
  18.         auxiliar/=10;// a szamot elosztjuk 10el
  19.         if(i==3) lcd_putch('.');// ha a
  20.         else     lcd_putch('0'+auxiliar);
  21.     }
  22. }
(#) IMi válasza doup hozzászólására (») Szo, 16:43 /
 
Szia!
EZ a villogás nem hiba üzenet, hanem egy "gyárilag" felprogramozott kód működése (arduinoban a blink example). Ami neked van az egy Arduino Nano klón, javaslom a témájában kérdezősködj. A programozáshoz az Arduino IDE való.
A hozzászólás módosítva: Szo, 16:44
(#) holex válasza Szabi1 hozzászólására (») Vas, 13:55 /
 
Én nem bonyolítanám ennyire túl.
Egész számokat biztos tud kiírni a library-d. A szám egészrészét az uint8_t egesz=floor(number); sorral megkapod, a tört részét meg úgy, hogy kivonod a számodból az egészrészt, amit kapsz megszorzod 100-al és egész típusra konvertálod.
(#) holex válasza holex hozzászólására (») Vas, 14:14 /
 
Sőt, valószínűleg a floor függvény sem kell, ha egy floatot intté konvertálsz, akkor alapból csonkolást csinál, azaz csak az egészrészét hagyja meg a floatnak.
(#) Szabi1 válasza holex hozzászólására (») Vas, 15:15 /
 
Találtam is egy függvényt
  1. void itoa(int n, char s[]) //egész átalakítása karakterre
  2. {
  3.     int i, sign;
  4.  
  5.     if ((sign = n) < 0)  /* sign mentése */
  6.         n = -n;          /* legyen n pozitiv */
  7.     i = 0;
  8.     do {       /* szamjegyek bontasa viszafele */
  9.         s[i++] = n % 10 + '0';   /* kov szamjegy szerzese */
  10.     } while ((n /= 10) > 0);     /* torles */
  11.     if (sign < 0)
  12.         s[i++] = '-'; //ha az elojel negativ kiir
  13.     s[i] = '\0';
  14.     reverse(s);
  15. }
Valaki tudna nekem képleteket NTC-nek az ADC olvasására? Tulajdonképpen azt tudom hogy egy bizonyos hőmérsékleten egy bizonyos ellenállása van, de ez az érték NTC típusként változó? Továbbá azt szeretném tudni, hogy lineálisan változik az ellenállása? Tehát azt szeretném, hogy egy adott program felégetése után Ra helyett mondjuk egy trimmert raknék be amivel be tudnám egy másik hőmérő által kalibrálni, de történhet az is hogy csak a bekalibrált hőre jót mutat, másra nem? Szobatermosztát lesz belőle, tehát minuszokat nincs miért mérjen, egy tizedes pontossággal jó volna.
A hozzászólás módosítva: Vas, 15:16

Untitled.jpg
    
(#) Ivan93 válasza Szabi1 hozzászólására (») Hé, 20:23 /
 
Szia!
Tavasszal lemértem egy ntc hőmérséklet-ellenállás görbéjét 40-20°C között.
A soros ellenállást Fizikus vonalkövetőrobotos írása alapján választottam, a hőmérővel és az adc-n olvasott értékeket excelben lerajzoltam. Nem mértem sűrűn, de egészen egyenes lett a grafikon, így szerintem lineáris az összefüggés.
(Az én ntc-m ~4.7kOhm szobahőmérsékleten, -15°c körül kb. 20kOhm, öngyújtó felett pár száz Ω ellenállású. A soros ellenállás 4k7.)
Remélem valamennyit tudtam segíteni.
Iván

ntc.xls
    
(#) rolandgw hozzászólása Kedd, 8:58 /
 
Sziasztok,win környezetben van lehetőség az AVR toolchain használatára a Studio 6 nélkül ?
A CodeBlocks-al próbálkoztam,de az avr csomagban nincs make.A winavr-el gondolom működne,viszont az már 2010-es.
Következő: »»   619 / 619
Bejelentkezés

Belépés

Hirdetés
Frissek
2014. Szept, 03. Sze
6:36:12
Jelenleg 158 fő olvassa az oldalt
Online tagok:
Lapoda.hu     XDT.hu     HEStore.hu