Fórum témák
» Több friss téma |
Köszi közben rájöttem hogy mit is szeretnék pontosan, ezt is már kerestem de ami a lényeg, hogy belsö oscillatorral valahogy pontositani egy deley értéket, gondolok arra hogy amikor adok egy várakozást akkor az valoban addig várjon mint a beállitott idö. Ezt megtaláltam és köszönöm.
Sziasztok még két kérdés, a kapcsoló ha wait until high beállitásnál megáll a program vagy az elötte lévö részt futtatja, mikor leforditom C-re akkor irkál egy csomo sallangot ezek nem befolxásolják a kapacitást és ha igen akkr csak kézzel lehet kitörölni vagy van valami beállitás?
Mire gondolsz pontosan ?
Egy sima ReadState és Wait közt C-ben nem sok különbség van FCD_SWITCH0_WaitUntilHigh(); FCV_C = FCD_SWITCH0_ReadState(); Többi ugyan az mindkét esetben.
Ha módosítod a C fájlt mással forditsd hex-re mert a flow a hex forditással a C-t is újra létrehozza. Az lehet sallang, hogy a C-ben a WaitUntilHigh() függvény mellett a WaitUntilLow(); is forditásra kerül.
Én arra gondoltam hogy a wait az megállitja a programot vagy csak beolvassa az aktuális álapotot.
Program várakozik, tehát ami ez után van a sorban az nem hajtódik végre, kivétel a megszakítások.
Ezt kéne betegyem a programba:
// Timer0 Registers:// 16-Bit Mode; Prescaler=1:4; TMRH Preset=3C; TMRL Preset=B0; Freq=100,00Hz; Period=10,00 ms T0CON.TMR0ON := 1;// Timer0 On/Off Control bit:1=Enables Timer0 / 0=Stops Timer0 T0CON.T08BIT := 0;// Timer0 8-bit/16-bit Control bit: 1=8-bit timer/counter / 0=16-bit timer/counter T0CON.T0CS := 0;// TMR0 Clock Source Select bit: 0=Internal Clock (CLKO) / 1=Transition on T0CKI pin T0CON.T0SE := 0;// TMR0 Source Edge Select bit: 0=low/high / 1=high/low T0CON.PSA := 0;// Prescaler Assignment bit: 0=Prescaler is assigned; 1=NOT assigned/bypassed T0CON.T0PS2 := 0;// bits 2-0 PS2: PS0: Prescaler Select bits T0CON.T0PS1 := 0; T0CON.T0PS0 := 1; TMR0H := $3C; // preset for Timer0 MSB register TMR0L := $B0; // preset for Timer0 LSB register Hogyan tegyem? A hozzászólás módosítva: Nov 17, 2012
És kész ..
A hozzászólás módosítva: Nov 17, 2012
Eddig kész, de utána mit szeretnél? Mert az utolsó két sor a TMR0 kezdő értékkel való feltöltése. Ez valószínű azért van, hogy beállítsák a pontos megszakítások időtartamát. Viszont akkor neked a Timer0 megszakításban ezt újra és újra meg kell tenned, különben csak az első megszakítás lesz pontos. Egyébként milyen PIC-et használsz?
A hozzászólás módosítva: Nov 18, 2012
Jól látod. 10ms-onként kell egy megszakítás. Amit számolok 0-tól 99-ig egy tárolóban majd ismét 0. Ez egy szoftveres PWM lenne. Fűtésszabályozás.
16F628A lesz a PIC. A hozzászólás módosítva: Nov 18, 2012
Akkor gáz van, mert a 628-ban a Timer0 csak 8 bites!
Nekem 16F628-ban is mukodik a program, tehat lehet 8 bites TMR0-t is hasznalni. Probald meg ertelmezni amit tegnap feltettem.
Avval én is megpróbálkoznék , ha találsz működő példát szívesen látnám .
Most kicsit kiszállok. Készen van a 18F2550 próbapanelem. Égetem hozzá a PIC-ket.
Hany fokon szeretnel szabalyozni? Mert a tojassutohoz tudok adni hexet. A tegnapi rajzhoz.
Sziasztok!
Kód-optimalizálásban kérném becses segítségeteket! Elkészült a program, de a fordításkor derült ki, hogy 74 szóval hosszabb, mint ami belefér a választott PIC-be. (Ez már a sokadik változat, már - amennyire tudtam - lerövidítettem a kódot, de ennél jobban nem sikerült.) Kérem, ha valaki tud, legyen szíves, és segítsen! Előre is köszönöm.
Persze, csak ha így beilleszti a 628-hoz, akkor nem fordul le. Egyébként 8 bites számláló is elég lenne.
Van 1wire blokk, elvileg jó ehhez a hőmérőhöz is. A mostani projectemben is lesz pár darab.
Apríték égetőben utazol? Akkor ismerjük egymást másik fórumból... ?
Minek szoftveres PWM, mikor van a 628A-ban CCP modul? A hozzászólás módosítva: Nov 18, 2012
Én próbátam már vagy 5-6 féle példát de nálam egyik sem indult
MŰKÖDIK!!!
Megépítettem a PIC18F2550 Trainer modult. Egy korábbi égetővel és a WPB_F18_F16_F12_v1.32b program segítségével betöltöttem az USB HID programot. Ezután az USB Bootloader 2.90a segítségével egy sebtében összedobott LED villogtatót töltöttem bele. S láss csodát mukogy. Köszönöm neked a sok türelmet, segítséget, magyarázatot.
Még vennem kell pár alkatrészt, ha elérek odáig meg kell oldanom a dolgot, akkor majd kitárgyaljuk.
|
Bejelentkezés
Hirdetés |