- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: Problem mit Bascom Lib und Assembler

  1. #11
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Zitat Zitat von albundy
    Im Assemblerlisting (AVR Studio) wird der Platz für die Daten zwar freigehalten, es sind aber alle "0" ?

    Die Befehlsfolge muß definitiv richtig sein, so steht's auch im Help:
    LDI ZL, Low(lbl * 2)
    LDI ZH , High(lbl * 2)
    LPM ; get data into R0

    Lbl:

    Jetzt geht's noch darum, daß er die Daten auch anlegt. Ich schau noch, ob ich was find'.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  2. #12
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Hallo Robert,

    Jetzt geht's noch darum, daß er die Daten auch anlegt. Ich schau noch, ob ich was find'.
    Das ist genau das Problem. Leider habe ich noch nichts entscheidendes in der Hilfe von Bascom gefunden.

  3. #13
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Blöder geht's nicht: Versuch mal, statt ".DB" --> "Data" zu schreiben.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #14
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Blöder geht's nicht: Versuch mal, statt ".DB" --> "Data" zu schreiben.
    hast du das ausprobiert, oder nur geraten ?

    beim Kompilieren der Lib kommt "Error found"
    in der Err steht dann "Unknow ASM mnemonik [Data 0x14,0x7F ...

  5. #15
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Gemischt Sache, beim inline-Assembler $ASM--->$END ASM kennt er das .DB dafür nicht, dafür akzeptiert er das "data"
    *murmelmurmel*
    woher weißt du, daß er wirklich Platz für DB reserviert ? Kommt hinten noch was nach ?
    Will nix behaupten, könnt' auch ein Bug sein, daß er Platz freimacht, aber nix reinschreibt.
    Mach vielleicht wieder ".DB" rein und übersetz den ganzen Kram und poste dann das Hex-File, ich möcht das mal genau sehen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #16
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Hallo Robert,
    hier das Hex (als Txt) mit 60 eingebundenen Datenbytes.
    Angehängte Dateien Angehängte Dateien

  7. #17
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Schau, schau. Der Kerl reserviert (hinten) die 60 Bytes, schreibt aber keinen Pieps rein. (anbei der Assembler dazu).
    d.h. er erkennt ".DB" eigentlich richtig als das, was es sein soll, vergißt aber auf den Inhalt. Oder es ist ein "hidden feature" bzw "non-documented restriction", wie man so sagt.

    Das müßte man reklamieren, allerdings dürfte das die 1.11.7.4 Bascom Version gewesen sein, da werden die keine Support bieten.
    Poste vielleicht prog.bas und prog.lib (im aktuellen Status), dann kann ich es mit der neueren Version probieren, mal sehen.
    Angehängte Dateien Angehängte Dateien
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    "Und wenn man nicht weiterkommt, wechselt man einfach die Programmiersprache, oder ? "

    erst nach dem kauf von Bascom merkt man, das man hinters licht gführt wurde und falsche versprechungen in der beschreibung gemacht werden.
    aber es gibt immer wieder unseriöse artikelangebote die im angebot verschönt werden. dahe habe ich Bascom wieder verkauft. man muss auch im roboterprojekt weiterkommen und sich nicht mit einer unvollkommenden sprache herumschlagen, dafür ist das geld zu viel.
    man muss den mut haben konsequenzen zu ziehen und nicht feige sein. das machen ausser mir sehr wenige im forum und auch zu fehlern stehen bzw einzugestehen. dei anbieter von schlechten artikeln müssen das zu spüren bekommen.
    mfg pebisoft

  9. #19
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Hallo Robert,

    danke für deine Unterstützung, ich habe das Problem heute gefunden.
    Der Compiler für die Lib, ignoriert einfach die sonst für Assembler übliche Schreibweise ".db 0x14, 0x7E ...".
    Wenn man stattdessen ".db $14, $7E ..." schreibt wird alles wie gewünscht umgesetzt.
    Ich habe das mit Version 1.11.7.4 und 1.11.7.9 getestet.
    Leider kommt dabei keinerlei Fehlermeldung, was die Suche nicht gerade vereinfacht hat.

  10. #20
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    @Pebi, du gehst mir absolut auf den Geist. Deine Rum-Motzerei ist absolut überflüssig und interessiert hier niemanden. Wolltest du nicht spazierengehen, massig Kohle verprassen und deine Frührente geniessen ? Warum tust du das nicht ? In Timbuktu ist eh grad' Frühling !

    @Frank: Ich bitte um Verwarnung.

    *räusper*
    @Albundy:
    Seltsames Phänomen: Ich konnte erst den ganzen Library-Zinnober garnicht nachvollziehen, weil er sich geweigert hat "GRTXT" als Label zu finden. Zusammengefaßt: rumgewurstelt--> Namen geändert, sieh da: es geht.
    Und, vielleicht liegt's an der Version, das kannst du ja dann vergleichen, er hat auch die "DB" richtig befüllt.
    Anbei .bas, .lib und .asm

    Code:
    $regfile = "m8535.dat"
    $crystal = 8000000
    $lib "Test.lib"
    
    $external Bauch
    Declare Sub Bauch
    
    
    Config Porta = Output
    Porta = $ff
    
                     Call Bauch
    
    Do
    Loop
    
    End
    Code:
    [bauch]
    bauch:
      	ldi zh,High(Da_ * 2) 
      	ldi zl,Low(Da_ * 2) 
      	ld r22,z 
    	*out Porta,r22 
      	ret  
    Da_:
    	.db &H14,&H7F,&H14,&H7F,&H14,&H00             
    [end]
    Code:
    .NOLIST
    .INCLUDE		"M8535DEF.INC"
    .LIST
    INIT:
    	RJMP	L_0x002A
    INT0ADDR_:
    	RETI
    INT1ADDR_:
    	RETI
    OC2ADDR_:
    	RETI
    OVF2ADDR_:
    	RETI
    ICP1ADDR_:
    	RETI
    OC1AADDR_:
    	RETI
    OC1BADDR_:
    	RETI
    OVF1ADDR_:
    	RETI
    OVF0ADDR_:
    	RETI
    SPIADDR_:
    	RETI
    URXCADDR_:
    	RETI
    UDREADDR_:
    	RETI
    UTXCADDR_:
    	RETI
    ADCCADDR_:
    	RETI
    ERDYADDR_:
    	RETI
    ACIADDR_:
    	RETI
    TWIADDR_:
    	RETI
    INT2ADDR_:
    	RETI
    OC0ADDR_:
    	RETI
    SPMRADDR_:
    	RETI
    L_0x002A:
    	LDI	r24,0x5F
    	OUT	SPL,r24
    	LDI	YL,0x40
    	LDI	ZL,0x30
    	MOV	r4,ZL
    	LDI	r24,0x02
    	OUT	SPH,r24
    	LDI	YH,0x02
    	LDI	ZH,0x02
    	MOV	r5,ZH
    	LDI	ZL,0xFE
    	LDI	ZH,0x01
    	LDI	XL,0x60
    	LDI	XH,0x00
    	CLR	r24
    L_0x0048:
    	ST	X+,r24
    	SBIW	ZL,0x0001
    	BRNE	L_0x0048
    	CLR	r6
    	LDI	r24,0xFF
    	OUT	DDRA,r24
    	LDI	r24,0xFF
    	OUT	PORTA,r24
    	RCALL	L_0x0072
    L_0x005A:
    	RJMP	L_0x005A
    .DB	0xF8, 0x94	;..
    L_0x005E:
    	RJMP	L_0x005E
    L_0x0060:
    	SBIW	ZL,0x0001
    	BRNE	L_0x0060
    	RET
    .DB	0x68, 0x94, 0x62, 0xF8, 0x08, 0x95, 0xE8, 0x94	;h.b.....
    .DB	0x62, 0xF8, 0x08, 0x95	;b...
    L_0x0072:
    	LDI	ZH,0x00
    	LDI	ZL,0x7C
    	LDD	r22,Z + 0
    	OUT	PORTA,r22
    	RET
    .DB	0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00	;....
    Zwecks Erklärung bitte den Wahrsager deiner Wahl zu bemühen
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen