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
Akkor jön a következő kérdésem:
![]() Hogy lehet egy regiszterben, vagy változóban egy bitet ki/be kapcsolni. pl PORTD.5 legyen H ? Esetleg van valakinek mikrovezérlőkre vonatkozó C-s leírása? Idézet: Bocsi, lehet hogy félreértelek, de nem "előjel nélküli"-t írtam én is? Vagy mi a baj? :nemtudom: „Az uint8 mint tipus = unsigned char-al. 8 bites elojel nelkuli.” ![]() :no: Ehhez, nem tudok érdemben hozzászólni. ![]()
:help::lookaround: valaki? ![]()
MaSTeRFoXX:
pl: PORTD |= ( 1 << PD5 ); de előtte ahhoz hogy kimenet legyen ugyebár DDRD |= (1 << PD5)! ( ezután PORTD 5 - ös lába = 1 ) PORTD &= ~(1 << PD5); nos ezzel pedig kioltod a bitet egy tipp: az ATmega adatlapokban van egy pár C - s mintapélda , érdemes nézegetni ![]() szal: avrdude ![]() gtk: no problem ![]() Üdv mindenkinek ![]()
Igen Masterfoxx, Pavelé tökéletes megoldás, én is így szoktam.
Idézet: „Esetleg van valakinek mikrovezérlőkre vonatkozó C-s leírása?” Logikai es bitmuveleteket tanuld meg C-ben ,ez a legfontosabb elsore. Tovabba avr libc online users manual deguss: Idézet: „AVR-éknél az uint8 = 8 bites unsigned integer” itt unsigned integert irtal,en unsigned int -re gondoltam.. lehet hogy felreertettem.Nincs semmi baj ![]()
Köszi mindenkinek!
Én tegnap végül is így oldottam meg (az avrfreaks-en találtam segédletet) bekapcs: PORTD |=0x01 (portd.0) kikapcs: PORTD &=~0x01
En nem dijazom ezt a megoldast.
Hasznald azt amit Pavel irt,mert ott megadhatod a Px labat . Azt a megoldast minden esetben hasznalhatod.
Ok, köszi.
Utolsó kérédés: (Most már tényleg abbahagyom ![]() Hogy nézem meg hogy pl a Porta.7 az 1-e? (bementként van már konfigurálva) egy IF eljárásba kellene...
Lekérdezed a PINA regisztert
![]() If (((PINA & 0x80) >> 7)==1) ....
Köszi! (Ez nézné meg hogy kész van-e a méréssel a szkóp
![]()
Szerintem ne hagyd abba
![]() Ha a portx.n -dik labat akarod ellenorizni,akkor csinald hasonloan:
Ha tobb labat/bitet kell egyszerre figyelned, akkor vizsgald igy if(portx == mask){ },a maskban meg allitsd be a megfelelo biteket es VAGYold ossze oket:
Köszi!
![]() Végül így lett megoldva: . while(1) { if(PINA & (1 << PINA7 ) ) { kiolvas(); } }>>
Ok.
Ez a while(1) a main() -ben van?Vagy mashol?Mert ez vegtelen ciklus es igy megakasztod a procit,csak megszakitasra ugrik ki ebbol blokkbol..
bocsi! nem a procit akasztod meg hanem a programot
![]() Kivancsisag: Mennyivel lesz a hex kodod C-ben irva/forgatva kissebb mint basicben?
A mani-ban van persze.
Hogy mekkora a basic és C közti különbség, azt most nem tudom megmondani, mivel nincs két ugyanolyan célú, és ugyanannyira befejezett programom ![]() Talán a C-s a kisebb
Ok,mani
![]() Majd jelezz ha lesz 2 egyforma progid. avresek,valaki nem nezi meg nekem az IC azonositok topikban a kerdesemet?please...
AVR Studion kivül valaki tud ajánlani valmi más szimuláló progit? ATMega8 esetében TCNT1-nél a WGM13 és 12-es bitet nem veszi figyelmbe a szimulátor csak a WGM11 és 10-es bitek szerint működik...
![]() ![]() Valami más szimulátor?? András
Neked is csak azt tudom javasolni hogy építs egy JTAG debuggert. Azt tudod használni az AVR studioval és nem kell a szimulátorral sz...oznod, hanem a tényleges regiszter értékeket tudod nézegetni. Az atmega8-on ha jól tudom van jtag port.
Kérem a vulgáris szavakat mellőzni! Moderator ![]()
Ha mar a JTAG -nal 'tartunk' amit egyszer asszem ebbe a topicba bemasoltal,az ICE -kent mukodik teljes mertekben?
Ezalatt azt ertem,hogy szimulalja az adott procit a megfelelo progival?,tehat be lehet kotni a celhardwerbe proci helyett? Olvastam az ICEkrol hasonlokat,de ott ramokat is emlit en meg a ezen nem lattam ilyesmit.
Igen már én is gondolkoztam h építenem kéne egyet... Tudnátok küldeni egy kapcsolást, esetleg nyáktervel? Mennyiből jönne ez ki? A debuggerben is egy AVR van?
köszi András
Igen egy teljes értékű JTAG ICE debugger. Úgy néz ki az egész, hogy egy mikrokontroller van benne és soros porton a gépre kötöd. A célhardvernek pedig a Jtag lábaira ráakasztod. A tápot a célhardverből veszi, ezért érdemes a soros porti szintillesztőt meg a mikrokontrollert olyat belerakni ami 3,3V-ról is működik. Így ilyen eszközöket is tudsz debuggolni.
Amit feltöltöttem ide azt a kapcsolást én ATMEGA 16L timpussal építettem meg. Kicsit hekkelni kell, de megoldható. Ha érdekelt titeket komolyabban, akkor adok tanácsokat az építéshez. andrew: a kapcsolást én töltöttem fel ebbe a topicba valahova.
Köszi, megvan a kapcsolás!
![]() Csak az a gondom hogy egyenlőre még csak assemblyben tudok programot írni, és nem tudom hogy mit hogy kéne meghekkelni, szoval szivesen fogadnám azokat a tanácsokat ![]()
Hali!
Lehet én vagyok a vak, de én sehol nem találom a kapcsolást! ![]() Valaki megadná nekem a linket amin el tudom érni! Előre is köszönöm, és elnézést ha béna voltam! ![]() Üdv:Higgins ![]()
Bocsika!Megtaláltam!
![]() Üdv: Higgins
Hekkelni ..mar mint a soft, vagy -hw oldalon?
Engem mindenkepp erdekelne...figyelem a topicot ![]()
Mindkét oldalon kell kicsit hekkelni! Mivel ha jól láttam ATmega163-al van az eredeti JTAG megvalósítva. A szoftverben meg pár módosítást kell csinálni, hogy ATmega16-al is menjen, ahogy Gory írta!
![]() Gondolkozom én is rajta, hogy megépítsem, bár eddig nem volt soha szükségem ilyen eszközre. Most írom a szakdogám Atmega32+ wiznet modul felhasználásával mikrovezérlőbe ágyazott webszervert csináltam, de mégsem volt szükségem JTAG debugerre. Szoftveres Debugot használok , ami a konzolra írja ki soros porton ha valami gáz van. ![]() Aki megcsinálja, sok sikert és türelmet neki. ![]() Üdv:Higgins ![]()
És miért nem jó a mega163?? Már nem lehet kapni? Akkor végülis csak annyit kéne csinálni, hogy a kapcsolásban kicserélni mega16-ra, és a programban átírni az egyes regisztereket, hogy működjön azzal a procival is??
![]() |
Bejelentkezés
Hirdetés |