Hallo Leute, hab ein Problem. Beim compilieren von folgenden Code gibts diesen Error: error 431 accessing sfr using incorrect size Code bei dem Fehler auftritt: bis.w #UCSWRST,&UCB0CTL1 ; Enable Software Reset bis.w #UCMST+UCMODE_3+UCSYNC,&UCB0CTL0 ; I2C Master, synchronous mode bis.w #UCSSEL_2+UCSWRST,&UCB0CTL1 ; Use SMCLK, keep SW reset Programmiersprache ist Assembler wie man eh sieht ;-) Danke euch im voraus! LG
Was ist an "incorrect size" so unverständlich? UCB0CTL0 und UCB0CTL1 sind Byte-Register. Beide zusammen als Word wäre UCB0CTLW0.
bis.b #UCSWRST,&UCB0CTL1 ; Enable Software Reset bis.b #UCMST+UCMODE_3+UCSYNC,&UCB0CTL0 ; I2C Master, synchronous mode bis.b #UCSSEL_2+UCSWRST,&UCB0CTL1 ; Use SMCLK, keep SW reset oder bis.w #UCSWRST+den_ganzen_anderen_kram,&UCB0CTLW0 bei den_ganzen_anderen_kram must du aber einige 8Bit shiften
Danke! Hab einfach nicht den Unterschiede zwischen Word und Byte Register verstanden :D wieder etwas gelernt
Warum eigentlich ASM? Der MSP lässt sich mit IAR wunderbar in C programmieren. Und wer ASM so geil findet, kann sich das vom Compiler erzeugte Listing anschauen.
Schulprojekt.. programmiere normalerweise nur mit C und hab jetzt aber als Aufgabenstellung eine I2C Übertragung in Assembler bekommen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.