Im Forum und im Wiki
-
Thread
MSP430F155 DAC Problem
Eigentlich müßte das ja ganz einfach sein. sind ja nur 3 Zeilen. Ich halte mich genau an die Beispiele von TI bzw an die Initzialisierung aus den Beispielen von hier. Leider messe ich nichts am Ausgang in der Init: volatile int a = 0; ADC12CTL0 = REF2_5V + REFON; DAC12_0CTL = DAC12IR + DAC12AMP_7 + DAC12ENC; for(a=0;a<=0x658;a++) {} in der Main: DAC12_0DAT = 0x0CCC; ich nutze ausserdem noch den ADC: ADC12CTL0 |= !ENC; ADC12CTL0 = ADC12ON+MSC+SHT0_2; ADC12CTL1 = SHP+CONSEQ_1; ADC12MCTL0 = INCH_0 + SREF_2; ADC12MCTL1
-
Thread
MSP430F155 UART Bitorder
Hallo zusammen. Ich habe ein skurilles Verhalten bei meiner UART und bräuchte einmal fachmännichen Rat, da mir das Datenblatt und Dr. Google nicht mehr weiter helfen. 1. Ich habe 2 Platinen mit der gleichen Hard & Firmware. 2. Die Kommunikation hat bereits funktioniert, bevor ich den Watchdog aktiviert habe. 3. Das Problem lässt sich auch nicht durch deaktivieren des WDT beheben. Ich schicke mehrere Bytes von Platine 1 zu Platine 2. Die Daten die ich aber empfange sind aber bitweise gedreht. Sprich : ich sende: 0b10110011 ich empfqange 0b11001101 Ich kann dies mit einem
-
Thread
MSP430F155 & Watchdog
Aus Sicherungsgründen soll ich bei meinem Sensor den Watchdog aktivieren. Klingt einfach. hat aber eingie Tücken die ich nicht ganz verstehe. Beim Init wird er erstmal ausgeschalten. Das Programm soll ja erstma in Ruhe starten. Dann kommt: [c] WDTCTL = WDT_ARST_1000; while(1) { WDTCTL = WDTPW + WDTCNTCL; sTemperatur.Temp_Diff_limit = fnReadFlash(TEMP_DIFF_LIMIT); sTemperatur.Temp_Warn = fnReadFlash(TEMP_WARN); sTemperatur.InnenMax = fnReadFlash(MAXTEMPINNEN); sTemperatur.AussenMax = fnReadFlash(MAXTEMPAUSSEN); sTemperatur.Innen_alt
-
Thread
MSP430F155 Uart Interrupt
einem mittelschweren Problem und hoffe ihr könnt mir helfen. Meine Hardware besteht aus einem MSP430F155 der von einen 7.372.800 Hz Quarz befeuert wird. [c] void fnInit_XT(void) // high frequenz resonators ( 455 kHz - 8MhZ ) { unsigned int i; BCSCTL1 |= XTS; //
-
Thread
MSP430F155 Probleme beim Speichern im Flash
[c] void fnWriteFlash (unsigned int uiType, float fValue) { float *Flash_ptr; _DINT(); Flash_ptr = (float *) uiType; FCTL1 = FWKEY + ERASE; while(FCTL3 & BUSY); // Check Flash BUSY bit FCTL3 = FWKEY; FCTL1 = FWKEY + WRT; *Flash_ptr = fValue; FCTL1 = FWKEY; FCTL3 = FWKEY + LOCK; while(!(FCTL3 & WAIT)); // WAIT until Flash is ready _EINT(); return; } [/c] Das is meine Routine zum Speichern von Maximalwerten. Beim Initzialisieren des Flashs werden alle Daten korrekt geschrieben
-
Thread
MSP430F155.1612 an EEPRPOM 24LCxx
Bus mit einem EEPROM 24LCxx verbunden ist. Oder vielleicht hat jemand ein Programmbeispiel für MSP430F155..1612 --- EEPROM 24LCxx.
-
Thread
elf File programmieren und starten
Sry. wird sofort nachgereicht. Der controller ist ein MSP430F155 Toolchain ist MSPGCC zusammen mit Eclipse Debuged wird mit dem Addon von Zylin Embedded Debug und da die Kategorie Cygwin. Erzeugt wird eine .*elf file. Mein Problem ist, wenn ich debuge
-
Thread
Signalzeit in Spannung konvertieren?
Hallo Michael, so etwas ähnliches habe ich vor kurzem für einen MSP430F155 programmiert. Der hat einen integrierten DAC. Mit dem internen Counter habe ich die Pulsdauer gemessen und davon abhängig eine Spannung ausgegeben. Code darf ich dir leider nicht geben, da ich das