-
Thread
Schleifen und Wärmeentwicklung - Berechnung bzw. Abschätzung und angemessene Kühlung
Bandschleifer: Mein Bandschleifer arbeitet mit Bandgeschwindigkeiten von 15-30m/s (900-1800m/min) an einem 50x2000 Band in Körnungen von 60 bis 400. Ich suche nach einer Möglichkeit zu berechnen oder abzuschätzen wie warm die Klinge an der kritischen Stelle (also der Schneide ganz vorne) wird. Mir ist klar, dass
-
Thread
LPC1115, wie spielt man mit dem Timer
Folgender Code soll den 32bit Timer/Counter des LPC1115 aktivieren und bis zu einer gewisser Zahl hier (0x2000) hochzählen lassen und stoppen. Um zu schauen ob es funktioniert möchte ich den Inhalt des Counters als den Register (TC) lesen können, doch im Debug modus ist der Inhalt immer gleich 0. Kann jemand
PR), clock //increments the TC and clears the PC. LPC_TMR32B0->MR0 = 0x2000; LPC_TMR32B0->CCR = 0x0; //Timer mode LPC_TMR32B0->TCR |= (1<<1); //Timer reset LPC_TMR32B0->TCR |= (1<<0); //Timer on LPC_TMR32B0->MCR |= (1<<2); //Stop Timer on match with MR0;
-
Thread
STM32 Bootloader nur aus der Anwendung
springt, etwa so: [c] uint8_t bootloader_init(void) { //magic RAM constant *((uint32_t *)0x2000FFF0) = 0xDEADBEEF; NVIC_SystemReset(); return 1; } [/c] - Vor Aufruf des Reset-Vektors wird eine Speicheradresse 0x2000FFF0 mit einem besonderen Wert (magic constant) beschrieben. - Im
code] Reset_Handler: //check for magic constant in RAM for bootloader operation ldr r0, =0x2000FFF0 ldr r1, =0xDEADBEEF ldr r2, [r0, #0] str r0, [r0, #0] //invalidate constant to prevent jumping twice cmp r2, r1 beq BootLoader //... //normal start script follows here
-
Thread
Welche Auflösung für Laptop mit 14" bzw. 15,6"?
Google, Lenovo, Huawei oder HP einkaufen... Surface bzw. Surface Book mit 3:2-Displays und bis zu 3000x2000 Pixel, Huawei MateBook oder Lenovo Miix 700 mit 2160x1440, HP Pavilion x2 und Elite x2 mit 1920x1280 oder ChromeBook Pixel 2560x1700 Problem: Nur bis etwa 13" und ... die haben alle allerfeinste
-
Thread
SMD & 3D-Druck
Layer drauf u.s.w. Oder Displays in echten 3D, tausende OLED-Displays übereinander drucken, 2000 x 2000 x 2000 Bildpunkte! Ich denke da geht es hin, tausende Computer 3D drucken, nur so fangen die Dinger an zu denken.
-
Thread
STM32F100 - Timer2_Channel3
TIM_OCMode_PWM1; Timer_OutputInit.TIM_OutputState = TIM_OutputState_Enable; Timer_OutputInit.TIM_Pulse = 0x2000; Timer_OutputInit.TIM_OCPolarity = TIM_OCPolarity_High; Timer_OutputInit.TIM_OCIdleState = TIM_OCIdleState_Reset; //TIM2_CH2 --> Motor1 TIM_OC2Init(TIM2, &Timer_OutputInit); //TIM3
-
Thread
Linker: vector section vor text section legen
Assemblerdatei gpio.s sieht so aus: [code] .global _start .section .vectors stack: .4byte 0x2000 reset: .4byte _start .text .equ GPIO_IN, 0x100000 .equ GPIO_OUT, 0x100004 .equ GPIO_OE, 0x100008 _start: move.l #0x0F, GPIO_OE move.l #0x0F, GPIO_OUT
allocatable ("a") sein soll. Also: [c] .global _start .section .vectors stack: .4byte 0x2000 reset: .4byte _start .text ... [/c] wird zu: [c] .global _start .section .vectors,"a" stack: .4byte 0x2000 reset: .4byte _start .text ... [/c]
-
Thread
Signed korrektes Rechtsschieben
Wert -32768. Nach der Division ist er -8192, was dann 0xE000 entspricht. Eigentlich sollte aber 0x2000 rauskommen.
Division ein schnelles Shift macht, dann halt so. [c] int x = ADC_Wert; x >>= 2; if (x & 0x2000) x |= 0xC000; [/c]
-
Thread
96KB SRAM vom Arduino DUE benutzen.
SRAM0 geht von 0x20000000 bis 0x2000FFFF (64 KB) SRAM1 geht von 0x20080000 bis 0x20087FFF (32 KB) ----------------------------------------------------------- unsigned char *v_1 = (unsigned char*) 0x20080000; SRAM1 Das ist eine
-
Thread
Holzregal für Keller gesucht
billiger. Für eine Einheit braucht man 5 von diesen Latten: http://www.hornbach.de/shop/Latte-24x48x2000-mm-Fichte-Tanne/1000664/artikel.html Das wären 3,20€. Bei Ikea wären es 2 von diesen: http://www.ikea.com/de/de/catalog/products/00286677/ Das sind schon mal 6€. Und das Selbstbauregal
eine OSB-Platte ...der gelbe Vielzweckplatte? http://www.hornbach.de/shop/Vielzweckplatte-20x500x2000-mm-Fichte-mit-Kantenschutz/1006720/artikel.html Je nach Lagergut kann auch aufgelegter PVC-Fußbodenbelag ein glatte, gut abwischbare Oberfläche bieten, falls Schalbretter benutzt wurden.
-
Thread
GCC Compiler + ATXMEGA E = Schrott?
from I/O location 00000070 IN R29,0x3E In from I/O location if (a) 00000071 LDS R24,0x2000 Load direct from data space 00000073 TST R24 Test for Zero or Minus 00000074 BREQ PC+0x08 Branch if equal a=0; 00000075 STS 0x2000,R1 Store direct to data space
de b7 in r29, 0x3e ; 62 while (1) { if (a) e2: 80 91 00 20 lds r24, 0x2000 e6: 88 23 and r24, r24 e8: 39 f0 breq .+14 ; 0xf8 <main+0x1e> { a=0; ea: 10 92 00 20 sts 0x2000, r1 PORTA.OUTTGL=0b00000001; // LED blinken
-
Thread
Arduino Due (SAM8X3E) - SRAM reservieren
geht von 0x20000000 bis 0x20100000 (SRAM0 und > SRAM1). Nein. SRAM0 geht von 0x20000000 bis 0x2000FFFF (64 KB), SRAM1 geht von 0x20080000 bis 0x20087FFF (32 KB). Die folgen nicht aufeinander! > Wie verhindere ich, dass der Due die Inhalte an diesen Adressen ohne > Erlaubnis überschreibt?
-
Thread
Bild Pixelgenau programmieren
dem ich ein Bild Pixelgenau programmieren kann. Zum einen habe ich z.B. ein Bild in der größe 3000x2000 Pixel, nun sollte ich sagen, dass eine Linie von Punkt(200/300) nach Punkt(550/1200) geht (als Bsp.) und der Linien mehr. und so weiter. In etwa kann man sowas mit Matlab oder Scilab machen, aber
Sergej P. schrieb im Beitrag #4459712: > Zum einen habe ich z.B. ein Bild in der größe 3000x2000 Pixel, > nun sollte ich sagen, dass eine Linie von Punkt(200/300) nach > Punkt(550/1200) geht (als Bsp.) und der Linien mehr. > und so weiter. Sergej P. schrieb im Beitrag #4459712: > Am besten
-
Thread
stm32cube und USB
und Heapsize im Projekt? Die alte USB-Lib der Standard Peripheral Library benötigte mindestends 0x2000 Stack und 0x4000 Heap, wird bei CubeMX das selbe sein.
im Beitrag #4448846: > Die alte USB-Lib der Standard Peripheral Library benötigte mindestends > 0x2000 Stack und 0x4000 Heap, wird bei CubeMX das selbe sein. Ah ja, guter Hinweis, danke! Ich hab beides auf 0x4000 erhöht. Leider funktioniert es aber immer noch nicht. Arc N. schrieb im Beitrag
-
Thread
Cortex-M3: sqrt() liefert stets unverändertes Argument zurück
20000766 bl 0x200019ac <sqrt> 2000076A movw r3, #11760 ; 0x2df0 2000076E movt r3, #8192 ; 0x2000 20000772 strd r0, r1, [r3] [/code] Ich habe korrekt "math.h" inkludiert und die IDE Em::Blocks angewiesen libm.a einzubinden (siehe Screenshot). Hat jemand Tipps wie ich das Problem beheben
-
Thread
STm32Fxxx: Kleiner Gefallen vom einem Profi erbeten
SRAM3 0x2002.FFFF- 0x2002.0000 SRAM2 0x2001.FFFF - 0x2001.C000 SRAM1 0x2001.BFFF - 0x2000.0000 CCM Core RAM 0x1000.0000 - 0x1000.FFFF und das Ganze wieder hier posten? :-) Gruss C.J.
-
Thread
STM32F429 USB-CDC klappt nicht
amount of stack */ _Min_Heap_Size = 0x4000; /* required amount of heap */ _Min_Stack_Size = 0x2000; /* required amount of stack */ [/c] Trotzdem Danke für den Hinweis, Markus hier der Link: https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=https%3a%2f%
-
Thread
Variable im Flash ablegen
ganz spezielle Adresse sein, so unterstützt GCC zum Beispiel folgendes: [c] uint32_t Variable@0x2000 = 0x89ABCDEF; [/c] Ich empfehle dir allerdings nicht, es so zu tun, da es höchst compiler-spezifisch ist und das programm nicht protabel ist!
-
Thread
IAR + STM32: Linker-Fehler
&& (ELWMD_Exti_UserCallbacks[12] != 0) ) ELWMD_Exti_UserCallbacks[12](); if ( (line_backup & 0x2000) && (ELWMD_Exti_UserCallbacks[13] != 0) ) ELWMD_Exti_UserCallbacks[13](); if ( (line_backup & 0x4000) && (ELWMD_Exti_UserCallbacks[14] != 0) ) ELWMD_Exti_UserCallbacks[14](); if ( (line_backup
-
Thread
Cortex M7 und Cycle Counter (DWT)
-536866816 ; '...à' DWT->CYCCNT = 0; DWT_CycCounterClear: 0x8000e14: 0x2000 MOVS R0, #0 0x8000e16: 0x4901 LDR.N R1, [PC, #0x4] ; [0x8000e1c] DWT_CYCCNT 0x8000e18: 0x6008 STR R0, [R1] } 0x8000e1a: 0x4770
Weil diese Befehle dann mit im Counter eingerechnet sind: DWT_CycCounterClear: 0x8000e14: 0x2000 MOVS R0, #0 0x8000e16: 0x4901 LDR.N R1, [PC, #0x4] ; [0x8000e1c] DWT_CYCCNT 0x8000e18: 0x6008 STR R0, [R1] } 0x8000e1a: 0x4770
-
Thread
USB Contoller im LPC1837 von NXP
#define USB_STACK_MEM_BASE 0x20000000 #define USB_STACK_MEM_SIZE 0x00002000 Also 0x2000 sind erstmal 8kb, daher gehe ich mal davon aus das er hier gerade den speicher für 2 endpoint also zwei queueheads definiert?! Woher kommen die 0x20000000? Das einzige was ich unter der adresse
-
Thread
STM32 ISR execution im RAM
Wenn man die typischen Adresse 0x0800.0000 für Flash und 0x2000.0000 für RAM nutzt, ist der Rest garnicht so schwer. Anfangs ist der Flash auf Adresse 0 gespiegelt. Dies läßt sich so umschalten, dass der RAM auf Adresse 0 gespiegelt wird. Du musst somit
reservieren. Als erstes dann mit der Vectortable und den Funktionen initialiseren (da noch ab 0x2000.0000). Dann umschalten. Ansonsten ist nichts zu ändern. die oben genannten Adressen sind weiterhin verfügbar. [c] // Enable the SYSCFG peripheral clock __SYSCFG_CLK_ENABLE(); __SYSCFG_RELEASE_RESET
-
Thread
Schnelle Suche in großer Datei (1GB)?
sinnlos zeitfressende Seeks. Erst wenn das mögliche Vorkommen der gesuchten Sequenz auf Vielfache von 0x2000 beschränkt wäre, könnten Seeks *vielleicht* einen Vorteil bringen. Wahrscheinlich liegt die Grenze aber noch viel höher, vielleicht so ca. bei 0x10000. > if ((puffer[0] == 0) && >
-
Thread
CAN: Timing Probleme
Hallo, ich habe ein Steuergerät für ein Rennauto, was CAN spricht. Dieses sendet Can IDs 0x2000 bis 0x2005 mit wahlweise 10, 20 oder 50Hz Diese Daten möchte ich mit einem Arduino Mega 2560 und dem Sparkfun CanShield loggen. Daten werden empfangen, aber die ids 2003 und 2004 kommen deutlich
) rxId = CAN0.getCanId(); // Get message ID if (rxId == 0x2000) { for (int i = 0; i < len; i++) { if (rxBuf[i] < 0x10) { data2000 = data2000 + "0"; } data2000 = data2000 + rxBuf[i];
-
Thread
Stm32 Probleme unter Windows 10 mit USB/VCP
pClassData = USBD_malloc(sizeof (USBD_CDC_HandleTypeDef)); [...] [/c] Wenn man also die Heapsize auf 0x2000 oder so setzt, dann funktioniert es. Ich hoffe mal, dieser Post erspart mir das dritte mal Debuggen in einem weiteren Jahr.
-
Thread
Atmel Studio probleme wenn optimization aktiv
gefunden, bei mir ist der Pfad aber etwas anders und die Datei heißt nur flash.ld. Da war die Size auf 0x2000, die habe ich auf 0x3000 heraufgesetzt. Ein Heapsize ist in meiner Datei flash.ld aber nicht definiert. Seltsam war, daß das Lesen von Dateien von der SD-Karte mit optimiertem Code recht gut geht
-
Thread
RC5 Modulation
uint16_t send_byte = command; for (uint16_t x = 0 ; x < 14 ; x++) { if (send_byte & 0x2000) { rc5_send_one(); } else { rc5_send_zero(); } send_byte <<= 0x0001; } rc5_state &= ~(0x80); } /* send a logical one to the Receiver ( 1 --
-
Thread
9-Achs-Sensor LSM9DS1 hat ein unbekanntes Pin
plus und zur hälfte minus auf das obere Byte ein. Bsp.: THR=0x40 --> Interrupt bei Werten größer 0x2000 (8192) und kleiner 0xE000 (-8192). Wie es mit anderen Skalierungen funktioniert weiss ich nicht. Ich habs mit 2g probiert. Wenn die Z-Achse mit ausgewertet werden soll, muss noch der Hochpassfilter
-
Thread
EEPROM verkleinern
Danke schon mal für die schnelle Antwort. a) Im makefile ist die Range des EEPROMs mit 0x2000 - 0xF9FF angegeben. b) Wir sprechen das EEPROM auch mit einer seriellen Schnittstelle an. Nein ist ein EEPROM genaue Bezeichnung M93C86WMN6. MfG Max
Speicherbereich frei sein. Ist aber über die FW zu prüfen. >Im makefile ist die Range des EEPROMs mit 0x2000 - 0xF9FF angegeben. Huch, das solltes Du aber nochmals genauer prüfen was das sein soll. rgds
-
Thread
Benötige Tip zum Address kodieren.
16K RAM 5432 S 32 ------|----|--------------- 0x0000 0000| 1 -- 0x1000 0001| 1 -- 0x2000 0010| 1 -- 0x3000 0011| 1 -- 0x4000 0100| 1 -- 0x5000 0101| 0 00 0x6000 0110| 0 01 0x7000 0111| 0 10 0x8000 1000| 0 11 0x9000 1001| 1 -- 0xA000 1010| 1 -- 0xB000 1011| 1 -- 0xC000