-
Thread
Sammelbestellung OLED 0.96 I2C für den ESP8266
} } } /***********************Delay****************************************/ void Delay_50ms(unsigned int Del_50ms) // { unsigned int m; for(;Del_50ms>0;Del_50ms--) for(m=6245;m>0;m--); } void Delay_1ms(unsigned int Del_1ms) // { unsigned char j; while(Del_1ms--)
5); while(1) { fill_picture(0xff); Delay_50ms(100); fill_picture(0xf0); Delay_50ms(100); Picture_1(); Delay_50ms(200); } } [/c]
-
Thread
Array initialisiert nicht richtig
{ Ringbuffer[k]=0; printf("\n\rLösche Ringbuffer[%u]:",k) ; delay_ms (10); } // Ausgabe über RS232 do { printf("\n\rRingbuffer[%u]:%u",zeiger ,Ringbuffer[zeiger]) ; if(zeiger>=BufferSize-1)
Ringbuffer[9]:0 Ringbuffer[10]:0 Ringbuffer[11]:0 Ringbuffer[12]:0 Ringbuffer[13]:0 Ringbuffer[14]:51 Ringbuffer[15]:93 Ringbuffer[16]:93 Ringbuffer[17]:93 Ringbuffer[18]:93 Ringbuffer[19]:93 Ringbuffer[20]:93 Ringbuffer[21]:93 Ringbuffer[22]:0 Ringbuffer[23]:0 Ringbuffer[24]:0 Ringbuffer[
-
Thread
C++ Klassen für DLL exportieren und von dieser erben
Basis "erbt" (geht das überhaupt?) - Eine einzelne DLL für die Kombination Basis+Device Gruss P51D
> vefügbar sind. Hä? Geht genauso wie ohne DLL Patrick B. schrieb im Beitrag #5266018: > // MS Visual C++ compiler emits C4275 warning about not exported base > class. Dann exportier die Basis Klasse halt?
-
Thread
ungewollter Reset AtMega128
Controllers. Im MCUCSR sind danach PORTF, EXTRF und JTRF gesetzt. Das Datenblatt sagt mir dazu auf Seite 51 verschiede Erklärungen, wobei ich nicht deuten kann wodurch dir Kombination aus den oben genannten auftreten soll. Die Spannungsversorgung sollte eigentlich stabil sein. Die Schaltung ist auf einer
auch zum Systemreset kommen. Beim Encoder, den du einsezen tust, ist eine enprellung von ca. 3-5ms notwendig, um Betriebssicherheit zu gewehrleisten, das muß Du sinnvollerweise in der sw machen. wie oben schon gesagt, kannst Du die Cap. richtung 100p-1nF einsetzen gruß
-
Thread
Wickenhäuser uC51 - Hex-Datei arbeitet nicht korrekt.
Hallo, ich hab gerade festgestellt, dass die Hex-Codes, die beim uC51 Compiler von Wickenhäuser mitgeliefert werden nicht zum mitgelieferten C-Quelltext passen. Ich hab das Programm msc1210/elmet/elm_volt.hex auf meinen uC gebrannt und das Programm hat das gemacht was
nochwas: Wenn du die Sourcen in einen anderen Ordner kopierst, achte darauf, das diese wieder in C:/yc51/src/msc1210 liegen. Und: Der Ordner darf keine Ö/Ü´s etc. enthalten und am besten auch keine Leerzeichen. Sonst schmeisst es das umshell-Programm. [c] void init_msc1210(void) { /********
-
Thread
Source Files zu Hexcode wandeln geht nicht
******************************************* SIGNAL (SIG_OUTPUT_COMPARE1A){ if (++cnt_2ms==50){ // every 50 x 2ms = 100ms cnt_2ms=0; // Reset 2ms Counter cnt_Ready_Led++; // increment 100ms counter if (cnt_Pulse > 0) {
UART_Send_Buffer[0]; // Send first character } // Ready LED: Flash every 5 Seconds für 100ms if (cnt_Ready_Led > 50) { LED_Ready_On; if (cnt_Ready_Led > 51) { cnt_Ready_Led= 0; LED_Init_Off; } } else { LED_Ready_Off; } // If '
-
Thread
Zeitfunktion generieren
Display ausgeben. So soll es mal aussehen: xx Stunden xx Minuten xx Sekunden. Ich verwende ein AT89C51CC03 Datehblatt: http://www.atmel.com/dyn/resources/prod_documents/doc4182.pdf Compiler: Keil µVision 3 Das habe ich mir überlegt: //Initialisierung der Variablen usw. ist Vorausgesetzt //zeits
erreichen können. (Es sei denn, Du arbeitest mit einen Quarz so um die 500kHz!) Deshalb sind die 50ms Zeitraster schon ok.
-
Thread
Logbuch Programmierung für Zugangskontrolle
wie die Pins vor dem Stomausfall waren. Funktioniert eigentlich ganz gut... delay_ms(2000); break; } if (*ident == 1){ //Ist schon dauerkanal lcd_free(); lcd_gotoxy(0,0); lcd_puts("Nothing to do"); delay_ms(2000); } break; } } eeprom_write_byte(0, tchanel2); eeprom_write_byte(10, tchanel3); eeprom_write_byte(20, tchanel4); eeprom_write_byte
-
Thread
Was ist mit dem avr-gcc 12.x passiert? Internal Compiler Errors Gesperrt
Portable\Mega2560\arduino-1.8.19\portable\packages\arduino\hardware\avr\1.8.6\cores\arduino\main.cpp:51:1: internal compiler error: in add_clobbers, at config/avr/avr-dimode.md:2705 51 | } | ^ libbacktrace could not find executable to open Please submit a full bug report, with preprocessed
man davon aus das der Rest automatisch passt. Ansonsten > müßte man beim atmega128 auch mmcu=avr51 angeben statt atmega128. Ist > ehrlich gesagt nicht ganz logisch für mich. Naja gut was solls. Du kannst natürlich auch "avrtest -mmcu=avr51 hello.elf" wenn das ELF für ATmega128 erstellt wurde;
-
Thread
welcher Mikrocontroller ist der beste
wohl ein AVR - Fan ... Für die 8051er gibt es in deutsch : " Das Microcontroller Kochbuch MCS51 ( Assembler )" Finde ich sehr gut . Heutzutage ist zwar in der Elektronikwelt alles sehr schnell "alt" , aber man kann auch übertreiben ... Was soll ein Supermegawahnsinnschip der mit 3% ausgelastet
RM 2,5, 6-polig (0.26 Euro) Bild: http://www.reichelt.de/bilder/web/C140/LW25MSF.jpg oder LU 2,5 MS 6 Stiftleiste, gerade, RM 2,5, anreihbar, 6-polig (0.28 Euro) Bild: http://www.reichelt.de/bilder/web/C140/LW25MS.jpg Diese beiden Stiftleisten sehen SEHR unterschiedlich aus. Deshalb habe ich ein
-
Thread
DSK-File von alter MFM-Platte erzeugen
such mal nach Norton Ghost 5.1 dann kommst du auch auf https://archive.org/details/GHOSTPE51 dort kannst du ein ISO runterladen, darin befindet sich neben der EXE auch die Beschreibung
habe es gerade nochmal von https://archive.org/details/GHOSTPE51 runter geladen
-
Thread
Mikrocontroller mit PC via HID
eingestellt wird damit der µC Zeit hat die > auch weg zu schaufeln. Also immer wieder ein paar ms warten? Danke für den Hinweis :-) Naja, schönen Abend noch, morgen gehts wieder früh los.
reindo schrieb im Beitrag #3910145: > Also immer wieder ein paar ms warten? Danke für den Hinweis :-) negativ. Die Empfangsunterbrechung sollte nur so lang wie nötig sein, nicht so lang wie möglich. Soll heißen bis das alle Daten auf dem RAM sind und die ISR sollte
-
Thread
I2C DS1621 mit 90S8515
2 .equ i2c_port = PORTD .equ i2c_pin = PIND .equ i2c_ddr = DDRD .equ UBRRVAL = 51 ;8MHz, 9600 Baud .def temp = r16 .def rTempL = r18 ;16 Bit Zählregister definieren für pause_10ms .def rTempH = r19 ; Stackpointer initialisieren ldi R16, LOW(RAMEND) out
1 ; 1SHOT-Bit in Config-Register setzen rcall putbyte rcall i2c_stop rcall pause_10ms ;register lesen rcall i2c_start ldi r16, 0x9E ; Adresse des Chips senden ( 0x9F = lesen , 0x9E = schreiben) rcall putbyte ldi r16, 0xAC ;config-Register rcall putbyte
-
Thread
Mint 19.2 zerschießt sein Dateisystem
RDI: ffff8e2e50f1dd98 [ 1692.339849] RBP: ffffb63fc2cd7cd0 R08: 8000000000000825 R09: 00000000610aaf51 [ 1692.339853] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8e2e50f1dd80 [ 1692.339857] R13: ffff8e2e50f1dd98 R14: 0000000000000246 R15: 0000000000000001 [ 1692.339864] FS: 00007fad5f109700
Und bevor noch schlaue Haarspalterei kommt: Ja, Windows 3.1 setzte auf MS-DOS auf. Aber den DOS-Prompt gab es auch darin schon, natürlich ohne Multitasking, weil sich MS-DOS nicht in das kooperative Multitasking von Win3.1 reinzwängen liess. Aber mit Linux hat das alles
-
Thread
uClock - Matrix-Uhr mit WS2812 LEDs
10307_10820_10821_537_10302_536_10843_10059_10884_10887_100031_10319_321_322_10103,searchweb201603_51,ppcSwitch_0&algo_expid=51e71651-cac0-4b41-8450-e2a05879806a-1&algo_pvid=51e71651-cac0-4b41-8450-e2a05879806a
ESP8266 bekommt maximal ca. 140fps mit aktivem WLAN usw. bei 16x16 = 256 WS2812B hin, beim Aufruf im 20ms Ticker, also 50fps, sehe ich keine Ungereimtheiten bei meinem Lagerfeuer. Gruß aus Berlin Michael
-
Thread
Controller hängt sich unregelmäßig auf
put_pixel_on_strip(6,6,2,1,0,0); put_pixel_on_strip(7,6,2,1,0,0); } _delay_ms(4000); _delay_ms(4000); } void init_main(void) { DDRD = 0xFF; master_init(); DDRA = 0xFF; //PWM TCCR2 |= (1<<WGM20) | (1<<COM21) | (1<<CS22) | (1<<CS20);
Grausamer Code. Würde die TWI-Routinen um ein Timeout mit Recovery erweitern. Die RTC wird im 50ms Rhythmus abgefragt, sobald die hängt, steht alles.
-
Thread
mal wieder ein Komet.
bekommt, habe ich noch zwei Bilder hochgeladen: eines vom Schlafzimmerfenster aus aufgenommen 13.07. 02:51, das andere 12.07. 23:18h.
problemlos. > > in welchem OS genau? Kubuntu 18 und 20 (LTS) Kann sein daß Du die vc++ runtime von MS installiert haben musst, ich glaub ich hab irgendsowas gelesen, scheinbar hatte ich die aber schon, bei mir gings sofort auf 2 Rechnern.
-
Thread
Realisierung eines I²C-Sniffers mit ATmega8
();//enable Interrupts while(1){ if(clk>=18) { clk=0; while(1){ PORTB^=0b11111111; _delay_ms(1000); if(~PIND&0b10000000)break; } } PORTB^=0b11111111; } } /*Interrupt service Routine für INT_O=SCL Anmerkung Clock muss mit steigender Flanke getriggert werden! Wurde in MCUCR Register
r27 514: af 91 pop r26 516: 9f 91 pop r25 518: 8f 91 pop r24 51a: 7f 91 pop r23 51c: 6f 91 pop r22 51e: 5f 91 pop r21 520: 4f 91 pop r20 522: 3f 91 pop r19 524: 2f 91 pop r18 526: 0f 90
-
Thread
(SD Karte) div. Fragen: Adresse FAT , Parameter NAC
Zu 1) Zum Einlesen in die FAT-Materie empfehle ich das Orginal von MS: (http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/fatgen103.doc). Zu 2) Wenn du z. B. die Clustergröße vorgeben möchtest, dann verwende den FORMAT-Befehl direkt
Zugriffszeit. Da er sowieso nur im Fehlerfall in Kraft tritt, stört es mich dann wenig, ob der schon nach 100ms oder erst nach 1s einen Fehler meldet.
-
Thread
"Absaugen" von Daten aus Web-Datenbank verhindern?
grossartig! Viele Unternehmen nutzen intern schon Office365-SSO, weil bei denen eh schon alles über die MS-Cloud läuft... Ob man es gut findet oder nicht steht nicht zur Debatte, Fakt ist, AD und Office365 ist de facto Standard in größeren Unternehmen. Daran ändert auch meine MS-Abneigung nichts. Wie du
oder ich MS mag, aber es ist nun mal Fakt). Das hat nicht, aber auch gar nicht mit Chrome, OpenOffice oder LibreOffice zu tun. Es ist einfach nur ein System, in dem du deine Benutzer verwaltest, und welches von
-
Thread
Warum sind MacOS und iOS so beliebt?
GCC gab's dann mit den aufkommenden 386ern als DJGCC kostenlos (nur für 80386, da er mit dem puren MS-DOS-Speicher nicht ausgekommen wäre). Mit OSX hat natürlich Unix Einzug gehalten und damit auch die komplette Palette der dafür tauglichen Opensource-Software. Außerdem bieten nunmehr sowohl Microsoft
Zum Vergleich: Samsung S10 486€ Samsung A21 169€ Samsung A71 369€ Samsung A41 221€ Samsung A51 251€ Das Note20 kostet 1229€, aber das müsste man dann schon mit einem Apple vergleichen, das ebenfalls 256GB hat. Die kosten auch über 1000€. Wobei Samsung eher eine teure Marken ist. Die meisten
-
Thread
Tiny1 Serie Bootloader Segmentierung Flash geht nicht?
, merkte ich, ich hab den Durchblick völlig verloren. In der Firma war aber eine Lizenz des Keil C51 verfügbar und so habe ich damit gearbeitet. Es ist mir sprichwörtlich die Kinnlade runtergefallen, so kompakt und effizient hat der Herr Keil programmiert. Ich konnte das Projekt nun problemlos beenden
= PIN1_bm | PIN2_bm; while(1) { PORTA.OUTTGL = PIN1_bm | PIN2_bm; _delay_ms(500); } } [/c] Das Hauptprogramm kompiliere ich mit -Wl,--section-start=.text=0x0080 Die Headerdatei fuses.h ist bei Bootloader und Hauptprogramm gleich und setzt FUSES.BOOTEND auf 1: [
-
Thread
Interessante Webseite
dies am unteren Frequenzbereich oder am oberen Ende messe. Das ganze habe ich mit meinem Texscan AL-51 Spektrum Analyzer ausgemessen und das die Ergebnisse stimmen garantiere ich. Zitat von DL2BZE: Im Schnitt liegt hier ein Signal mit -30 ... -40 dBm an, und wenn ich eine kleine Ausgangsfrequenz
Ich vermute mal, daß ich genauso gut mit meinem Gerät umzugehen vermag, wie Du mit Deinem Texscan AL-51. Wenn Du also anzweifelst, daß ich damit nicht messen kann, dann dürften die Meßergebnisse, die sich im wesentlichen mit denen von DL2VIC decken, ja auch nicht passen... Auf keinen Fall möchte ich
-
Thread
Sample Frequenz 48 KHz vs. 44 KHz
damit AV-Schnitt von komprimiertem Material etwas schmerzaermer ist, waeren Samplingfrequenzen wie 51.2kHz, 61.44kHz oder gar 61.378613786...kHz eine tolle Wurst. Haettehaettefahrradkette. scnr, WK
damit AV-Schnitt von komprimiertem Material etwas schmerzaermer > ist, waeren Samplingfrequenzen wie 51.2kHz, 61.44kHz oder gar > 61.378613786...kHz eine tolle Wurst. Wieso, du kannst doch auf der Frequenz schneiden, wo du willst? Es braucht beim Audio immer wenigstens eine 10-20ms lange Überblendung
-
Thread
HDMI/TMDS am Spartan7 mit VCCO 1.8V
TMDS Farbinformation. Was mich irritiert ist, dass hier http://www.ijircce.com/upload/2018/june/51_VHDL_IEEE.pdf Bitketten vertauscht werden und dann drunter 8B/10B da steht, aber hier https://www.oocities.org/yehcheang/TMDS_Encoding_Algorithm.htm wird nichts vertauscht. Tim schrieb im Beitrag
auf Seite 32 steht nur, dass man eine 128 Pixel andauernde Pause benötigt und zwar spätetens alle 50 ms. Hier http://tinyvga.com/vga-timing/1280x800@60Hz ist der H_Blank aber 400 Pixel lang. Das mag ja für VGA Röhre mal sinnvoll gewesen sein, aber muss das bei HDMI heutzutage auch noch so lange sein
-
Thread
Microstepping am Limit?!
Nur beim Ändern der Geschwindigkeit muß die CPU eingreifen. Bdw.: Bei 8,5khz hast Du nicht 8,5ms zur Verfügung, sondern ~ 115us. Viele Grüße, Stefan
Ändern der > Geschwindigkeit muß die CPU eingreifen. > > Bdw.: > Bei 8,5khz hast Du nicht 8,5ms zur Verfügung, sondern ~ 115us. > > Viele Grüße, Stefan
-
Thread
LCD nach Ein/Ausschalten TOT?
dann müsste ja ein _delay_ms(10) am Anfang gleich nach Main auch abhilfe schaffen wenns am timing liegt oder? danke
UBRRH = 00; //Baudrate einstellen 9600 bei 8 MHz UBRRL = 51; lcd_clrscr(); //Display löschen lcd_puts("SC-SW: Durchgang"); //Ausgangstext auf dem Display
-
Thread
Abschlussprojekt
Am Anfang würde ich erst mal die Auswertung dieses > Bit > weglassen. 19200 Baud, also Teiler 51, 8 Datenbits, keine PArität, 1 Stoppbit. > > Dann wie ist das Kommando aufgebaut? > Mit anderen Worten "Sprechen Sender und Empfänger die gleiche Sprache?" > und welche? > Ich kann (leider) kein
dieser mit einem Wert initialisieren müssen dass die Frequenz der Motoren bzw. die Periodendauer 1 ms sprich 1kHz ist. Wie soll ich das machen??
-
Thread
Interrupt bei Timer1
TMOD&=0x1F; TMOD|=0x10; TH1=ZEIT>>8; TL1=ZEIT&0x00FF; ms_timer = 10; } Soweit klar, (hoffe ich) Timer1 = keine Abhängigkeit von externer Freigabe = ist ein Timer, kein Zähler = Modus ist 1 (16-Bit Timer, ohne Autoreload) TH1 = FCh TL1
Interrupt für Timer1 wird freigegeben } Nun zählt doch der "Timer 1 Counter" hoch und setzt (nach 1ms) das Interruptflag TF1. Soweit sollte ich es doch richtig verstanden haben, oder? Nun da dieser Interrupt ausgelöst wurde suche ich in der Interruptvektor Tabelle nach diesem Interrupt. In der User
-
Thread
Schreiben oder Lesen eines I2C-EEPROMS funktioniert nicht
>> 8)); i2c_byte((uint8_t)(adress & 0xff)); i2c_byte(data); i2c_stop(); _delay_ms(5); } uint16_t readWord24LC1025(uint32_t adress){ uint16_t data = 0; if(adress > 0xffff){ // read from second block i2c_start(i2c_Adress_24LC1025 | (1 << 3)); i2c_byte
); adress++; len--; } } i2c_stop(); _delay_ms(5); } [/c]
-
Thread
Bitte um Codebewertung/ µ-Controller Neuling
// Initialisation Ports, seriell Transmission, Interrupts init_ports(); init_USART(51);//8M/(16*9600)-1 //sei();//Global Interrupt Enable ///////////////////////////////////////////////////////////////////////////////////// //Check UDR DATA and select Programm while(1)
////////////////////////// void Aus_Ein_Next() { PORTD = 1<< PB4 ; // PB4 --> AUS _delay_ms(2000); PORTD = 1<< PB5 ; // PB5 --> EIN _delay_ms(2000); PORTD = 1<< PB6 ; // PB6 --> NEXT } [/c] Ich freue mich auf Eure Antworten! MfG Domi
-
Thread
atmaga2560 + Interrupt + lan = abbruch.
am 2560: 53 SS) /51 MOSI /50 MISO /52 SCK Lan karte 10 SS /11 MOSI /12 MISO /13 SCK Inter. 0 = Digitaler Pin 2 Temperatur Sensoren hängen am pin 22 0-15A Spannungsmessung (Füllzustände)
Hi Das delay(x); lässt wohl eine Schleife laufen, Die x ms Zeit braucht. In der Zeit macht der µC aber nichts Anderes - außer vll. auf Interrupts reagieren. MfG
-
Thread
Binär-Uhr hoffentlich finale Schaltung
12 Takte mit entprellen bei > 30Hz Refresh @1Mhz: Ein Taster prellt doch typischerweise ca 20-30ms. Wie komme ich da mit 12 Takten hin? Oder werde ich früher oder später auf solche kniffe beim Programmieren kommen, dass ich das entprellen im Hintergrund laufen lassen kann?
Grund nennen, weshalb die Transistoren für die Stunden- und Minuten-LEDs doppelt sind? Q43 mit Q58, Q51 mit Q59, Q52 mit Q60, ...Q56 mit Q62
-
Thread
Header-File automatisch generieren
line (H) 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 90-9F Fourth line (H) 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F D0-DF */ //------------------------------------------------- static void LCD_Delay ( void ) { delay_ms(30); } //--
; delay_ms(1000); } //---------------------------------------- void LCD_Strobe(void) { LCD_Steuerport &= ~LCD_E_PIN; LCD_SDelay(); LCD_Steuerport |= LCD_E_PIN; LCD_SDelay();
-
Thread
Cmsis RTOS RTX: Stack Kontrolle
id_nr = button_id; task_id_pool[BTN_TASK].name = "BTN_TASK"; [/c] In main() wird alle 500ms die Funktion CheckThreadStacks() aufgerufen. Desweiteren füge ich überall dort, wo ich eine expliziete Kontrolle durchfühen will, diese Zeilen ein: [c] #if defined(DEBUG) CheckThreadStacks
Mehmet K. schrieb im Beitrag #4554863: > In main() wird alle 500ms die Funktion CheckThreadStacks() aufgerufen. Ich sehe nicht so recht, wozu das überhaupt gut sein sein soll. Man muß sowieso auf maximale Stack Usage auslegen, und die durch Ausprobieren ermitteln