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
Igen már én is azt látok ott... misztikus dolgok ezek
Gyorsan átírtam, a javaslatodra!
Köszi! Direkt nem ide akartam feltölteni, hogy ne szerepeljen itt hibás kód, főleg ne sok hibás kód Azt a végtelen ciklust megszüntettem. Prellmentesítés: áramkörileg megoldott a nyomógombbal párhuzamosan kötött kondival. Ez már bevált. Amit nem csinált maga a kapcsolás: Nem tudtam váltani a 3 állapot között (switch-case) Illetva egyből átugrott a 3. case-re, nem volt 1. és 2. Elvileg ez megoldott most, holnap tesztelem. Köszönöm!
Sziasztok!
Lenne két kérdésem: Az egyik az, hogy tudom-e vegyesen használni az analóg portot, adc bemenetként és digitális kimenetként egyszerre? A másik, pedig hogyha ledeket szeretnék vezérelni, amiknek 12V kell (és a föld van közösítve), akkor ugye csinálhatom így, hogy a Vcc-re nem 5V-ot, hanem a 12V-ot kötöm?
hali
a ledek jók úgy igen. a másik kérdés, ha adott pillanatban csak egyik funkció kell, akkor átállítód a lábakat, végrehajtódik a rutin, és visszaállítod. de ennek az a feltétele hogy az elektronika a lábakon, ne beszéljen bele. mármint ami bemenetként van kötve, az miközbe kimenetként használod ne mondjon semmit, mert az gáz. Edgár
"a ledek jók úgy igen."
Ez így nem jó. Nagyon nem. A processzor kimenete megközelítőleg 0 és 5V, 5V-os tápfeszültség esetén. A PNP tranzisztort az 5V még nyitva tartja. Bármit állítasz be a processzor logikai kimenetén, a PNP mindig nyitva lesz. Akkor zár le, ha a bázisára kerülő feszültség nagyobb mint a 12V-0,6V. Ezt pedig kizárólag egy NPN - PNP párossal fogod tudni megoldani. NPN-t vezérli a processzor. Annak a kollektora rajta a PNP bázisán, és egyúttal ez a PNP bázis +12V felé van húzva mondjuk 10K-val. Szerk: Rajzoltam. Így fog menni csak P-s tranzisztorral.
Hy mindenki.
Kérdés:A cpp31-ben használt c-programozási nyelvem elegendő az avr programozáshoz?
Mindenféle képpen igen nagy előny lehet a C ismerése. Csak hajrá! A GCC nem egy ördöngősség.
Annyi a nehézség, hogy sok mindent teljesen máshogy kell megírni, mint amit az ember PC programozáskor tenne.
Ezt a kerdest nem ertem?
[OFF]Amugy a "Hi" az pontos i-vel van, ha mar mindenaron Angolul akarsz koszonni...
Lehet félreérthetően fogalmaztam. Úgy akarom használni az analóg portot, hogy 4 lábára kötök egy potit az ADC-nek, a maradék 4-et pedig digitális kimenetként használom.
És a ledes meghajtást N-es tranzisztorral csinálhatom úgy, mint a csatolt képen?
Azt minden gond nélkül megteheted, hogy analóg / digitet egyszerre használsz. Annyi a lényeg, hogy nézd meg az adott procinál, van-e DIDR regiszter. Mert akkor külön kell engedélyezni hogy melyik PIN-en van analóg / digitális.
Így ne hajtsd a LED-eket. NPN tranyót így ne használd! Mellékeltem az előbb a rajzot, hogy hajtsd.
Persze. 10K esetén ugye maximum durván számolva 12/10000 = 1,2mA. Ha nagyon gyorsan kell ki-be kapcsolni, vagy esetleg nagyobb áramokat, akkor inkább 4K7 - 1K környéki ellenállást tegyél bele. Meg kell növelni akkor a bázis áramot kikapcsoláskor, hogy gyorsabban zárjon le.
PWM-es vezérlés lesz, tehát gyorsan kell ki-be kapcsolnia
Idézet: „Mit nem értesz a kérdésen?” Szerintem ez nekem iranyult, mert en nem ertettem Idézet: „Kérdés:A cpp31-ben használt c-programozási nyelvem elegendő az avr programozáshoz?” Egyreszt, hogy mi az a cpp31? Borland C++ 3.1 akar lenni? Masreszt, hogy a "c-programozási nyelvem" az "c-programozási gyakorlatom" akar lenni?
Sziasztok! Megakadtam az ATmega8-as PWM moduljának a beindításánál! A segítségeteket kérném
Mi lehet a baj? Néztem mintaprogikat és ennél több nem volt beállítva bennük... Segítséget előre is köszönöm! Üdv: Sunci csatolva a .c fájl
Van valami adat arról valahol, hogy egy Analóg bemenet mérése mennyi ideig tart?
Adatlap.
13 órajel a mérés, az első beállás kb. 25 órajelnyi. A 10bites felbontashot 200kHz-s órajel tartozik.
Értem akkor ezek szerint a proci indulásánál egyet érdemes mérni utána már stabil.
A mérés közben a megszakítások működnek vagy leállítja őket?
AVR USB-CAN
Ezt kellene megcsinálnom. CANOpen-t csinálok PIC24-re. Megrögzött PIC-es vagyok, de "szűklátóköröm" most akadályokat teremtett. Nincs mivel beprogiznom, és amikor december végén 10 napra hazajövök, csak arra lesz időm hogy a kész chip-et bepakoljam egy panelra. Kérdés: Tudna e valaki nekem segíteni ebben? Afgánba vagyok, nem tudok vásárolni meg semmi, de ha valaki akárhonnan beszerezné az AVR-t beprogramozná, és postán elküldené haza, a bejárónőm rendezné, illetve én is képes vagyok bármikor bárkinek a költségeit és fáradozásást banki átutalással megtéríteni. A többit magánba kérném, ha van vállalkozó segítő szellemű. Köszönöm: Simi
AVR.
A fenti linkből kiderül. Diagnosztikai-adatküldő cucc kell PC-re nekem, és ez ami a linkben van AVR. Ez a baj. Én meg PIC-es vagyok, tehát elakadtam és ezért írtam ide. Csak vázoltam a gondomat. S.
Most egy új problémába ütköztem.
Miután inicializáltam a pwm-et, hiába állítom mind a három csatornán nullára a komparálási szintet, mégis világít halványan az rgb led. Mitől lehet ez? Egy mega16-ról van szó
Próbáltam szerkeszteni, de így maradt.
Az escape (illetve annak a hiánya) miatt elég érdekesen néz ki a kód.
C kódot így szurj be:
(code=c)kód(/code) persze szögletes zárójelekkel.
Nem csak forraskod hiba lehet. Lehet hogy nem zar le (idoben?) a meghajto fokozat. Szkoppal ramerni.
|
Bejelentkezés
Hirdetés |