|
Tök mindegy, lehet a régi include fájlban hibásan benne volt, vagy a progi többféle procira is fordítható, az ember nem próbálta a forrást a te prociddal, így nem látta a hibát, stb...
megj.: a forrást nem ellenőriztem...
Számomra azért érdekes ez, mert kimondottan 18F2431-et emlegetnek mindenhol az oldalon, még a forrásba is ez van bele írva, és a panelbe is ezt a típust ültették.
Közben nagy nehezen sikerült lefordítanom az adott procira (nem tudom hogy.) A hozzászólás módosítva: Okt 4, 2020
A keresett regiszterekkel valóban rendelkezik a 18F2331 / 18F2431. A hibára a következő sor vezethetett:
A hivatkozott állomány nem szerepel a csomagban. Honnan tölti be? Mit tartalmaz?
Szia!
Ezt a fájlt én alapból az MPASM mappában megtaláltam, viszont ott sincsenek definiálva ezek az értékek. A 4431-ben viszont igen. Esetleg pakoljam a csomag mellé, és írjam át a nevét?
Ha jobban és több helyen is megnézem az adatlapot, találok ellentmondást:
A Data Memory Organization 6-1 táblában nem jelzi, hogy az ANSEL1 nincs 28 lábú tokon, de a 6-2 -ben az ANS8 bitnél már ott van a megjegyzés. A RE2 láb módját állítja, de az nincs a 28 lábú tokon.
A PDC3L/PDC3H esetében elnéztem, ott szerepel a megjegyzés.
A kérdéses regisztereket író utasításokat vedd körbe egy feltételes fordítási blokkal:
#ifdef __18F2431
movwf ANSEL1
#endif
..
#ifdef __18F2431
movwf PDC3H
#endif
..
#ifdef __18F2431
movwf PDC3L
#endif
Így jobb lesz:
#ifdef ANSEL1
movwf ANSEL1
#endif
..
#ifdef PDC3H
movwf PDC3H
#endif
..
#ifdef PDC3L
movwf PDC3L
#endif
A hozzászólás módosítva: Okt 4, 2020
Nos, a 3 hibát már nem írja. Most egészen mást hoz.
Közben nézegettem a RENESAS oldalát. Többféle motorvezérlést is gyártottak ugyan ezzel a mikrovezérlővel, érdekes módon viszont firmware-t csak ehhez az egy vezérlőhöz töltöttek fel. Gondolom, hogy ez egy amolyan "hibrid" program, minden vezérlőhöz jó.
Make: The target "C:\Users\scoob\Desktop\Software\HIP4086 Motor Drive (ver 2).o" is out of date.
Executing: "C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe" /q /p18F2431 "HIP4086 Motor Drive (ver 2).asm" /l"HIP4086 Motor Drive (ver 2).lst" /e"HIP4086 Motor Drive (ver 2).err" /d__DEBUG=1
Error[149] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS(VER 2).INC 46 : Directive only allowed when generating an object file
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 48 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 49 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 50 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 51 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 52 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 53 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 62 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 63 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 64 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 65 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 66 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 67 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 68 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 69 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 74 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 75 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 94 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 185 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 186 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 187 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 188 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 189 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 196 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 197 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 198 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 199 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 209 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 210 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 212 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 213 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 222 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 223 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 252 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 253 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 254 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 255 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 256 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 257 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 258 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 259 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 260 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 261 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error [180] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE PARAMETERS (VER 2). INC 262 : RES directive cannot reserve odd number of bytes in PIC18 absolute mode
Error[149] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE (VER 2).ASM 18 : Directive only allowed when generating an object file
Error[149] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE (VER 2).ASM 20 : Directive only allowed when generating an object file
Error[149] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE (VER 2).ASM 22 : Directive only allowed when generating an object file
Error[149] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE (VER 2).ASM 27 : Directive only allowed when generating an object file
Error[149] C:\USERS\SCOOB\DESKTOP\SOFTWARE\HIP4086 MOTOR DRIVE (VER 2).ASM 958 : Directive only allowed when generating an object file
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\Users\scoob\Desktop\Software\BLDC.mcp' failed.
Language tool versions: MPASMWIN.exe v5.51, mplink.exe v4.49, mplib.exe v4.49
Preprocessor symbol `__DEBUG' is defined.
Sun Oct 04 10:47:16 2020
----------------------------------------------------------------------
BUILD FAILED
A hozzászólás módosítva: Okt 4, 2020
Relokálható kódot fordits, ne absolute -ot. A hozzászólás módosítva: Okt 4, 2020
Igen, közben rájöttem. A módosításaiddal végül sikerült lefordítani a kódot, megszületett a .HEX file. Köszönöm szépen a segítségedet!
Viszont furdalja a csőrömet, hogy ha ez a PIC egyrészt nem 40, csak 28 lábú, és fizikailag nem rendelkezik ezekkel a portlábakkal, gyakorlatilag a regiszterekkel sem, akkor miért írták vajon bele a kódba? (Egyébként ki is lehetett volna törölni a sorokat?) A hozzászólás módosítva: Okt 4, 2020
A kapcsolási rajzon van az RE2 -re, az RD6 ill. RD7 -re kötve valami?
A "LOAD_PDC" rutin mind a 4 PWM kimenetet ugyan arra az értékre állítja.
A három fázisú motor a PWM0 .. 2 csatornákat használja, a PWM3 -et nem, így elegendő a 28 lábú tok is.
Rendben, köszönöm a segítséget. Akkor hagyom a programot is így, aztán ha meg lesz a vezérlő, kipróbálom, hogy mit sikerült alkotni.
Sziasztok!
Mplab-ban az órajelet hpl lehet beállítani-kikapcsolni? Egyáltalán van rá lehetőség, gondolok itt mint pl a Mikroc-ben.
Szia!
A Debugger menüpontban a StopWatch-hoz tartozik egy Setup, ott lehet az órajel ferekvenciáját beállítani és akkor ahhoz írja ki az időket ( sima MPLAB, nem MPLAB X !) !
Köszi az infót.
Azt hogyan tudom a programban beállítani hogy külső vagy belső oszcillátort használjon?
Ez a mikrokontroller típusától függ.
Van olyan kontroller, amelyiknél a program írásakor, a fordításkor lehet beállítani, és van olyan amelyiknél nem lehet szabadon választani. Lehet futás közben dinamikusan változtatni, vagy fixen, előre beállítani.
Kérdezz konkrétabban. Kontroller típus, fejlesztő környezet, miért kell ezt tudni? (A konkrét típus adatlapját kell átnyálazni, a precíz, mindenre kiterjedő válasz több oldal lehet.
Megjelent a Mac OS alá az MPLAB és az XC8 új (5.45) verziója. Feltelepítem, láss csodát jobb mint az előző.
Megszokom, hogy mindenhez, még a levegővételhez is kell psect.
Lefordul hiba nélkül.
A szimulátorban viszont úgy látszik PIC16F628A kód, mintha félig 16 bites lenne, vagy 8 bites.
Mindenesetre a kód fele nem látszik. movlw 23h majd NOP-ból 0023 látszik.
Túrom az internetet de semmi.
Van valakinek tippje? A hozzászólás módosítva: Okt 31, 2020
Sziasztok
MPLABX 5.40
Próbálok egy UART SCL stimulust de nem íródik be a regiszterbe.
Mit rontok el?
Már egy órája szórakozok vele de nem megy sajnos....
configuration for "dspic33ch128mp502" is
end configuration;
testbench for "dspic33ch128mp502" is
begin
// Pin/Register Actions
process is
begin
wait for 5000 ms;
report "Stimulus kezd";
U1RXREG <= 1;
report "Stimulus veg";
wait;
end process;
end testbench;
A logok szerint lefut a stimulus MESSAGE CENTER :
Resetting SFRs
Resetting peripherals
Resetting SFRs
Resetting peripherals
Running
Stimulus kezd
Stimulus veg
A hozzászólás módosítva: Nov 1, 2020
Az lett a favágó megoldás ,hogy kerestem egy másik regisztert amibe tudok írni azt használom mint UART (TMR1 be írom az adatot), kellett még egy másik regiszter is (UBRG) ami a státuszt szimulálja. Persze a kódot is át kellett írni ennek megfelelően. Így tudok csak szimulátorozni "UART"-ot .....
Elkeserítő, hogy ennyire nem működik az X
Persze olvasom vannak ettől még sokkal durvább hibái is.... A hozzászólás módosítva: Nov 2, 2020
Nem használok MPLAB-X-et, mert utálom, de az értékadás a 11-es sorban biztos jó? Mármint a <= jel itt értékadást jelent? Más nyelvekben ez összehasonlítás. A hozzászólás módosítva: Nov 3, 2020
Köszi, ma is tanultam valamit
Az MpLab szimulátorában létezett egy "Register Injection" típusú stimulus is.
16F88 esetében az RCREG -re működött:
Azzal sem megy ,de még bitbang PIN stimulussal sem. Mindent kipróbáltam már.
Eleve az a baja hogy nem ír bele a regiszterbe. De csak az UART ba.
Másik regiszterekbe tudok írni.
De még ha be is írna rendesen akkor se menne mert nem ismeri a szimulátor az U1STAH regisztert amiben a jelzés lenne a vételről. Ha manuálisan beírok (nem stimulussal) az U1RXREG be akkor sem billen a vétel bit ,pedig látom hogy benn az adat. Szóval ez több sebtől vérzik.
De most már mindegy. Ha menne rendesen az UART a szimulátorban akkor sem tudnék haladni. Más sem megy ami kéne. PL nem lehet szimuláni a RTSP -ot,ami pedig nagyon jól jönne ,mert egy secure bootloadert írok.
Sebaj élesben megy csak macerás.
Jó lett volna szimulálni az XMODEM-et meg ,hogy mit ír a FLASH be és persze ,hogy hova A hozzászólás módosítva: Nov 3, 2020
Sziasztok!
Az MPLAB IPE programban hogyan lehet regisztrálni, az MPLAB X IDE-ben regisztrálva vagyok, viszont a másikban nem tudok.
Üdv!
Elővettem a Pickit2 és a hozzá kapott 44pin demo boardot 16f690 es PIC el felszerelve. Folyamatosan egy hibaüzenetet kapok: PKWarn0003: Unexpected device ID: Please verify that a PIC16F690 is correctly installed in the application. (Expected ID = 0x1400, ID Read = 0x0)
Mi lehet a probléma?
Az olvasott eszközazonosító csupa 0. Mivel a PGD vonal a PICkit2 -ben a földer van húzva, az is lehet, hogy egyáltalán nem olvas adatot.
- Van tápfeszültsége a kontrollernek? Külső táp hajtja vagy a PICkit2 adja a tápot? Ha a PICkit2 adja, be van kapcsolva?
- Bekötés rendben?
- Legutoljára felprogramozott program kimenetnek állította be a PGD és / vagy PGC vonalat?
- Túl nagy terhelés a PGD vonalon.
Teljesen gyári megoldás. Pickit2 adja a tápot nincs külső táp. Próbáltam 2 darab usb kábellel, de nem változik a helyzet.
|
|