Fórum témák
» Több friss téma |
Szia!
Az adatláb 4,7Kohm-al fel van húzva a Vdd-re és mérhető is rajta a szenzor nélkül az 5 V. A szenzor beépítése után 4.3 V mérhető. Olyan mintha terhelve volna. Lehetséges, hogy a szenzor hibás (ALIEXPRESS)? Vettem 5bd-t eddig 4 ugyanezt produkálta.
Tárolós szkóppal nézz rá az adatvonalra, egyből látni fogod, hogy mi nem jó.
Ha nincsen tárolós szkóp, a PIC szoftverébe be is lehet rakni az egyes kommunikációs fázisoknak a figyelését és debug információ kiiratását pl. uartra. Érdemes megnézni a DHT22 angol nyelvű adatlapját, mert tényleg nagyon egyszerű a protokoll. - adat vonal magas szinten - lehúzod min. 1ms-re low szintre - elengeded a lehúzást és vársz 20-40 us-t. Ekkor az adatvolnal magas szinten kell legyen. - a DHT lehúzza az adatvonalat (80 us) - a DHT felhúzza az adatvonalat (80 us) Amiket leírtam, azokat mind tudod ellenőrizni szkóppal, vagy debug kóddal. Ezt érdemes is lenne megtenni, mert ezek a hibakeresés első lépései.
Szia!
Most már megy a rendszer. A program nem volt megfelelő, nem kezelte korrekt módon az időket, de most már jónak tűnik. Az áramkört, tárolós szkóp hiányában analizátorral vizsgáltam, amit alább mutattok meg.
Sziasztok!
Hangot szeretnék kicsalni egy 12F683picből de nem jön ki.
Nem jön ki hang A hozzászólás módosítva: Márc 1, 2024
Az OSCCON beállítása megtörtént a 113-mal:"0111001" beállítással
bit 6-4 IRCF<2:0>: Internal Oscillator Frequency bits 111 = 8 MHz bit 3 OSTS: Oscillator Start-up Time-out Status bit (1) 0 = Device is running the internal oscillator (HFINTOSC or LFINTOSC) bit 2 HTS: HFINTOSC Status bit (High Frequency – 8 MHz to 125 kHz) 0 = HFINTOSC is not stable bit 1 LTS: LFINTOSC Stable bit (Low Frequency – 31 kHz) 0 = LFINTOSC is not stable bit 0 SCS: System Clock bit 1 = Internal oscillator is used for system clock
A config word-ben az FOSC mire van állítva?
100 kellene ahhoz, hogy a GP4 és GP5 IO-nak használható legyen. Szerintem az OSCCON.SCS = 1 kevés ehhez.
Köszönöm szépen! Kijön a hang a picből.
Sziasztok!
Megint bajom támadt a 12F683-mal. Nem tudok megszakítást produkálni. A config word 0FD4, ami 8MHz belső oszcillátort állít be.
Nem tudom hol hibáztam?
Hali!
Attól hogy írtál egy void Interrupt() függvényt, még nem fog automatikusan odaugrani int. esetén. Nézd meg a Te fordítódnál hogyan kell pontosan megadni... Valami hasonló: void __interrupt() isr(void) //mplabx static void interrupt isr(void) //mplab
Lehet csak annyi a baj hogy nagy kezdőbetűvel írtad?
https://download.mikroe.com/documents/compilers/mikroc/pic/help/int...ts.htm Nem ismerem a mikroc-t, bocs ha hülyeséget írok
Sziasztok!
Sikerült megszakítást kicsiholni picből de a megszakítás mintegy 7sec múlva indul el. Utána rendesen megy. Van rá magyarázat?
És a "rendben" sincs rendben, mert nem kap kezdőértéket....
A változók deklarálásánál kapnak 0 értéket és így már rendben.
12f683Sziasztok! Hogyan tudom a configuration bits beállítását megoldani, 12f683 pic esetében. A konkrét kérdés: hogyan állíthatom be a rendszert, hogy a GP5 és GP4 szabványos I/O -ként működjön, vagyis az oscillátor INTOSCIO-ra legyen állítva?
Szia.
Project azon belül az Edit Project.. és a megnyíló ablakban be tudod állítani a kívánt dolgokat. MicroCSziasztok!Eddig a program írásához az MPLAB X IDE felületet használtam, de azt hallottam, hogy a MicroC Pro for PIC jobb választás volna, mert sok példaprogram van benne, a könyvtára nagyon hasznos. Feltelepítettem és a a fájlba bemásoltam az MPLAB-ban megírt c programot. Ekkor ezzel a két sorral nem tudott mit kezdeni: #include <xc.h> #include <pic.h> Ezek szerint nem olyan egyszerű a váltás a két programozói felület között, vagy ezt át lehet hidalni? Sajnos itt nem fordítódik le az a program C-ben, amit az MPLAB elfogadott. Mit lehet ilyenkor tenni? Köszönöm!!
Konkrét tapasztalat nélkül... Nem kellene beállítani a fordító mappáit a PATH-ba?
Általában egyik C-ben megírt program sem fordítható le egy másik C-ben... Hiába vannak a C* szabványok, maguk az utasítások kompatibilisek, de a spec dolgokhoz, egyszerűbb elérésekhez a fordítókhoz mellékelnek include *.h fájlokat, amikben előre megírt definícíók, makró utasítások vannak, ezek viszont eltérhetnek a különböző C fordítókban. Ha áttérsz egyik fordítóról a másikra akkor "portolnod" kell a programot, ezeket a "nem leforduló" dolgokat/definiciókat létre kell hoznod/korrigálnod. Szóval ha áttérsz microc-re akkor keress abban minta/példaprogramot.
Az xc.h és a pic.h-ban általában a pic tipusfüggő definiciók, makrók vannak, nézd meg a microc-ben, milyen névvel includolnak... Ezért kár volt új témát nyitni, min 3 létező topicban is kérdezhetnél A hozzászólás módosítva: Pé, 23:14
Amit az utóbbi pár évben csináltak, a katasztrófával volt egyenértékű. Nem is értem, hogyan maradt életben a cég. Volt egy jól működő környezetük, bevágták a sarokba és kihoztak egy új rendszert, agyig tömve hibákkal, hiányosságokkal, pl. évekig nem támogadta a megszakításokat, az új Necto-ra váltás fizetős mindenkinek stb.
Beszédes ez a fórumtéma (is): Bővebben: Link. De ha jobban körbenézel a fórumukon láthatod, hogy sokszor a mE alkalmazottak hárítanak, mellébeszélnek, terelnek (pl. tudjuk, hogy nem működik, rajta vagyunk a dolgon). Nem tudom hol hallottad hogy jobb, én nem nagyon eröltetném. Idézet: Átírni a programot az új fordító nyelvére. „Sajnos itt nem fordítódik le az a program C-ben, amit az MPLAB elfogadott. Mit lehet ilyenkor tenni?”
Köszönöm, akkor hagyom. Az előzőt már nagyjából megszoktam, ennek csak a könyvtára volt csábító. És az MPLAB-ban a szimulátorban a gombok szimulálását nem tudom használni, gondoltam itt hátha...
De akkor elfelejtem. Köszönöm! A hozzászólás módosítva: Pé, 23:35
Ha csak egy mód van rá, igazi hardveren teszteld a programot. A szimlulációban nem feltétlen működik minden úgy, ahogy a valóságban.
Könyvtárakat (igaz, alapszintűeket) tartalmaz az MPLAB is de magadnak is írhatsz, legalább tudni fogod, hogyan működik. |
Bejelentkezés
Hirdetés |