Fórum témák
» Több friss téma |
Na siker!
a PIC12F1840-es adatlapját letöltöttem, az Adobe Reader keresőjébe beírtam, hogy "temperature" és teljes siker koronázta. Köszi a segítséget mindenkinek!
Igen benne van a hex, holnap nyílik lehetőségem az EEPROM terület kitöltésére, gondolom a kezdő címtől kezdjem el a kitöltést. És majd az android oldalon beállítandó URL-t amivel tulajdonképp azonosítom az android számára az eszközt azt hol fogom megtalálni?
Köszönöm a segítséged!
A 00-03 címre kerül, hogy mi legyen az eszköz IP címe. Ezt kell az androidon használni. Bővebben: Link a lap alján.
Senki?
Sziasztok! Szeretnék segítséget kérni egy legegyszerűbb "bíp" jelzőhang létrehozásával kapcsolatban,amit később egy programban bármikor meghívhatok majd.A PIC-em 16f887-es,és a hangszóró egy kondin keresztül a D2-es lábra van kötve.Meg is szólal,de a neten található késleltetés kalkulátort használva,az én 4Mhz-es órajelemmel csak egy brummogásig tudok elmenni,én pedig egy magasabb hangot szeretnék kicsiholni belőle.Kezdő vagyok,ezt a programot sikerült összehoznom eddig,de az is lehet,hogy már az elv is rossz ahogyan a port ki-be kapcsolásával szeretnék hangot előállítani...A válaszokat előre is köszönöm!
PZ LIST P=16F887 #include <p16F887.inc> __CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC __CONFIG _CONFIG2, _WRT_OFF & _BOR21V cblock 0x20 d1 endc org 0x0000 banksel TRISD bcf TRISD,2 banksel PORTD bsf PORTD,2 Delay0 decfsz d1, f goto Delay0 bcf PORTD,2 Delay1 decfsz d1, f goto Delay1 end
Szia!
Maga az elv jó lenne, de ez így csak 1-szer kapcsolja be és 1-szer ki a hangszórót, majd újraindul ( hacsak nincs valami programszemeted a memóriában ! ), azaz a be-kikapcsolást ( a késleltetésekkel ) TÖBBSZÖR ! meg kell csinálnod ! Célszerű még a d1-nek kezdőértéket is adni majd később, de ettől működik... ! Legközelebb használd a kód gombot ! A hozzászólás módosítva: Márc 5, 2015
Szia!
Köszönöm a gyors választ! A program most is újra,és újra indul,hiszen folyamatos brummogást hallok,vagy rosszul gondolom?
Ja! Vagy kéne egy "start" a program elejére,és a végére egy "goto start" ?
Esetleg így:
Használd te is a KÓD gombot!
Köszi értem szóval a cikkben azok a hexadecimális címeket jelölik, viszont még mindig nem értem hogy majd azokra a helyekre ahova az IP-cím, Alapértelmezett átjáró, DNS-kiszolgáló, Alhálózati-maszk, MAC-cím, fog kerülni milyen adatokat vigyek be,tehát mi lesz az IP, Alapértelmezett átjáró stb. Én eddig úgy tudtam hogy a router osztja ki az IP címet az eszközöknek, és most én írjak egy random címet? Vagy mi fogja ezt meghatározni hogy mi legyen az IP és a többi? vagy az eszközöknek a fizikai címe a MAC ami mellesleg ennél az ENC vezérlőnél nincs is feltüntetve, mert szoftveresen állítható ha jól értelmeztem az adatlapján. Szóval honnan fogom én megszerezni ezeket az adatokat? Például az alhálózati maszknál a routerben is fellelhető 255.255.255.0-öt adjam meg?
Csak annyi lenen a célom hogy egy LAN-kábellel a routerhez kapcsolva az eszközt tudjam kapcsolgatni a D portokat, meg figyelni a B portot azzal az android alkalmazással, de sajna nem vagyok tisztába a hálózatépítéssel. Köszi!
A 26. sorból nem hiányzik egy RETURN?
Köszönöm!
Igen,ez a verzió is tökéletes a "return"-al kiegészítve... Az előző verziót is kiegészítve a "starttal",és a "goto starttal",máris megemelkedett a frekvencia.Már "beep"-nek hallatszik.. A d1-nek hogyan tudok kezdőértéket adni? A hozzászólás módosítva: Márc 5, 2015
Még a Delay0 és a Delay1 előtt, a 200 helyett bármi 0...255 -ig A hozzászólás módosítva: Márc 5, 2015
Köszönöm! Már működik is ezzel kiegészítve,és teljesen új hangmagasságok nyíltak meg előttem..
Esetleg van egy linketek arról,ahol az elméletnek utánanézhetek? Gondolok itt a d1-re,a d1-hez történő értékadás,és az időzítés összefüggéseire..Remélem nem túl amatőr kérdés...
Nem biztos, hogy ez le van írva valahol, de lényege annyi, hogy a késleltető rutin addig tart amíg a d1 értéke nem lesz 0. Ugyebár minél kisebb kezdőértéket adsz neki annál rövidebb lesz a késleltetés. Ha mondjuk 4 MHz-es órajellel megy a PIC, akkor másodpercenként egymillió utasítást hajt végre. Tehát egy utasítás 10^-6 másodpercet vesz igénybe. Ha a d1 kezdőértékének 1-et adsz akkor 1×10^-6, ha 255-öt akkor 2,55×10^-4 másodperc lesz a késeltetés.
Remélem nem írtam semmi hülyeséget.
A router akkor ad IP címet, ha azt a hozzá csatlakozott eszköz kéri. Jelen esetben nem erről van szó, így a routeren meg kell nézni, hogy milyen címeket osztogat, és annak tartományán kívül kell keresni valamit ami nyugodtan lehet véletlenszerű, a Te szóhasználatoddal élve random.
Alhálózati maszk az, amit a routerből kiolvastál (255.255.255.0 = 0xFF.0xFF.0xFF.0x00) A router címét kell beírni az átjáró címére, lévén a kettő valószínűleg ugyanaz. A MAC cím lehet bármi, csak ne legyen olyan a hálózaton. A DNS kiszolgáló lehet a router címe.
Köszönöm! Pont erre voltam kíváncsi,így már összeért pár dolog a fejemben...
Idézet: „Remélem nem írtam semmi hülyeséget.” Nagyjából jó, de a DECFSZ nem mindig egy gépi ciklus, tehát nem mindig 1 us-ig tart , hanem 1v2 us-ig --> ezért jó, ha szimulálja peze, mert akkor pontosan megkapja az értéket! Ezt csak a teljesség kedvéért írtam, minimális eltérést okoz a mostani példában !
Bocsi de lemaradtam az elejéről. Valami konkrét célod van ezzel, vagy csak hangokat akarsz létrehozni?
Mert proramhatékonyan a PWM programozható időzítőjének megszakításban való üzemeltetésével sokkal többet érsz el. Állítsd be az időzítőt programmegszakításra, a megszakítási rutinban BTG- vel billegtesd a kívánt kimenetet. Az inícializálásnál állítsd a kitöltési tényezőt maximumra, a programban meg váltogasd a periódusidőt.
Várjál már, még most kezdi a programozást a LED villogtatással, ill. kimenetek KI-BE kapcsolgatásával! Itt még erős a PWM, megszakítás, stb.... , egyébként nagyon helyesen csinálja szerintem! !
A hozzászólás módosítva: Márc 6, 2015
Sziasztok!
Szeretnék egy elektronikus dobókockát késziteni. Az lenne a kérdésem, hogy pic12f629-re, hogy irom meg a programot C-ben ami random dob ki egy számot 1-től 6-ig? Nem kell az egész program, csak az a kis kódrész. Köszönöm a segitséget előre is.
Köszönöm!
De ez 16-os család, nekem 12-es van, és fórumokon csak assemby-ben találtam meg, nekem pedig C-ben kellene...
Szia,
Meg lehet oldani egyszerűbben is. Indíts el egy timert belső órajelről, minél nagyobb sebességgel és amikor lenyomod a gombot csak kiolvasod az értékét, elosztod hattal és a maradék +1 -et kijelzed.
A számítástechnikában nincs véletlenszám. Ciklikusan futó számláló van, amit abban a pillanatban olvasol ki, amikor lenyomod a gombot.
Igen, pontosan ezt javasoltam. Annak idején én is így csináltam dobókockát.
Köszönöm a segítségedet,de egyelőre még tényleg csak ismerkedek a programozással..
Nincs konkrét célom a hanggal,csak alap dolgokat próbálgatok.Mondjuk ha megnyomok egy gombot, akkor egy led felgyulladjon,majd megszólaljon időzítve egy hang....Amit tanácsoltál,azt még csak szeretném érteni,bár már hallottam PWM-ről.. |
Bejelentkezés
Hirdetés |