bitte nur antworten wenn du dich mit pic-as wirklich auskennst - bitte
keine Vermutungen oder unnötige doofe Kommentare die nichts mit der
Sache an sich zu tun haben (das ermüdet langsam).
Warum leuchtet die LED am PIN 5 des PIC16F15313 nicht ?
Hilft dir selbst, dann hilft dir Gott schrieb:>> Warum leuchtet die LED am PIN 5 des PIC16F15313 nicht> weil sie an einem anderen Pin hängt und obendrein defekt ist?
Sie könnte aber auch verkehrt herum verschaltet sein. Dass ein
Vorwiderstand verbaut ist, nehme ich mal an. Wie immer, hilft auch ein
Foto des Aufbaus!
Michael S. schrieb:> die LED soll nicht blinken, sondern konstant leuchten !
Dann häng die einfach direkt an VSS, und laß den Controller ganz weg.
Das erspart dir erhebliche Frustration, und uns einen weiteren sinnlosen
Freitagnachmittagsthread.
Oliver
Michael S. schrieb:> die LED soll nicht blinken, sondern konstant leuchten ! Bitte nur> antworten, wer sich auskennt und in der Lage ist, Assemblercode zu> lesen.
Blinkt die LED?
Michael S. schrieb:> bitte keine Vermutungen oder unnötige doofe Kommentare die nichts mit der> Sache an sich zu tun haben (das ermüdet langsam).
Bitte keine unnötig doofen Fragen hier stellen
Michael S. schrieb:> NEIN denn das C-Programm läuft doch mit diesem Aufbau !!!
Ach, DAS Programm, ja, danke für den Einblick. Herr wirf Hirn.
Michael S. schrieb:> bcf TRISA, 2
RA2 ist immer noch 4
Michael S. schrieb:> RA2 ist bei diesem PIC Pin 5
Oh Mann, da kann man nix mehr machen,
Bei dermassen tiefgreifenden Missverständnissen.
Man fragt sich, warum man zitiert.
ich hab TRISA,4 und LATA,4 geändert, aber damit geht es auch nicht - ist
doch klar. Michael B. du verwechselst da was. BCF bezieht sich auf die
Nummer des Bits und nicht auf dem dezimalen Wert des Registers. kannst
du überhaupt Assembler ?
dem C-Compiler den Assemblercode zu entlocken ist mal ein echt guter Tip
- bestimmt geht das irgendwie - aber ob ich das so schnell hinkriege...
aber man kann doch bestimmt das auf dem PIC gespeicherte Programm
de-aassemblieren oder ? Kann mir einer das schnell und sicher
beschreiben wie das geht ohne dass ich da lange suchen und viel
nachlesen muss ?
ja es ist der XC-8, aber in MPLAB X IDE integriert (nicht über
Kommandozeile). Kann man den Assemblercode des C-Programms über die IDE
bekommen oder über die IPE ?
über die IPE hab ich folgenden Programmcode auf dem PIC gefunden, wenn
ich das (nicht laufende) Assembler-Programm lade:
000 9240 8C40 9840 B87E 1240 1840 280C 3FFF
008 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF
>an diesen PIC kann man meines Erachtens gar keinen externen Oszillator>anschließen
Im Daten Blatt steht was von 32MHz Input clock, und selbst wenn man ihn
nicht anschliessen kann, sollte der TO so gnädig sein uns zu veratten,
welche Taktung er gewählt hat und wie er das konfigurieren wollte.
Es fehlen die verdammtem Kommantare !
Michael S. schrieb:> an diesen PIC kann man meines Erachtens gar keinen externen Oszillator> anschließen - und das C-Programm läuft ja mit diesen Configs
Dann musst du halt in Assembler nachbauen, was auch immer diese (oder
auch alle verwendeten) Configs tun. Irgendwo muss das ja dokumentiert
sein. Also würde jeder Normalbegabte diese Doku suchen und dann lesen...
c-hater schrieb:> Michael S. schrieb:>>> an diesen PIC kann man meines Erachtens gar keinen externen Oszillator>> anschließen - und das C-Programm läuft ja mit diesen Configs>> Dann musst du halt in Assembler nachbauen, was auch immer diese (oder> auch alle verwendeten) Configs tun. Irgendwo muss das ja dokumentiert> sein. Also würde jeder Normalbegabte diese Doku suchen und dann lesen...
Eben:
http://ww1.microchip.com/downloads/en/DeviceDoc/40001897A.pdf
Der To/Troll hat weder ein ASM tutorial / Beispiel gelesen, sowie auch
nicht das Datenblatt durchgeschaut. Einfach bei C bleiben, das ist
einfacher, weniger low level, dann kann man ra2 verwenden anstelle von
porta und dass man lata falsch verstanden hat, dass kann man nicht
entschuldigen, genausowenig wie dass man kein ASM tutorial oder Beispiel
angesehen hat denn sonst wuerde man den fehler ja sehen.
Jo jo, hab mich mal "schlau" gemacht.
Meines Erachtens sollte alles passen. NUR im Simulator bekomme ich
damit PortA nicht auf Digital I/O, wird immer als Analog-In
gekennzeichnet!?
Scheint auch des öfteren (?-O) im Reset "hängen zu bleiben"....
Das is nix für den schnellen Einstig!
Hilft dir selbst, dann hilft dir Gott schrieb:> Dann könntest du auch erklären was die Abnsicht hinter den Zeilen> config FEXTOSC = OFF> config RSTOSC = EXT1X> ist.
Reset-condition für den Oszillator und co.
Du kannst damit die Analog-Module auf gewünschten Pin legen.
Passt beides.
wieso muss ich die Configs in Assembler nachbauen ? werden die Configs
nicht vom Assembler mit in den Programmcode übernommen ? falls ich da
was falsch verstanden habe, liegt da wohl der Fehler.
Teo D. schrieb:> NUR im Simulator bekomme ich> damit PortA nicht auf Digital I/O, wird immer als Analog-In> gekennzeichnet!?> Scheint auch des öfteren (?-O) im Reset "hängen zu bleiben"....
?weil kein Takt kommt? Vcc Ramping verkackt? Reset-eingang flaoting?
> Du kannst damit die Analog-Module auf gewünschten Pin legen.> Passt beides.
Ja was denn nun?
Oben schreibste passt nicht, unten dagegen passt??
MaWin schrieb:> Warum lässt du nicht einfach das C-Programm laufen, wenn es doch> funktioniert?> Warum muss es Asm sein?
Vermutlich will da einer fliegen, der nicht mal richtig kriechen kann,
geschweige denn laufen...
MaWin schrieb:> Warum lässt du nicht einfach das C-Programm laufen, wenn es doch> funktioniert?> Warum muss es Asm sein?
Oder es ist halt wirklich nur ein Traffic-Troll. Was die bei weitem
wahrscheinlichste Annahme ist.
Achne, wollts noch vor meinem letzten Post testen, habs leider
vergessen.
Ändere mal das mal:
; #include <pic16f15313.inc> // Löschen!!!
#include <xc.inc> // <- so und nicht anders
In der Simu läufts.... :)
Michael S. schrieb:> weil da die Lösung nicht ist. Wie lautet sie denn, du Schlaukopf ?
Was soll diese Piss-Antwort? Kann mich nicht erinnern dich beleidigt zu
haben.
Mach mal einen Punkt - aber einen ganz Grossen.
Du wolltest/willst eine Led mit dem Pic As dauerhaft zum Leuchten
bringen.
Der Code ist in deinem ersten Thread von " Apollo M. (Firma: @home)"
angegeben und ich habe dies sogar mit dem Simulator getestet und einen
Screenshot davon gemacht.
Fuer Leute wie dich habe ich keine Zeit mehr.Reine Zeitverschwendung
hier.
Michael S. schrieb:> wie ist das denn mit den configs im Assemblerprogramm ? Setzen die die> entsprechenden Register auch, oder haben die nur Kommentarfunktion ?
Na klar muss das im Code stehen. Das Tool generiert dir doch auch nur
den Code, den Du rein kopieren musst.
Gern geschehen.
So hab ich mich wenigstens mal mit dem neuen Assembler beschäftigt (bzw.
seit ~20J überhaupt mit Ass:) und einen für mich recht neuen Pic -> Ich
bleib bei C und meine ollen Dinger, reichen mir alle mal. ;DDD
Michael S. schrieb:> ich hab TRISA,4 und LATA,4 geändert, aber damit geht es auch nicht - ist> doch klar.
Klar ist, dass du sehr laut bist! Sinnnig war wenig bis nichts von dir.
Zukünftig auch mal in die pic16fxxx.inc schauen und die passenden
Bezeichner verwenden, dann kann auch weniger verwechselt werden.
main:
banksel ANSELA
bcf ANSA2
banksel TRISA
bcf RA2
banksel LATA
bsf RA2
goto $
end ResetVec
Teo D. schrieb:> Ändere mal das mal:> ; #include <pic16f15313.inc> // Löschen!!!> #include <xc.inc> // <- so und nicht anders
#include <pic16f15313.inc> kann so verwendet werden, ist nur unschlau,
weil dann immmer per Hand nachgezogen werden muss, wenn der pic16fxxx
wechselt.
xc.inc includiert ansonsten nur die pic16fxxx.inc sonst nichts.
@Michael S.
@HW, sinniger wäre vielleicht auch den RA2 im OC mode zu verwenden, also
low-active ...
Jetzt lass mal toggle und definierte Variable im RAM, ...
Vom pic-as cmd/macro/linker functions hast du fast noch nichts
verwendet, da warten noch einige Überraschungen auf den Anwender!
Apollo M. schrieb:> #include <pic16f15313.inc> kann so verwendet werden, ist nur unschlau,> weil dann immmer per Hand nachgezogen werden muss, wenn der pic16fxxx> wechselt.>> xc.inc includiert ansonsten nur die pic16fxxx.inc sonst nichts.
Stehen aber offensichtlich wichtige Defs. drin, deren fehlen(?) der
Pre-Compiler, scheinbar klaglos schluckt. Warum auch immer.
PS: Dran geglaubt hab ich ja auch nich wirklich. Daher hab ichs ja
vergessen zu testen. :)
Der pic-as hat einige Vorteile zum MPASM, aber die Linker
Verständnishürde psect. Ist dadurch aber wesentlich flexibler, du kannst
z.B. Segmente überlagern
also gleiche RAM Addr für unterschiedliche lokale Var und das Bist
optimiert sogar, was bedeutet du musst für die EEPROM write Signature
die Optimierung abschalten sonst ist sie weg und nix mit eepron write.
Es gibt zwei pre-compiler, die gleichzeitig verwendet werden können -
der vom C-Compiler und der von pic-as!
Das User Guide ist völlig unzureichend ... und wichtige Infos stehen
vergraben im Fließtext.