MSP430 Bit schieben

Gast #4399778
Lesenswert?

sowas erkennt er nicht.

bei mir sieht das so aus:

schleife  mov.b  #0b,R14

S1
  bic.b  #11110111b,P1OUT  ; alle Ausgänge aus
        mov.b  #R14 <<4 ,R14 ( hier sollte er eigentlich schieben zeigt 
aber eine Warnung an )
  bis.b   R14, &P1OUT
Moderator (Firma: Titel) Persönliche Seite #4399891
Lesenswert?

Henne schrieb:
> zeigt aber eine Warnung an
Welche? Dass #R14 ein Konstante ist?

Lies mal das da:
http://www.embeddedrelated.com/showthread/msp430/2386-1.php

Henne schrieb:
> Wo finde ich die ?
Du siehst dir auf deinem PC mal an, wie das Programm heißt, dass du zum 
Entwickeln nimmst...
https://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung
Gast #4399902
Lesenswert?

Das sind die Warnungen:

Multiple markers at this line
- [W1500] warning:  relocation template 277 not found; returning 
OFR_INVALID
- [W1500] warning:  relocation template 275 not found; returning 
OFR_INVALID
- [W1500] warning:  relocation template 266 not found; returning 
OFR_INVALID
Gast #4399965
Lesenswert?

RLA und RLC funktionieren zwar. Es soll aber nicht rotieren.
1
;-------------------------------------------------------------------------------
2
; MSP430 Assembler Code Template for use with TI Code Composer Studio
3
;
4
;
5
;-------------------------------------------------------------------------------
6
            .cdecls C,LIST,"msp430.h"       ; Include device header file
7
            
8
;-------------------------------------------------------------------------------
9
            .def    RESET                   ; Export program entry-point to
10
                                            ; make it known to linker.
11
;-------------------------------------------------------------------------------
12
            .text                           ; Assemble into program memory.
13
            .retain                         ; Override ELF conditional linking
14
                                            ; and retain current section.
15
            .retainrefs                     ; And retain any sections that have
16
                                            ; references to current section.
17

18
;-------------------------------------------------------------------------------
19
RESET       mov.w   #__STACK_END,SP         ; Initialize stackpointer
20
StopWDT     mov.w   #WDTPW|WDTHOLD,&WDTCTL  ; Stop watchdog timer
21
SetupP1    mov.b  #11110111b,&P1DIR    ; P1DIR= Data direction  (welche Richtung die BITS gehen)
22
; 0= INPUT / 1=OUTPUT // P1.3 Eingang (S2 =Taster)(5te stelle) der Rest Ausgänge
23
      mov.b  #00001000b,&P1REN    ; PULL-UP-Widerstand !!! (alle) (bei Ausgängen egal)
24
                      ;->(bei 1.3P ist der resistor eingeschaltet)
25

26
      bis.b  #00001000b,&P1OUT    ; Resistor als Pull UP geschaltet. (an P1.3
27
      bic.b  #11110111b,P1OUT    ; alle Ausgänge aus
28

29

30
;-------------------------------------------------------------------------------
31
; Main loop here
32
;-------------------------------------------------------------------------------
33
                                            ; Main loop here
34
  mov.b  #00000010b,R14
35

36

37
         bic.b  #11110111b,P1OUT     ; alle Ausgänge aus
38
        mov.b  #R14 <<4 ,R14   ; hier sollte er das R14 um 4 Bits nach Links verschieben
39
      bis.b   R14, &P1OUT
40

41

42
wait    mov.w  #50000,R15        ; (ohne b = dezimal)(Verzögerungswert in R 15)
43
L1      dec.w  R15            ;Wert in R15 minus 1
44
      jnz    L1            ; solange 0 nicht erreicht springe zu Marke L1
45

46
    
47
;-------------------------------------------------------------------------------
48
; Stack Pointer definition
49
;-------------------------------------------------------------------------------
50
            .global __STACK_END
51
            .sect   .stack
52
            
53
;-------------------------------------------------------------------------------
54
; Interrupt Vectors
55
;-------------------------------------------------------------------------------
56
            .sect   ".reset"                ; MSP430 RESET Vector
57
            .short  RESET

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren