Fórum témák
» Több friss téma |
Az includeban át tudom írni pic16f716-ra?
Sosem fejlesztettem a 16-os szériára, így erre nem tudok válaszolni.
Csak azt tudom, hogy a bankváltások miatt mindeképp bonyolódik.
Köszönöm Szépen! Még úgy látom sokat kell olvasnom erről a témáról.
Nem elég az include -ban átírni a típust.
A két típus adatlapját összehasonlítva a következő eltérések miatt a programot is át kell írni - 10F322 PWM modul van, a 16F716 -ban pedig CCP modul - 10F322 a kérdéses regiszterek a Bank0 -ban vannak, a16F716 -ban néhány a Bank1 -ben (OPTION_REG, PR2) - 10F322 -ben a GPR terület a 0x40 címtől van, a 16F716 -ban 0x20 -tól. - A PWM1 kimenet a 10F322 esetében a RA0, a 16F716 esetében a CCP1 A kimenete a RB3 lábon van. - A 10F322 -ben van belső oszcillátor, a 16F716 -ban nincs. Egyszóval van mit átdolgozni. A hozzászólás módosítva: Márc 1, 2021
Sziasztok!
Mit jelent a PIC nevei után a I/PT, E/PT, E/SS...stb? Azt tudom hogy a tokozáshoz van valami köze de nem tudom pontosan hogy mit jelentenek a többi jelzések. Az adatlapon sem találtam rá, van erre valahol valami táblázat? Előre is köszi.
Az első a hőtűrés tartománya (I- industrial, M-military, stb) utána a tokozás kivitele.
Adatlapjának a végén megtalálod.
Sziasztok
Pic 12F683-nál, mivel állítom be, hogy a bemenet digitális legyen? Pl gpio.0 Most ezek a beállítások vannak:
10k-s ellenállás nem tudja felhúzni 5V-ra, gondolom, még mindig nem digitális.
TRISIO regisztert nézd meg.
A hozzászólás módosítva: Márc 4, 2021
Az be van állítva bemenetre és működik is bemenetként, de egy 10k-s ellenállás nem képes felhúzni 5V-ra.
Ha direktre kötöm 5V-ra vagy (-) -ra akkor normálisan működik
Én nem vágom ezt a nyelvet, de ez így lefordul normálisan? Hol kis, hol nagybetű... Esetleg tedd fel a hex-et, megnézzük visszafordítva mit mutat.
Ha ez a kettő és a TRISIO be van állítva akkor mennie kellene. Nem lóg más alkatrész a lábon? Ez programozó láb is. Programozó sem volt rádugva mikor mérted?
A hozzászólás módosítva: Márc 4, 2021
Sziasztok!
Ennél a PIC leírásánál mit jelent a "cse160"? Idézet: „ 44 TQFP 10x10x1mm cse160 64KB, Flash, 3968bytes-RAM,8-bit Family ” Van ahol cse1200 van meg olyan is ahol cse10 de nem tudom mit jelent. A hozzászólás módosítva: Márc 4, 2021
Sziasztok!
A 8 bites bináris szorzást nem lehet valahogy megoldani valami bit forgatással vagy shifteléssel? Papíron meg tudom csinálni de elég sok lépésből, valami egyszerűbb megoldást keresek assemblyben. A 16 bites szorzás is érdekel de lehet hogy elég csak az algoritmus, az alapján talán össze tudom valahogy tákolni a progit. Előre is köszi a segítséget! Kettesével megy a szorzás amit csak shiftelni kell. de például páratlan számmal már nem nagyon. A hozzászólás módosítva: Márc 4, 2021
Itt találsz sok mindent: Bővebben: Link
Idézet: „A 8 bites bináris szorzást nem lehet valahogy megoldani valami bit forgatással vagy shifteléssel?” (PIC18) Assembly programozás haladóknak A fejezet tartalma: Szorzás - 4 bites előjel nélküli számok szorzása - 8 bites előjel nélküli számok szorzása - Hardveres szorzás (mulwf és mullw) - 16 bites előjel nélküli számok szorzása Előjeles szorzás - 8 bites előjeles számok szorzása - 16 bites előjeles számok szorzása Osztás - Előjel nélküli számok osztása - Előjeles számok osztása Makrók használata - Kiterjesztett pontosságú értékadás makróhívással (macro1.asm) - Logika léptetés makróhívással (macro2.asm) - Címkék használata makrókban (div32_32u.asm) - Számozott címkék használata makrókban (for-next.asm) A hozzászólás módosítva: Márc 5, 2021
Sziasztok!
Egy kis segítséget szeretnék kérni a Fail-Safe Clock Monitorral kapcsolatban. A PIC18F97J60 adatlapjának tanulmányozása közben akadtam rá, de nem értem teljesen pontosan a működését. Az világos, hogy a konfig-ban lehet bekapcsolni, és folyamatosan figyeli az elsődleges oszcillátort, hogy működik-e. Ha pedig engedélyezem a megfelelő bitekkel a hozzá tartozó megszakítást, akkor hiba esetén megszakítás generálódik, és ezzel kb egyidőben átkapcsol a belső oszcillátorra. Viszont az lenne a kérdésem, hogy amennyiben a külső oszcillátor helyreáll, akkor automatikusan "visszateszi" a PIC-et arra? Vagy ezt nekem kellene valahol beállítanom? Ha automatikusan visszaáll, akkor pedig ezt hol tudom nyomon követni? Van esetleg egy másik bit, amit figyelve megtudhatom, hogy már rendben a külső órajel/oszcillátor? Kb. ugyanez lenne a kérdésem a Two-Speed Start-up-pal kapcsolatban is... Azaz honnan tudom, hogy most már rendben van a primary oscillator, és arról ketyeg a processzor? Előre is köszönöm a választ!
Még egy gyors kérdés.
Lehet valahogy úgy shiftelni a regiszter értékeit hogy a leeső bitek hagyják ki a carryt de ne is jöjjenek vissza a másik oldalon? ![]() RRF, RRCF, RRNCF...STB nem jó. Olyan megoldást keresek hogyha shiftelek például jobbra, akkor a kihulló bitek tűnjenek el és balról csak nullák jöjjenek. Max. 8 shift után totál nulla legyen a regiszter. Hogy lehet ezt össze trükközni? Előre is köszi a segítséget!
Kontrollere válogatja. Egy tuti megoldás van, ami mindegyikre jó, az AND 0x7F.
Az adott kontroller utasításkészletét kell átfutni, ami mindegyik adatlapjában megtalálható
Arra nem gondoltál, hogy a forgatás előtt letörlöd a Carry bitet?
Balra léptetés mindig 0 -t léptetve be:
- addwf WREG , ha van lehetőség a WREG címzésére. - rlcf reg / bcf reg,0 - bcf STATUS, C / rlcf reg, f Jobbra - rrcf reg / bcf reg,7 - bcf STATUS, C / rrcf reg, f A hozzászólás módosítva: Márc 6, 2021
De igen, nemrég jutott eszembe
![]()
Azért az utasításkészletet Neked kellene átnézni, ha már programozol. Abban tüzetesen le van írva melyik mit tesz..
![]()
Köszi, de sajna nem jött át mire gondolsz. Végig néztem az adatlapon az utasításkészletet de nemsok újat találtam. Az FSR-ben a címen a _CPD_ON_5H van. Ezt viszont még nem tudom mit jelent.
Hp41C: köszönöm de nem értem. Ez csak hozzáadja W értékét és ha léptetem akkor semmi nem fog változni. Ha jobbra shiftelek akkor gyakorlatilag 2-vel osztódik az érték. Pl. a kezdő érték 65. Jobbra shift = 32. A 0. biten 1 van, az kihullik de a carry bit 1. Eddig még nincs gond, de a következő shiftnél az érték 16 lenne, de nem mert visszajön balról az 1. Amit proli007 mondott szerintem megoldható de mindjárt leírom rendesen mit is akarok elérni. |
Bejelentkezés
Hirdetés |