Fórum témák
» Több friss téma |
Ahhoz még egy RC oszcillátor is megfelelne, de természetesen jó lesz kvarc is. A szoftvert meg gondolom Te írod.
Nem érdemes ennyire lelassítani. Maradjon a MHz -es tartományban. A TMR2 ás CCP modul segítségével csinálj egy 1/1000 -leosztást (Fosc = 4MHz, CCP megszakítás 1 ms -enként), és programmal számolva hozz létre egy1s -enként ismétlődő jeltést. Ennek felhasználásával lehet a nyagyobb, véletlenszerűen induló időzítéseket megcsinálni. Rengeteg funkció belepakolható ebbe a kontrollerbe: távvezérlési lehetőség DCC -vel, uarttal, infrával stb.
Sziasztok!
PIC12F683-at szeretnék égetni, de az Ic-prog-ban nem találom ezt a típust. Tudtok ajánlani más "egyszerű", kezdőnek való programot?
Én Watt programját használom. Az tudja. WPB_F18_F16_F12_v1.32b
Utána nézek, köszönöm.
Sziasztok!
XC8 fordítóval 256 elemű konstans tömböt szeretnék létrehozni úgy, hogy a fordító számolja ki az értékeket. A fordítót nem tudom rávenni sem függvények számítására, sem ciklus használatára. Ezzel próbálkoztam:
Létezik erre egyszerű megoldás?
Szia!
16F -re vagy 18F -re fordítasz? Az a baj, hogy a 256 elemű real int mérete 256 * 2 byte. A linker állományban gondoskodni kell ekkora egybefüggő területről. Csak 18F és Enhanced midrange kontrolleren van rá esély. Ez a táblázat 15 db 1 -est, aztán 11 db 2 -est, majd 7 db 3 -ast fog tartalmazni ?
Segítségre lenne szükségem.
Feladat: Van több állomás, az egyik a doboz allját adagolja a másik a tetőt a harmadik ezt a kettőt csavarja össze. Ha valamelyik lefogy akkor függetlenül egymástól utánaadagolja. Na most a programtervezés menetére vagyok kiváncsi nem pedig a megoldásra. Lényeg nekem hogy függetlenül egymástól csinálja ne várjanak egymásra. Köszönöm
A processzor PIC18F2321, hely az lenne.
De az alapműveleteken (+-*/) kívül nem tudok mást használni. Talán valamilyen beállítással van gond. Pl. a
sem működik. (too many function arguments és constant expression required) A másik problémám ezzel kapcsolatban, hogy nem tudom hogyan lehet ciklust létrehozni makróval, ami a tömb elemeit létrehozza. Assembly-ben ilyesmire emlékszem:
Bocs, a kérdésre nem válaszoltam: igen.
(A táblázat 256 elemű, az értékek exponenciálisan növekednek. Az első 1, az utolsó pedig 65535. Minden elem értéke az előzőnek 1.044451 szerese. Ismétlődések vannak benne, mert 16 lépéssel fentebb lesz mindig kétszeres, így az első 15, az mind 1.)
Gondolom, ez valamilyen szalagon működik. Csak tipp: programmegszakítással oldanám meg és nem azt nézném, hogy valamelyik elfogy, hanem azt, hogy a feltöltési idő figyelembevételével kevés.
Nincs mit összecsavarni, ha valamelyik hiányzik.
A "too many function arguments" azt jelenti, hogy túl sok paramétert adtál meg a függvénynek, jelen esetben kettőt: 2 és 2. Angolszász nyelvterületen a tizedeseket ponttal választják el egymástól, gondolom emiatt is lett a C-ben a függvényparaméter elválasztó vessző. Tehát exp(2.2); és valószínűleg a constant expression required-et is megoldja.
C-ben makrót a #define-nal lehet létrehozni, de szerintem itt nem makrózni kéne, egyszerűen csak írj egy ciklust. Amennyiben sokszor felhasználnád a ciklust, akkor pedig függvény. Ha mégis makróznál, akkor pl. #define add(a,b) (a+b) alakban teheted meg. Kiegészítés: ha a const-ot flash-ben akarod tárolni, az mplab c18-ban akkor azt const rom-nak kellett megadni, nem tudom, xc8-ban is így kell-e, illetve az exp() rom-ra valószínűleg nem fog működni, mert hó jól látom, futásidőben működik.
Sziasztok,
Mplab / mplabx kezeléshez lenne szükségem tanácsra. Megnyitott projectben van egy #define az egyik headerben. Szeretném látni, hol van rá hivatkozás a projectben, hol / hány helyen van felhasználva az értéke. Van ilyen lehetőség akár mplab akár mplabX alatt? Köszönöm
Igen van MPLAB X-ben. Jobb klikk a define-olt dologra és Find usage. Ezt mindennel meg lehet csinálni: változókkal, függvényekkel, headrekkel stb.
A hozzászólás módosítva: Jún 3, 2013
Közben elolvastam a többi hozzászólásod is
Ha nem ragaszkodsz a const tömbhöz, viszonylag könnyen abszolválható a dolog:
Ha jól értettem, amit írtál, akkor a fenti kód elvileg azt csinálja, amit szeretnél, csak nem fordítás- hanem futásidőben. Fordításidőben valószínűleg nem lehet megcsinálni, de megcáfolhattok A hozzászólás módosítva: Jún 3, 2013
Ugyanakkor Control + Shift + F az egész projektben keres
A PIC18F2321-ben 512 byte RAM van, így csak konstans tömb jöhet számításba.
Fix értékekkel - pl. excelből - létre tudom hozni, de mindezt az assemblernek is tudnia kéne. Például a
nem elegáns, de XC16-ban működik, XC8-ban nem. A hozzászólás módosítva: Jún 3, 2013
A
működik és excelből vágólappal átrakható. De nem elegáns
Köszönöm! Ezt elnéztem, mert a hatványozás nem exp(x,y), hanem pow(x,y)
Ugyan rs232 kérdés, de pic-relatív dolgot érint. Kellene csinálnom egy olyat, hogy rs232-ről táplálni egy pic-es áramkört, és még hajtani meg vissza irányban az rs232-t is. Ezzel kapcsolatban fontolgatom azt, hogy mennyi áramot lehet statikusan "lelopni" egy rs232-ről (ofc, nem optoelektronikusan leválasztott túloldal lesz).
Ha valaki még emlékszik olyan hatérértékekre, milyen áramokkal volt szokás egy JDM égetőt megterhelni statikusan, vagy van valahol egy ezt is érintő blog, hasznos segítség lenne.
Adatlapot átböngészve más jobb ha nem számít ekkora áramra..
Legrosszabb esetben egy 3mA lehet szükséges. Filozom az alacsonyabbra szorításán, de vagy sikerül, vagy nem.
Idézet: „hajtani meg vissza irányban az rs232-t is” Ne csak a belső fogyasztással számolj. Ha 1lábat meg akarsz hajtani az eleve 1mA, de esetleg több is lehet. vonalanként.
Oké, ez egy kicsike magyarázatra szorul. Csak azért, mert kimenetre programozok egy lábat, és üresben hagyom utána (be sem kötöm), már egy egész mA ?
Nem a PIC hanem az RS232 csatlakozó lába!
Ha a mellékelthez hasonló táp-megoldásban gondolkododol. - pl ha 3kohm-ot kell meghajtanod 4V-al rs232-at rx-data lábon az kapásból >1mA fogyasztás a PIC táplábán. (ha csak ttl jelszintel hajtod, nem szabványossal) - tápot pedig előállítani olyan lábakról akarsz amik rövidzárban tudnak csak kiadni 7mA-t. (Adatlap pirossal jelölt részei.) Ha 4V jut a PIC-nek már örülhetsz. Ha jól értettem a PIC egy RS232 vonalról kapná a vezérlést és a tápot, és RS232-n küldené vissza a visszajelzéseket. Ha valamit rosszul értettem szólj.
Mplabx alap kérdés. Csinálok új projectet (File / New Project... / Microchip Embedded / Standalone Project), proci mx795, tool pickit3, compiler xc32, elnevezem a projectet, <finish>. Semmi source meg ilyesmi még nincs, de initializing után azonnal ami fogad:
Idézet: „info: Configuration "XC32_PIC32MX795F512L" will build with toolchain "XC32" at "C:\Program Files (x86)\Microchip\xc32\v1.21\bin". info: Configuration "XC32_PIC32MX460F512L" will build with toolchain "XC32" at "C:\Program Files (x86)\Microchip\xc32\v1.21\bin". info: Configuration "XC32_PIC32MX360F512L" will build with toolchain "XC32" at "C:\Program Files (x86)\Microchip\xc32\v1.21\bin". info: Configuration "XC32_PIC32MX110F016B" will build with toolchain "XC32" at "C:\Program Files (x86)\Microchip\xc32\v1.21\bin". error: Configuration "C32_PIC32MX795F512L" builds with "C32", but no toolchains of that type are installed. Errors have occurred while loading one or more configurations. If a specific error is not shown above, this may happen when you import a project from another computer. + You can add language tools in Tools->Options embedded tab. + You can change which language tool to use in the project properties dialog. error: Configuration "C32_PIC32MX795F512L" builds with "C32", but no toolchains of that type are installed. Errors have occurred while loading one or more configurations. If a specific error is not shown above, this may happen when you import a project from another computer. + You can add language tools in Tools->Options embedded tab. + You can change which language tool to use in the project properties dialog. ” Miért keresgel mx795 helyett barmi mas procira? Miert akar c32-t hasznalni? A hozzászólás módosítva: Jún 4, 2013
|
Bejelentkezés
Hirdetés |