Fórum témák
» Több friss téma |
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
Pacsi! Én is a legelső használatkor így jártam
![]()
Tisztelt Nagyérdemű!
Olyan kérdéssel fordulok hozzátok, hogy miért lehet az, hogy atmega16a-nál mikor beolvasok a D-port felső 4 bitjéből egyet és azt el tudom küldeni a TxD-n, de ha az alsó 4 bitből próbálok egyet,azt semmi képp nem olvassa be így el sem küldi. A kód jó, mert ugyan azt használom a felső 4 bájtra, mint az alsóra. Nem tudom, de lehet az UART beállítások nem megfelelőek? Kipróbáltam egy másik m16a-val is és ott is ugyan ez a probléma. Ha valaki tud segíteni annak nagyon köszönöm. Sajnos határidős a munkám és ez miatt csúszok már vagy 1 napja.
Sziasztok!
Még 2011-ben kaptam egy STK500 típusú AVR programozót, amit Windows 7 32-bites rendszeren tudtam is használni. Az eszközkezelő "Virtual Communications Port" néven ismerte fel. Van hozzá 64 bites driver, de mivel az nincs digitálisan aláírva, ezért nem is engedi azt feltelepíteni (tudom, ez az ellenőrzés kikapcsolható, de szerintem jobb ötlet engedélyezve hagyni). Az lenne a kérdésem, hogy tudnátok ehhez ajánlani digitálisan aláírt 64-bites drivert?
Ha most a C portról lenne szó akkor azt mondanám, a JTAGEN nevű fuse bitet kapcsold ki.
A D porttal az a probléma hogy az USART is azon van, PD0 és PD1 lábak... A hozzászólás módosítva: Nov 5, 2016
Közben sikerült megtalálnom a megoldást ezen az oldalon, hátha valaki más is hasonló helyzetbe futna, mint én (mint kiderült, nekem egy CDC-alapú programozóm van):
https://github.com/protaskin/LowCDC-Win10x64 Mivel ez nem tartalmaz mindent, ezért csatoltam a saját változatomat. A telepítése kétféleképp oldható meg. 1) Digitálisan alá kell írni a drivert. (Ez a biztonságosabb.) 2) Digitális aláírás nélkül telepíteni. Nekem ekkor panaszkodott egy kicsit, hogy távolítsam el a drivert, de úgy tűnik, így is működik. Az 1. módszer: Le kell tölteni a Windows Driver Kit 10-es verzióját és telepítéskor ki kell választani, hogy a telepítőkészletet csak töltse le. Ekkor ugyanis lesz egy kis program benne, az Inf2Cat.exe (\Program files (x86)\Windows Kits\10\bin\x86 mappában), amivel digitális aláírást adhatunk a drivernek. A WDK telepítését követően a csomagban van egy createcat.bat, azt kell parancssorból futtatni. Ha nem dob hibát a végén, akkor már telepíthető is a driver. A 2. módszer: Újra kell indítani a gépet (Shift-et lenyomva tartva az Újraindításra kattintva). Ki kell választani a Hibaelhárítást, majd a Speciális lehetőségeket, végül az Indítási beállításokat. Ha a gép újraindul, akkor ki lehet választani majd, hogy ne követelje meg a driverek digitális aláírását.
Gyanítom, AVR-Doper lehet. Nagyon jó kis cucc volt a maga idején, sajnos a M$ nem így gondolta.
Megtaláltam a problémát nagynehezen. Lényege az volt, hogy beolvasta a biteket megfelelően csak az adatlapon található beállításokkal nem működött jól az USART. Tulajdonképpen jól működött csak nem 8bit-et küldött hanem 5-öt, lehet valami hamisított vezérlővel lehetett dolgom?
Mindenki ezt csinálja tesztelésnél.
Én egy I2C könyvtárhoz unit teszteket írtam. Összekötöttem az SDA/SCL jeleket egy-egy pinnel, amit kézzel állítgattam. Az AVR I2C hardvere egy bit-banges I2C-vel kommunikált.
Akkor nem Doper volt? Milyen vezérlővel fut?
Sziasztok!
Lenne egy kis problémám. Megépítettem ezt a termosztátot Atmega8-al már egy pár éve s most is csináltam egy másikat! Oroszul volt benne a menű szövege akkoriban sikerült angolra átírnom,/ az epromban/ de van egy hiba benne. Nem jövök rá mit kellene átírnom. Itt egy kép a kijavítandó részről! !legalább a c betűt s-re./ Hátha valaki tudna nekem segíteni. Köszönöm! A hozzászólás módosítva: Nov 9, 2016
Sikerült a hex-be megtaláltam átírtam!
![]()
Sziasztok!
Egy olyan kérdésem lenne, hogy az AVR Studio 4-ben megírt programomat, hogyan tudom USB ASP programozóra küldeni? A válaszokat előre is köszönöm! RL
Sehogy közvetlenül.
Az AVRSzuidiuóval HEX-t és EEP-t készítesz, majd AVRDUDE-val töltöd fel a chipre.
De ugye nem kell elkezdenem tanulni a pic-et?
Szerintem nem. Akkor már érdemesebb átállni vmilyen ARM alapúra.
![]()
Az ördög a részletekben rejlik. Csak ICE-al programozhatóak, aminek az árát egy kicsit megemelték közben.
![]() Bővebben: Link
Azt a szégyentelen pofájukat!
Na ezért ne foglakoztam PIC-el soha! Az STM32-es teszt panelekhez hozzá csapják az ST-LINK-et. És az egész kijön 10EFt körül! A hozzászólás módosítva: Nov 10, 2016
Azért tegyük hozzá hogy programozáshoz és debuggoláshoz kizárólag a RESET lábat (és csak azt!) használja. Nem zavar GPIO-t (MOSI-MISO-SCK), nincs külön JTAG lábsor (TDI-TDO-TMS-TCK), meg dedikált programozóláb (pl. PGDATA). Nincs kizárás, ha nem jó órajelet állítottál be. Na jó, ez utóbbit az összes PIC is tudja...
Szerintem tuti hogy lesz ehhez is valami klónozó cucc, és remélhetőleg a "régi" AVR-ek is megmaradnak még egy darabig. Legalább addig amíg egy normális IDE-t össze nem raknak... Idézet: „Nincs kizárás, ha nem jó órajelet állítottál be.” Ezt az XMEGA is tudja. Új IDE ? Inkább ne! Nagy tétben mernék rá fogadni, hogy valamilyen formában fizetős lenne. Egyébként a Studio 7-ben már adaptálva vannak az új Tiny-k. Idézet: „Legalább addig amíg egy normális IDE-t össze nem raknak...” Te tényleg minden PIC típushoz akarsz 1 új IDE-t 100 - 200EFt-ért venni??? Mert ezek azt sem adják ingyen! A hozzászólás módosítva: Nov 11, 2016
Nem vagyok képben, de ez az árlista akkor miről szól?
A fordítoknak háromféle licenszük lehet:
Free: Ingyenes, gyenge optimalizálás (min. négyszeres kódméret) --- Csapnivaló Standard: Fizetős, jobb optimalizálás (kb. kétszeres kódméret) PRO: Fizetős, még jobb optimalizálás Az általad belinkelt listában megtalálható a Standard és a PRO verziók árai... Keressd az xclm -et... A hozzászólás módosítva: Nov 11, 2016
Köszönöm. Akkor ha csak a standardot adom össze 8-32bit-ig az 445 ezer Ft.
Amikor AVR mellett döntöttem, akkor a rendes C++ fordító hiánya PIC-re közrejátszott.
Én egy büdös petákot nem fizetnék PIC fordítóért. Pláne olyanért, ami dupla kódméretet generál. AVR alatt nem győzöm kapcsolgatni az avg-gcc opcióit, hogy kisebb kódot kapjak. Elszáll az agyam, ha a fordító szószátyárkodik. Mindenesetre még a 328P-t ütöm, mert jó IO portjai vannak, frankó kis hardver. A másik olcsó chip az ESP8266, ami wifi-s, csapnivaló IO portokkal. Jelenleg a kettőt együtt nyomom. Az ESP8266 1 MByte programméretből nehéz kifogyni, az 328P meg IO portként kiváló. A hozzászólás módosítva: Nov 11, 2016
Ebben az egeszben az a legszomorubb, hogy a PIC forditok (16-32 bit) is gcc alapuak (legalabbis regen az volt), es mint olyan, annak a forrasszoveget a mikrocsip koteles inggyenesen kozzetenni. Ez benne van a gcc licencben. Valahol kozze is teszik, csak le kell tudni forditani. Az AVR verzio viszont a core gcc resze, ezert az mindig ingyenes lesz. Mellesleg a PIC32-ben MIPS m4k core van, amire szinten van ingyenes gcc a mikrocsiptol fuggetlenul.
Ezekkel már egy egész topikot teleírtak...
Már kezdődik:
Idézet: „Microchip's latest Atmel tinyAVR MCUs combine Atmel 8-bit AVR core with CIPS (Core Independent Peripherals) normally found in the company's PIC MCUs.” uChip perifériák AVRben Szóval a fordítógyártók nekieshetnek a frissítéseknek, már ha használni akarják az új dolgokat. Azért ezt a CIPS dolgot nem nagyon fogom agyilag, már hogy magfüggetlen perifériák...mire gondolhatott a költő? (eddig sem sok köze volt a maghoz mondjuk egy DAC-nak vagy analóg komparátornak)
Nekem semmi bajom nincs a fizetős fordítókkal. Van AVR-re olyan fordító, ami mind méretre, mind sebességre elveri az avr-gcc-t. Ha komolyan szükségem lenne rá, fizetnék is érte.
Nekem elsősorban a "pénzért dupla kódméretet generál" filozófiával van bajom. Meg ugye a kompatibilitási problémákkal, mert jóval több platformon megy az avr-gcc, mint az MPLAB. Pénzért kevesebbet kapsz, mintha más chip-et vennél. A 4-szeres kódméret meg azt jelenti, hogy egy Attiny85-ös kódjához Atmega328P kellene. Mikrovezérlők alatt használhatatlan. A sebességről meg ne is beszéljünk... A hozzászólás módosítva: Nov 12, 2016
|
Bejelentkezés
Hirdetés |