-
Thread
Was ist von Analog Devices MCU zu halten?
^= 0x00ff0000; // Compliment P3 ADCCON = 0x6A3; // single conversion delay(0x2000); // Delay Blinking of P3 } } void delay (int length) { while (length >=0) length--; } void DemoConfig(void) { // ADC, DAC and Reference configuration
-
Thread
Pfusch an der Elektrik (Mietwohnung). Rechtliches?
Probleme, solange nicht 2 Wasserkocher an der gleichen Sicherung hängen. Aber das wäre auch bei 2x2000W mit B16 grenzwertig. Was hast Du den sonst für Küchengeräte, die die Sicherung an die Grenze treiben: Mikrowelle 900W, Mixer 200W, Toaster 700W, Waffeleisen - find ich grad nicht... Das ist doch
-
Thread
Treiberfunktion gesucht
Umsetzung macht. Wishbone Bus : SPI 0x0000 bis 0x1000 Generator 0x1000 bis 0x2000 Analyzer 0x2000 bis 0x3000 usw. Das sind die Wishbone Adressen und es wird ein Gesamtbereich von 64KB benötigt. Die Wishbone Bridge blendet den Wishbone Adressbereich 0x0000 bis 0xFFFF
-
Thread
[AVR Mega2560] Verdoppelte Adressen in .map und .lss?
ja 2 * 64kWorte Flash hat). Im Hexfile ist für das 2. Segment die "Extended Segment Address" mit 0x2000 angegeben: [code] :020000022000DC [/code] Wieso 0x2000? Ich hätte eher 0x0001 vermutet? Hab nirgends einen Hinweis gefunden, was das zu bedeuten hat. Weiß jemand näheres?
-
Thread
Dualport Ram
Antwort. Habe ich dich richtig verstanden? Der tatsächliche Physikalische Adressraum zwischen 0x2000 und 0x7fff ist also gar nicht vorhanden. Bei Zugriff auf 0x8000 wird A15 high, der dann den cs für das Dualportram "aktiviert". Dann kann ich über den Pointer von 0x8000 bis 0x9000 auf die
-
Thread
Raspberry Pi und AVR verbinden mittels I2C/TWI
defaultmäßig) einen 32-Bit-Wert. Dabei ist "3F" vom System abhängig (wo Linux die Hardwareadresse 0x2000'0000 - siehe Datenblatt - einblendet), die "8040" ist die BSC-Basisadresse aus dem Datenblatt, und "1C" der Register-Offset von TOUT. Der nachfolgende Parameter "32" legt die Bitbreite fest, danach
-
Thread
RFM12B Power-On-Reset nach senden.
rfm12_status: FFA1 0x8000 ready to send / receive fifo has data 0x4000 power on reset 0x2000 transmit fifo underrun or overflow / receive fifo overflow 0x1000 wakeup timer interrupt 0x0800 external interrupt (nINT=0) 0x0400 low voltage detected 0x0200 fifo empty 0x0100
-
Thread
Zwei Firmware Images auf dem STM32
NVIC_Configuration(uint8_t ImageNum) { if (1 == ImageNum) NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000); } else { NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8000); } [/c]
-
Thread
Timing RC5 decodieren nach Peter Dannegger
( ++rc5_time > PULSE_MAX ){ // count pulse time if( !(rc5_data & 0x4000) && rc5_data & 0x2000 ) // only if 14 bits received rc5_data = rc5_data; rc5_data = 0; } if( (rc5_bit ^ xRC5_IN) & 1<<xRC5 ){ // change detect rc5_bit = ~rc5_bit; // 0x00 -> 0xFF -> 0x00
-
Thread
Suche einbau VOLTMETER/AMP METER DC 100A
Vielleicht gehen ja 2x 2000 W rein und es kommen nur 840W-1200W raus :D
-
Thread
Xmega: USART legt Timer lahm? Kennt jemand das Problem?
TC_CLKSEL_DIV8_gc; TCC0.CTRLB |= TC_WGMODE_NORMAL_gc; TCC0.PER = 0xffff; TCC0.CCA = 0x2000; TCC0.CCB = 0x4000; TCC0.CCC = 0x8000; TCC0.CCD = 0xC000; } void enable_timer() { TCC0.CTRLA = (TCC0.CTRLA & (~TC0_CLKSEL_gm)) | TC_CLKSEL_DIV8_gc; TCC0.INTCTRLA = TC_OVFINTLVL_HI_gc
-
Thread
Hilfe bei Wahl neuer Controllerfamilie
0x0000), der das neue Programm über CAN empfängt, es in den Flash an eine höhere Adresse schreibt (0x2000), und es dann dort startet.
-
Thread
Pic 24 SPI verbindung zu einem AD Wandler
Anhang habe ich das Scope bild. Er scheint mir 0b0010 0000 0000 0000 heraus zu geben, sprich 0x2000 was zumindest ähnlichkeiten mit meiner Konfiguration von 0x0020 hat vll vertausche ich auch gerade lsb und msb, da ich nicht genau weis wann der Takt angefangen hat. Jedoch scheint er auch den schreib
-
Thread
STM32 Debugging mit Open-OCD/Eclipse
Assembler-Code sieht so aus: [c] 0x2000389c: movw r3, #32244 ; 0x7df4 0x200038a0: movt r3, #8192 ; 0x2000 <- Adresse der Funktion holen 0x200038a4: ldr r3, [r3, #0] 0x200038a6: ldr r3, [r3, #8] <- Adresse der Funktion nach R3 0x200038a8: movw r0, #31324 ; 0x7a5c <- Funktionsparameter nach R0 0x200038ac: movt r0, #8192 ; 0x2000 0x200038b0: blx r3 <- Funktion aufrufen [/c] Führe ich den blx aus, lande ich hier (der Fash-Code ist OK, er wird aber falsch dekodiert): [c] 0x08001428: ; <UNDEFINED
-
Thread
Wie Konstanten tatsächlich im flash ablegen?
).elf $(OBJCOPY) -R .eeprom -j .data -j .text -j .radio --change-section-address=.radio=0x2000 -O ihex $< $@ ... $(TARGET).const: $(TARGET).elf $(OBJCOPY) -j .radio --change-section-address=.radio=0x2000 -O ihex $< $@ ... [/c] Ergebnis: radio.const [c] :1020000000010203040506070F0E0D0C0B0A090858
-
Thread
LPC1857 ARM Cortex M3 Problem mit EMC und SDRAM
RamAHB16 (rwx) : ORIGIN = 0x20008000, LENGTH = 0x4000 /* 16k */ RamAHB_ETB16 (rwx) : ORIGIN = 0x2000c000, LENGTH = 0x4000 /* 16k */ SDRAM (rwx) : ORIGIN = 0x28000000, LENGTH = 0x01000000 /* 16M */ } /* Define a symbol for the top of each memory region */ __top_MFlashA512 = 0x1a000000 +
top_RamAHB32 = 0x20000000 + 0x8000; __top_RamAHB16 = 0x20008000 + 0x4000; __top_RamAHB_ETB16 = 0x2000c000 + 0x4000; __top_SDRAM = 0x28000000 + 0x1000000; [/c] und in der .ld-Datei [c] ... /* MAIN BSS SECTION */ .bss : ALIGN(4) { _bss = .; *(.bss
-
Thread
STM32 Bootloader per Software aktivieren
implementiert: Funktion die Aufgerufen wird: void swReset(void) { __DSB(); *((unsigned long *)(0x2000FFF0)) = 0xDEADBEEF; NVIC_SystemReset(); } Dabei ist NVIC_SystemReset() folgende SW-Reset Funktion: void NVIC_SystemReset(void) { /* Ensure all outstanding memory accesses included
[WEAK] IMPORT __main LDR R0, = 0x2000FFF0 LDR R1, = 0xDEADBEEF LDR R2, [R0, #0] STR R0, [R0, #0] ; Invalidate CMP R2, R1 BEQ
-
Thread
Mini-Labornetzteil mit LM317
vom Aufbau machen. Am besten beidseitig. Und gleich als vorwarnung... .<ironie>mindestens 2000x2000 Pixel mit maximal 10k Größe.</ironie> Das is auch so ein Steckenpferd von manchen hier. ;) Schöne scharfe Fotos, aber wenn möglich auf <500k verkleinern sonst bekommen hier manche wieder Herzprobleme
-
Thread
"C" Will alle Variablen im ext. Speicher haben, aber wie mach ich das?
SAVED_BUFFER_LEN];// save the input buffer uint16_t magic_end; }; [/c] Interner SRAM: 0x2000 - 0x3FFF ( soll nur für den Stack bleiben) Externer SDRAM: 0x4000 - 0xFFFF ( für alle angelegten Variablen und Heap) Reicht es im Makefile sowas wie hier avr-gcc ... -Wl,--section-start,.
-
Thread
Schreibweise von Oder | und Pointer ändern
Auch der Pointer wird nicht erkennt. Durch was kann man ihn *p ersetzen ? unsigned char *p,v ; p=0x2000 ; *p=0x55 ; Danke. Gruss peter
-
Thread
SRAM beim Mega 128
Jup, das habe ich gefunden : #define OFFSET 0x2000 void XRAM_example(void) { unsigned char *p = (unsigned char *) (OFFSET + 1); DDRC = 0xFF; PORTC = 0x00; XMCRB = (1<<XMM1) | (1<<XMM0); *p = 0xaa; XMCRB = 0x00; *p = 0x55; } Damit kann
<< XMM1) | (0 < XMM2); Alle Addressleitungen gueltig Zugriff: unsigned char *p,v; p = 0x2000; Gewuenschte RAM Addresse 0x12000 ist nur Beispiel *p = 0x55; Schreiben ins RAM v = *p; Lesen aus dem RAM Ansonsten wenn du dem Linker mitteils wo RAM ist verwaltet
-
Thread
AT90CAN mit sechs externen CAN-Controllern
vom 8. SJA Die SJAs sind dann unter der Adresse 001x xnnn rrrr rrrr ansprechbar, d.h. 1. SJA: 0x2000-0x20ff 2. SJA: 0x2100-0x21ff .... 8. SJA: 0x2700-0x27ff In die oberen 32k des Adressraums kannst Du noch ein externes 32k SRAM einblenden, falls Dir der interne Speicher nicht reicht. Zum
-
Thread
32-Bit SPI Daten empfangen
SPI_PORT |= (1 << SPI_SS); // deselect slave } buffer = buffer >> 18; if(buffer & 0x2000) // check sign bit { temp = (float)(2048.0 - (buffer & 0x1FFF) * 0.25); } else { temp = (float)(buffer * 0.25); } return(temp); } [/c]
sind, verschluckt werden. Ausserdem scheint der Wert ja noch signed zu sein > if(buffer & 0x2000) // check sign bit Da ist schieben schon mal eine ganz schlechte Idee. >Btw. das von dir angeratene Vorgehen fluppt auch nicht: > > byte[0] = SPI_recvByte(); > buffer = (uint32_t)(byte
-
Thread
[V]erschenke Parallelport-EPROMmer taskit EPROP plus+
Daten 0x00, sonst ist alles 0xff. 1 x 27C128, 150ns, CDIP-28, AMD, 12,75V, Date Code 9732 Ab 0x2000 steht was nach einem Boot-ROM aussieht, vermutlich für ne NE2000. Abzugeben gegen Portokosten (3,90 nach .de) oder Abholung in Berlin.
-
Thread
RC5_Code läuft nicht auf ATMega32
if (++rc5_time > PULSE_MAX) // count pulse time { if(!(tmp & 0x4000) && tmp & 0x2000) // only if 14 bits received rc5_data = tmp; tmp = 0; } if ((rc5_bit ^ xRC5_IN) & 1<<xRC5) // change detect { rc5_bit = ~rc5_bit; //--> 0x00 ->0xFF ->0x00
if (++rc5_time > PULSE_MAX) // count pulse time { if(!(tmp & 0x4000) && tmp & 0x2000) // only if 14 bits received rc5_data = tmp; tmp = 0; } if ((rc5_bit ^ xRC5_IN) & 1<<xRC5) // change detect { rc5_bit = ~rc5_bit; //--> 0x00 ->0xFF ->0x00
-
Thread
Kalibrierung des KTY81-210
Widerstandswert. Dann rechnet man vor dem Einsetzen in die Formel R x (Sollwert / Messwert) = R x (2000/2020) = R * 0.9901, dann passt die berechnete Temperatur wieder. > Besser ist natürlich gleich einen gescheiten Sensor zu nehmen. Der KTY ist durchaus gescheit, man muß ihn nur verstehen.
-
Thread
Anfängerfrage - Stoppuhr mittels CCP Module
0x0400 #define RTC_FROM_DS 0x0800 #define DSWDT_FROM_DS 0x1000 #define ULPWU_FROM_DS 0x2000 #define FAULT_FROM_DS 0x8000 #define EXT_FROM_DS 0x0200 //Constants for calls to sleep() to enable deep sleep mode are: #define DEEP_SLEEP 3 // Any of the following may be OR'ed
-
Thread
C_CAN Device: LPC11C24/301
memory size Memory configuration LPC11Cxx without first 0xC0 bytes and without last 32 bytes (0x2000-0xC0-0x20=0x1F20): Quote: Type Name Location Size RAM RamLoc8 0x100000C0 0x1F20
-
Thread
Anlegen einer neuen section im RAM
0x0000 ... 0x0FFF - mapped Eeprom byte address 0x1000 ... 0x1FFF - internal SRAM byte address 0x2000 ... 0x5FFF (RAMEND with byte address =0x5FFF) - Harvard Architecture offset: 0x800000 Auszug aus dem angepassten linker file: [code] MEMORY { text (rx) : ORIGIN = 0x000000, LENGTH =
-
Thread
STM32F207 + KS8721 (Ethernet Phy)
/* Enable Interrupt on change of link status */ #define PHY_LINK_STATUS ((uint16_t)0x2000) /* PHY link status interrupt mask */ unsigned long Eth_Link_PHYITConfig(unsigned int PHYAddress) { unsigned long tmpreg = 0; /* Read MICR register */ tmpreg = ETH_ReadPHYRegister(PHYAddress
-
Thread
Anfängerfrage: API für Eingänge/Ausgänge und co ?
BITB (0x0800) #define BITC (0x1000) #define BITD (0x2000) #define BITE (0x4000) #define BITF (0x8000) Somit wird dann: REGISTER = BIT0 | BIT7 REGISTER = b00000001 | b10000000 zu REGISTER = b10000001 und das ist