-
Thread
C versus Assembler->Performance Gesperrt
auch ohne ASM ans Ziel kommt, was sich schon bei wenigen switch/case Optimierung, die der Compiler in ms macht, auszahlt.
void); > //--------------------------------------------------------- > uint32_t u32TickMs; > uint32_t u32TickSec; > } > scEsc_SysTick; > > void SysTick_Handler(void) > { > //-- TimeTick erhöhen ------------------------------------- > scEsc_SysTick.u32TickMs++; > >
-
Thread
24V-Motor (Dosierpumpe) erzeugt zu hohe Einschaltströme
www.ebay.de/itm/Schlauchpumpe-Dosierpumpe-Peristaltikpumpe-2-4-l-h-24V-/350588023435?pt=Pumpen&hash=item51a0acb28b) Leider entspricht die Spezifikation der Pumpe nicht der Realität. Ich habe per Multimeter direkt hinterm Netzteil ohne das Shield (24v/4.5A) gemessen und da sind erhebliche Schwankungen
Kondensator, der die Einschaltimpulse abfangen kann. In der Software dafür Sorge tragen, dass, ein paar ms reichen, nicht mehrere Motore gleichzeitig gestartet werden.
-
Thread
Blackout in Spanien: Abschlussbericht
Unternehmertum. 2025: Umsatz 113 Mrd, Operatives Ergebnis 29,3 Mrd, Nettogewinn 8,4 Mrd, Nettoschulden 51,5 Mrd (rund 3 Mrd. weniger als 24). Der Kapitaldienst wird erbracht. Der Laden ist gesund.
26panoid%3DOT3Rt7NEDDHtB3H1Mgxmtg%26yaw%3D287.8048688404436!7i16384!8i8192?entry=ttu&g_ep=EgoyMDI2MDQyMS4wIKXMDSoASAFQAw%3D%3D
-
Thread
Digitale Uhr mit sieben Segment Anzeigen
void setup() { tm1637.set(); tm1637.init(); Timer1.initialize(500000);//timing for 500ms Timer1.attachInterrupt(TimingISR);//declare the interrupt serve routine:TimingISR } void loop() { if(Update == ON) { TimeUpdate(); tm1637.display(TimeDisp); } } void TimingISR
m.E. das, was Du suchst: http://www.banggood.com/DIY-AT89S52-Rotation-LED-Electronic-Clock-Kit-51-SCM-Learning-Board-p-965849.html Gruß
-
Thread
Next Teardown - Hello Synix- Synix- 30000
Die OUI der MAC (2B:51:6E) Gehört auf jeden fall Synix. IEEE register sagt: "Jiangsu Synix Electonic Co.,Ltd"
DP und/oder DM an GND gezogen hat dann an PC anklemmen. das Ganze muss schnell gehen, es geht um ms
-
Thread
CH32V003F4P6 verliert sein Programm
Resets aufgerufen wird dann kann das zu sowas fuehren. Ich hatte mal so ein Problem mit einem MCS51 Derivat wo Rueckspeisung ueber einen Gleichstrommotor die Spannung langsam angehoben hat und zu Alzheimer gefuehrt hat. Wenn du sowas nochmal hast dann lies den mal aus. Hast du eine defekte oder
andere schon nicht mehr. Das führt zu zufälligen Befehlen, Parametern und Adressen. In den paar ms die das anhält schafft die MCU erstaunlich viele Befehle abzuarbeiten. Und irgendwann war dann auch was dabei was einen Schreibvorgang im Flash auslöste. BOD gesetzt, nie wieder Probleme gehabt.
-
Thread
Compilierung des EU1KY AA unter Linux.
while((LSE_ready() == false) && (timeout < 250)) { timeout++; delay_ms(10); }; if(timeout > 250) { return 1; } select_RTC_clock_source(LSE_clock); enable_RTC_clock(true); while(get_RTC_operation_state
RTC.h:34:81: error: 'RTC_CRLbits' undeclared (first use in this function) Src/analyzer/rtc/RTC.h:51:84: error: 'RTC_PRLL' undeclared (first use in this function) Src/analyzer/rtc/RTC.h:51:98: error: 'RTC_PRLH' undeclared (first use in this function) Src/analyzer/rtc/emrtc.c:202:15: error: 'RTC_CNTH
-
Thread
TOISWITCH - IoT I/O-Server für ESP8266
Ähnlich ist dieses hier: https://www.reichelt.de/steckrelais-1x-um-250v-10a-6v-rm-5-0mm-fin-40-51-9-6v-p26574.html?CCOUNTRY=445&LANGUAGE=de&trstct=pos_13&nbc=1&&r=1 Der Snubber besteht aus einem X2 Kondensator 0.1yF/275V und 300Ohm 2W Metallwiderstand und liegt bei mir über den Schaltkontakten
Profileditor -Bugfixes: -wenn ein digitaler Port geschaltet wird wartet die Software einige ms bis die Konfig gespeichert wird. Sollte es z.b. bei schlecht designter Hardware zu einem Reset beim Umschalten kommen, wird so eine Beschädigung des Configfiles vermieden.
-
Thread
I/O Steuerung 1us
vom OscTakt (steht im DB) Masch.Takt = OscTakt. / x z.B ist x bei Pics<=18 4; bei PIC24 2; bei '51 (norm) 12; bei HC11 4; bei AVR, EZ8, RL78, STM8 1.
die Dauer dieser Funktion zusätzlich. Insofern kann dein Ausgangs-Impuls zwangsläufig niemals exakt 1ms dauern. Angenommen, dein Mikrocontroller braucht nur 1 Takt pro Befehl, dann bezweifle ich, dass Du ohne Assembler auch nur ansatzweise an die gewünschten 1µS heran kommen wirst, denn das alles müsste
-
Thread
Flag in BLOCK setzen und löschen?
Geräte noch teste und Grundfunktionen schreibe. Hauptschleife. Drehgeber sollte aber besser jede ms abgefragt werden, mit steigender Zahl von Aufgaben in der Hauptschleife hat Drehgeber seine Grenze erreicht, deshalb sollte ich aus ISR abfragen. In der Zukunft möchte ich aber von mir früher (aus
, dann "void" - und verstehe nichts! So etwas kann ich nie dulden. Deshalb :) Ich habe früher C51 mit Maschinencode programmiert - und komischerweise funktionierte das. Noch ohne Computer. So ist Denken mit Register, Speicherzellen usw. für mich verständlicher als mit Abstraktionen.
-
Thread
Pendlerautos (für Berufseinsteiger)
MS-DOS13 schrieb im Beitrag #3784298: > Da kann man sich dann eigentlich auch die Wohnung sparen und direkt in > den Sprinter ziehen. Dazu noch eine Mitgliedschaft im Fitnessstudio, > damit man irgendwo
MS-DOS13 schrieb im Beitrag #3790072: > Was auf jedenfall auf keinem Auto fehlen darf ist so ein Aufkleber. Und sowas läßt die Forumspolizei zu?
-
Thread
UART sendet immer nur 00000000
wenn ich in der simulation gucke wie lange er brauch um ein byte zu senden sind das, ich glaube ca 1ms und wenn ich das ganze bei 9600baud und 10 bit (8daten +2stopp)und 8mhz nachrechne komme ich auf ein ziemlich genau gleiches ergebnis. also müsste doch die einstellung fürs timing (wenn mans mal so ausdrücken
hab ich schon nachgerechnet und auch im datenblatt nachgeguckt, habs jetzt nicht zur hand aber meine 51 dezimal und das steht auch drin und wenn ich das manuell reinschreibe ändert sich weder in der simulation noch in echt was @johannes: hab ich auch ausprobiert -> ändert nix
-
Thread
Beeinflussen Windkraftanlagen die Drehgeschwindigkeit der Erde?
Trägheitsmoment verringert sich. Welcher Effekt überwiegt? Übrigens - die Tageslänge schwankt um 5ms. Und im Durchschnitt werden die Tage jedes Jahr um 17µs länger. Aber inzwischen lassen sich sogar Gravitationswellen nachweisen. Da dürfte ein Nachweis des Einflusses der Masten auf die Tageslänge
Erdrotation — Forschungen, die die Welt nicht braucht - Best of Annals of Improbable Research" Auf Seite 51/52 steht nach einer langen Liste der beteiligten Forscher das knappe Fazit: "Soweit wir ermessen können, hat Erdnussbutter keinen Einfluß auf die Erdrotation"
-
Thread
Parallel Port - Schrittmotoransteuerung
Initialisierungen durch das BIOS beseitigt werden. Man beachte, dass die Plug&Play-Verfahren von MS Windows auch an den Daten- und Steuerleitungen von seriellen und parallelen Schnittstellen wackeln, um dadurch nachträglich angeschlossene Geräte zu erkennen. Vielleicht hilft es auch, im BIOS die
http://benezan-electronics.de/shop/product_info.php?cPath=8&products_id=51
-
Thread
interruptroutinen
zum beispiel auf dem LCD zeichnen, ist dann der sekundentakt noch genau? Was ist wenn ich ein paar ms delay zwischendrin hab?) Wäre nett wenn mir das jemand erläutern könnte!
Wäre schön wenn du mitteilen könntest welchen MC und Programmiersprache du verwendest. Bei den 8x51 Typen kann man die Interruptprioritäten z.B. bestimmen. Eine genaue Uhr (vergleichbar mit der Gangenauigkeit von typ. Quarzuhren) ist möglich. Ein Beispiel für AVR's findest du hier: http://www.mikrocontroller.net
-
Thread
TIMER für IRMP
); while(1){ if (irmp_get_data (&irmp_data)){ lcd_string_xy(0,0,"gelesen"); _delay_ms(500); _delay_ms(500); }else{ lcd_clear(); } } return 0; } [/c] Wie zu erkennen ist soll der Atmega mir ein kleines Feedback auf mein LCD schreiben wenn es etwas
OCR2 = 65 [/code] Jetzt zurückrechnen: [code] F_INTERRUPTS = F_CPU / (8 * (OCR2 + 1)) = 15151,51 [/code] Der tatsächliche Wert für F_INTERRUPTS wäre dann also 15152. Setze ihn also auf 15152, dann arbeitet IRMP genauer. Dann musst Du aber noch folgende Zuweisung korrigieren, sonst koppelt
-
Thread
doppelte variablenwerte im sector
=PORTB.3 $Def Mosi =PORTB.1 DDRB.0=1 DDRB.1=1 DDRB.2=0 DDRB.3=1 Enable Interrupts WaitMs 255 test=0 Buffer(0) = 254 Buffer(513) =255 Buffer(514) =255 For A = 1 To 512 Buffer(a) = 65 Next Mmc_init() Sector = 0 WaitMs 100 Mmc_write() For A = 0 To 514 Buffer(a) = 0 Next Mmc_init() Sector = 0 WaitMs 100 Mmc_read() Print "speicherzelle 0-10" For A = 0 To 10 Print "wert: " ; Buffer(a) WaitMs 50 Next End Sub shift_i() $Asm ldi r24,0x08 _Si2: clc sbi PORTB,3
-
Thread
RAM Ressourcen
Wunsch zur Verfügung stehen, keine > ganz einfache Aufgabe. warum sollte das nicht einfach sein? MS macht es zumindest seit win7 so.
4584 R 64 0 0.0 0.0 0:01.77 zebra 6371 R 883 765 0.0 0.0 0:01.51 butterfly 10388 R 304 0 0.0 0.0 0:00.80 leopard 4302 R 381 0 0.0 0.0 0:00.86 fox 11556 R 64 0 0.0 0.0 0:01.31 pelican 5234 R 64
-
Thread
Lötstation: Analog 60 oder WTCP 51?
hallo ich möchte mir eine gute lötstation kaufen. es stehen 2 zur auswahl: Analog 60 oder WTCP 51? mfg
liegen besser in der Hand da sie etwas schlanker sind. Ich selbst habe schon seit ca 7 Jahren eine MS6000, ist wohl der Vorgänger der Analog 60. Außerdem finde ich das die Weller am Griff nach langer Arbeit sehr heiß werden. Wir haben auf der Arbeit Weller Kolben gehabt. mfg Stefan
-
Thread
[V] Rauchmelder FireAngel ST-620-DET
der ID Information von SID0 Um 19:39:42 Abruf der ID Information von SID7 (ID=1055697) Um 19:40:51 Abruf des Remote Status von SID7 (Firmware Revision=F3, Spannung Funkmodul=2,74V, Rest OK) Um 19:42:28 Abruf der Fault Details von SID7 (Hier mit Fehler „Battery Impadance“) Um 19:45:20 Abruf der
) Der Arduino belastet die Batterie zunächst über den Transistor geschaltet mit 44 Ohm. Nach 20 ms wird dann die Spannung gemessen. Dann wird der Transistor gesperrt und 980 ms später erneut die Spannung gemessen. Aus Widerstand und erster Spannung lässt sich der Messstrom berechnen. Aus der Spannungsdifferenz
-
Thread
Interupt programmierung eines Atmega8 mit AVR Std. 4.18
Control Register B TCCR1B= (1 << CS00); // as tactful source for Timer0: CPU_Takt/8 (aim: 1ms) // TCCR0 = Timer/Counter Control Register // ClkIO/8 from presacler for Timer 0 TCCR0 = (1 << CS01); // Activate Timer0 and Timer1 as interrupt-source // TIMCK = Timer/Counter Interrupt
error: #error "Include <avr/io.h> instead of this file." C:\WinAVR-20090313\avr\include/avr/iom128.h:51:4: error: #error "Attempt to include more than one <avr/ioXXX.h> file."
-
Thread
Gehalt für Ingenieure und Techniker 2011 Gesperrt
Fachgebiet : Embedded Elektronikentwicklung Arbeitszeit : 40h Betriebsgröße: 90 Gehalt : 51k€ Region : Bayern
Bewirb Dich mal und > Dur wirst sehen, was drin ist. Wenn man die Firmengröße sieht (90), dann ist 51k durchaus realistisch. Ich denke, dass bis zu 60k drin sind, allerdings muss man dann wohl in der Nähe der Ballungszentren (München-Nürnberg) ziehen.
-
Thread
PIC Funktion Parameterübergabe
eine Funktion aufrufen und ihr Parameter übergeben, an und für sich eine einfache Sache, hat beim 80C51 immer so funktioniert. Diese Funktion rufe ich aus der 'main' auf 'vDelay(uiValue)'. Die Variable uiValue wird in main bekanntgegeben und auch mit einem Wert beschrieben und nach dem Einsprung in
Dann muß man die Laufzeit nicht mit Trial&Error mühsam ausmessen, sondern kann einfach die µs oder ms direkt hinschreiben. Peter
-
Thread
Ist es noch sinnvoll, mit Controllern zu arbeiten?
damit zu zeigen, wurde auch gleich ein Demo-Programm mitgliefert: while(1) { led_ein(); delay_ms(500); led_aus(); delay_ms(500); } Vermutlich wurde damit eine LED in einer 'Wolke' ein- und ausgeschaltet. Wahnsinn!
Assembler mag ist ggf. mit einem MicroPython-fähigen µC besser aufgehoben (z.B. stm32, teensy, nRF51 16bit-PIC). Ein Video welches mir parallel zum lesen dieser Frage durch purzelte: https://www.youtube.com/watch?v=mBwTsFBVuQo
-
Thread
A4989 IRF540 Schrittmotor pfiept, dreht sich aber nicht
100ms hold and setup, bewußt groß gewählt um zu schauen, ob und wie was passiert. 36V... muss mal schauen wie ich das Netzteil so weit runter regeln kann :D
woran es noch liegen könnte? Was mir aufgefallen ist, dann wenn ich z.B. die Widerstände über R1 und R51 nehme, dann sind die etwas erhöhter als die von der unteren Bücke (243KOhm zu 237KOhm). Würde eher sagen maginal.
-
Thread
Problem SPI Atmega16 mit MCP41010
_delay_ms(1000); } } Kann mir jemand sagen was ich falsch mache??? Der wert des potis verändert sich nicht!!!
{ if(PIND & (1<<PD2)) spi_write(255); else spi_write(80); _delay_ms(1000); } } [/C]
-
Thread
Bruch approximieren
Langeweile? Ich war früher auch mal militanter float Gegner, hab dann aber gemerkt, daß selbst ein AT89C51 @12MHz reichlich Power hat, damit der Benutzer nicht die geringsten Laufzeitunterschiede merkt. Ich benutze inzwischen auch ausschließlich sprintf, sscanf, statt mir umständlich was selber zu basteln
Anzeigegroessen, welche hoechtens 3 Mal pro Sekunge beoetigt werden, zu rechnen, wenn der Loop schneller als 10ms sein muss, und die Rechnung 30ms dauert.
-
Thread
Spieleprogrammierung mit C, Objective C, C++
unglaublich und alles funktioniert auf Anhieb. Keine Frickelei bei der Einrichtung etc (OK, geht mit MS Visual auch genauso gut) Es gibt andere interessante Sprachen wo man aber in der Zukunft nicht weiß ob sie sich gegen C durchsetzen können, Mit Lazarus/Free pascal machst du nichts falsch. Die
einigen sind in Pascal geschrieben, da die RAD von Freepascal die einzig braachbare Konkurrenz zu MS Visual C ist