-
Thread
DCF77 Uhr in C mit ATtiny26
tick over return; } Bei dem Takt von 3686400Hz und Prescale 1024 wird TCNT0 doch alle 0,27ms hochgezählt. Dann dauert ja "meine" Sekunde 183 * 64 * 0,27ms = 3,253 Sekunden. Muss da nicht doch an mehreren Stellen im Code angepasst werden. Sorry, ich bekomm das alleine noch nicht geregelt
Deines Codes ist mir etwas aufgefallen: Der Timer läuft 64 Mal pro Sek. über. Somit sind die 100ms bzw. 200ms-Bitzeiten 6,4 bzw. 12,8 Überläufe lang (Nachkommastelle nur der Theorie wegen;-). Bei mir betragen sie meist 7 bzw. 13 Überläufe. in der Funktion scan_dcf77() testest Du die Bit-Gültigkeit
-
Thread
PIC Programmiereinstieg
oder ich habe ihn überlesen. OpenOffice darf man sicher auch in der Firma einsetzen, wenn man kein MS-Office mag. Wenn nicht, korrigier mich mal jemand. Ich nutze die genannten Dinge nur privat, hatte keinen richtigen Anlaß, nach den Bedingungen zu suchen.
langweilen, lasse ich ihn auch manchmal float rechnen. C lieben gelernt habe ich auf dem 8051 (Keil C51). Ich mußte ein 10k Zeilen Programm übernehmen und erweitern. In Assembler undenkbar. Peter
-
Thread
Logic Analysator PL 200 von Digital Logic Instruments
NT 3.51 ? yeah - da war der MCSE noch was wert!!
kommt dann mit Lizenz. Wenn die SW auch unter w2k laeuft koennte ich ja mal eine meiner zahlreichen MS-Lizenzen nutzen ;p
-
Thread
Lötstationen
Aus... Wüsste nicht, was eine neue Lötstation gegenüber einer alten Trafolötstation wie einer Ersa MS 6000 (oder irgendwas entsprechendes von Weller) voraushätte... So ein gebrauchter Eisenklotz kostet um die 50 Euro, dazu einen neuen Kolben und eine Handvoll Spitzen, dann ist man bei 150 Euro, also
schon darüber Gedanken die teuren Spitzen soweit es technisch vernünftig ist, abzusichern. In der WESD51 wurde übrigens Dein Vorschlag in die Praxis umgesetzt. Bei der WESD51 wird der TRIAC über eine Kondensatorentladungsschaltung angesteuert. Ein statischer MCU IO-Pin kann da keinen Schaden anrichten
-
Thread
taster auf 2 arten abfragen
hmm also du meinst alle 10ms wird der int. ausgelöst in der int-funktion wird bei jedem aufruf nachgesehen welche taster gedrückt sind also für jeden taste eine variable und jedesmal wenn der int einen gedrückten taster feststellt
mal Codesammlung: http://www.mikrocontroller.net/forum/read-4-16594.html Da ist ein "C_tast.c51" von mir mit Repeat-Funktion, wenn eine Taste länger gedrückt ist. Peter
-
Thread
Keine MCU Auswahl unter Eclipse Juno mit AVR Eclipse plugin
unrecognized option '-mmcu=atmega16' make: *** [main.o] Fehler 1 12:43:34 Build Finished (took 76ms) Bin mit meinem Latein am Ende sieht aus als wenn etwas fehlt....
as: unrecognized option '-mmcu=atmega32' (!!!!!!!!!!!!!!!) make: *** [main.o] Fehler 1 13:45:51 Build Finished (took 122ms) Habe gerade noch diesen Thread gefunden!!! http://www.mikrocontroller.net/topic/266246 Ist das das gleiche Problem? Verstehe nur die Lösung nicht... was muss ich
-
Thread
zwei Byte übertragen AT89C51CC03 (8051)
einbinden //******************************************************************* #include <AT89C51CC03.h> #include <stdio.h> #include "Warten_MS.C" #include "USART.C" #include "Info.C" #include "ADW_Config.C" //******************************************************************* // Definitionen
printf("NO COMMAND"); break; } printf("\r\n"); Warten_MS(1); } } [/c]
-
Thread
Drei Taster auf einen Int0 Pin?
Timer eingesetzt haben, spielt auch das keine Rolle. Sinnigerweise lässt Du den Timer 0 mit z.B. 10 ms laufen. Im Timer0-Interrupt läßt Du eine Registervariablen zaehlen. Von 100 - 0 ergibt dann 1000ms. Weiterhin kannst Du im Timer-Interrupt deine Tasten einlesen und entprellen. Das Sekundensignal,
die unberechenbare Zeitverzögerung ja klar. Entschuldigt die Frage, aber ich kenn bislang nur MCs-51er und die haben das Problem einfach nicht. Aber man will sich ja weiterbilden... ;-) Gruß, Arne
-
Thread
Viessmann Eurola OC mit 2-Drahtbus nachrüsten
keine Symbole sondern wirklich direkt Bits sind, dann ergibt die Datagrammlänge von ca. 29ms eine Bitlänge von ca. 34 Bits. Bei mutmaßlich 8 Bit Nutzdatenlänge, einem Start und einem Stop-Bit sowie einem Parity-Bit wären das dann ca. 3 Byte pro Datagramm. Diese Werte habe ich im DSO-Decoder
0x12 -1.93904s 0x5D -1.92829s 0x00 -1.90574s 0x12 -1.89501s 0x04 -1.88427s 0x00 -1.58400ms 0x02 9.15200ms 0x07 42.2080ms 0x12 52.9520ms 0x0F 63.6880ms 0x00 86.2360ms 0x12 96.9680ms 0x04 107.712ms 0x00 1.99477s 0x02 2.00550s 0x07 2.03913s 0x12 2.04986s 0x39 2.06060s
-
Thread
AVR Studio 5 Assembler .include
rcall lcd_enable ; 1 rcall delay5ms rcall lcd_enable ; 2 rcall delay5ms rcall lcd_enable ; und 3! rcall delay5ms ldi temp1, 0b00000010 ; 4bit-Modus
ldi temp1, 0b00000001 ; Display löschen rcall lcd_command rcall delay5ms pop temp1 ret ; Cursor Home lcd_home: push temp1 ldi temp1, 0b00000010 ; Cursor Home rcall lcd_command rcall delay5ms
-
Thread
AtMega16 Timer Problem
<avr/interrupt.h> #include <util/delay.h> #define F_CPU 8300000 volatile uint16_t flag_1ms; ISR( TIMER0_OVF_vect ) // every 1ms { TCNT0 = (uint8_t)(int16_t)-(F_CPU / 64 * 10e-4 + 0.5); // preload for 1ms PORTB^=(1<<PB4); flag_1ms++; } [/c] int main(void) { // DDRx
Die Zugriffe auf flag_1ms in main müssen atomar sein.
-
Thread
Befehl wir nur einmal ausgeführt
i2c_write(0x70); //Wake up i2c_stop(); //stop //Wait for wake up delay_ms(1100); } void doEntf(){ //Messvorgang in cm Starten i2c_start(); i2c_write(0xE0); //slave id (0xE0) und write, LSB = low i2c_write(0); i2c_write(0x51); //Entfernung
} delay_ms(80); } } } } [/C]
-
Thread
C-Aufgabe: bedingtes Inkrementieren
Ich würde es auch mit 2 getrennten Timern machen. Bsp.: Timer 1 läuft mit 1 ms und fragt die Eingänge 1-16 ab, Timer 2 Läuft mit 5 ms und fragt die restlichen Eingänge ab.
Beitrag #4037910: > Ich würde es auch mit 2 getrennten Timern machen. Bsp.: Timer 1 läuft > mit 1 ms und fragt die Eingänge 1-16 ab, Timer 2 Läuft mit 5 ms und > fragt die restlichen Eingänge ab. Wäre eine Idee, aber ich habe keinen Timer mehr frei (eigentliches Target ist ein AVR aber ich fand
-
Thread
Eigenen Bootloader für At89C51ED2 schreiben
Hallo, ich möchte meinen AT89C51ED2 innerhalb der Applikation neu flashen können. Der µC kommuniziert über die serielle Schnittstelle mit einem Host Controller (spezifisches RS485 Protokoll). Mit dem Atmel Bootloader habe ich bereits
Hi, wie es beim AT89C51 geht, weiß ich nicht im Detail, habe genau das gleiche jedoch gerade für einen M16C gemacht. Ich hab den fabrikmäßig gelieferten Bootloader drin gelassen. Im letzten Segment vor der Interrupt
-
Thread
Probleme mit Keil Compiler und 8051
anstelle P1_1 = ~P1_1; // Blinkled invertieren (Bei mir läuft Dein Testprogramm, ohne "delay_1ms();", was Du uns vorenthälst, blinkt aber sehr schnell.) P1 kann oft keine LED direkt treiben, vorallem sollte die LED über Rv zwischen Portpin und VCC liegen. Matthias
SRAM-Auslastung ist. Für den Stack sollten noch etwa 16 Byte frei bleiben. Schau mal ins Startup.a51, was da für den Stack reserviert ist. Besser da dann 16 Byte eintragen, dann gibts nen Linker-error, wenn die nicht mehr da sind. Peter
-
Thread
C Programm läuft nicht auf Atmega16
&(1<<UDRE0))); //Send data UDR0 = data; } //=============Delay function void delay_ms( unsigned int ms ) { unsigned int i; unsigned int j; for ( i = ms; i; i-- ) { for ( j = 51; j; j-- ) { } } } int main(void) { // PORTB = 0xff; // DDRB = (1<<1); // PORTB = (0<<2); // delay_ms(100); // PORTB = (1<<2); USART_INIT(MYUBRR); while(1) { USART_Transmit('a'); // PORTB = (0<<2); // delay_ms(100); // PORTB = (1<<2); } } wäre
-
Thread
UART Kommunikationsproblem
UDR0 = data; return 0; } //=============Delay function======================== void delay_ms( unsigned int ms ) { unsigned int i; unsigned int j; for ( i = ms; i; i-- ) { for ( j = 51; j; j-- ) { } } } //=========
delay_ms(1000); USART_Transmit(receive); } } Gruß Dominik
-
Thread
OptoKoppler für ethernet und Ansteuerung der Status LEDs
Rückwandlung ist etwas kostspielig, Sollte für so ein sensibles Projekt doch keine Rolle spielen?. Area51 schwimmt doch im Geld! > will ja >einfach nur eine Optische Trennung haben... finde nur keine passenden >Optokoppler! Alle zu langsam! Wenn du glaubst, nur mit einem schnellen Optokoppler das
Umweg > eines Controllers mit Verstärker habe ich doch eine merkliche > Zeitverzögerung im niedrigen ms Bereich, selbst bei guten Controllern. Was lässt Dich sowas annehmen? Warum sollt ein simpler Signalpegelverstärker eine Verzögerungszeit im Millisekundenbereich haben?
-
Thread
neues WinAVR macht Probleme
pause() werden vom GCC "gnadenlos" wegoptimiert. Ggf. die Optimierung abschalten ;-( oder mit _delay_ms() und _delay_us() aus der avr-libc arbeiten (Einsteiger) oder Timer einsetzen (Fortgeschrittene).
/../lib/gcc/avr/4.1.1/../../../../avr/lib/avr5/crtm16.o:../../../../../avr-libc-1.4.5/crt1/gcrt1.S:51: first defined here AVRTel21: In function `__vectors': ../../../../../avr-libc-1.4.5/crt1/gcrt1.S:51: multiple definition of `__vectors' c:/progr-mcu/winavr070122/bin/../lib/gcc/avr/4.1.1/../../..
-
Thread
Ansteuerung CMOS Linear Image Sensor
schrieb im Beitrag #5408072: > Bei Flächensensor kenne ich eine Belichtungszeit von > mind. einigen ms. Beim Line Sensor wäre es aber nur einige us. Wo liest du das? Im Datenblatt tauchen Werte von 10ms auf (S.2) https://www.hamamatsu.com/resources/pdf/ssd/s11108_kmpd1112e.pdf
Das ist ja mein Problem: Eigentlich würde ich ms erwarten, aber auf Seite 6 steht, dass die Belichtungszeit der Dauer des High-Pegels des Startsignals entspricht. Leider steht dort aber auch, 204us beim Auslesen von 2048 Pixel.
-
Thread
WordClock mit DCF77, Photodiode und ATMega8
= 0; static uint8_t parity_hour = 0; static uint8_t parity_date = 0; static uint16_t timer1_50ms = (float) F_CPU / 1024 / 1000 * 50; static uint16_t timer1_150ms = (float) F_CPU / 1024 / 1000 * 125; static uint16_t timer1_250ms = (float) F_CPU / 1024 / 1000 * 250; static uint8_t timer2_overflows
? */ if ((PIND & _BV(PD2)) == 0) { /* we got a 1 */ if (counter > timer1_150ms && counter < timer1_250ms) { bitmap_buffer |= ((uint64_t) 1 << bitmap_counter); bit = 1; /* we got a 0 */ } else if (counter > timer1_50ms && counter < timer1
-
Thread
KW-Linearverstärker GG-Design: Wie Ug erzeugen?
durch das parallel liegende MS2 so gut wie nichts anzeigen. Das MS2 legt dann die Kathode direkt auf Masse! Da ist ein fetter Fehler im Plan!
der Versorgung sind. B- ist über 2 Punkte galvanisch mit Ground verbunden: 1: über R4 2. über MS1 und MS2 in Reihe. wobei R4 parallel zu beiden MS liegt. Jetzt wird PTT gedrückt. Der Strom fliesst von B- über MS1 (wird als Anodenstrom angezeigt) in die Kathode und weiter zur Anode. Über Ground
-
Thread
ADC Schutz/Filter Reihenfolge
Die obere Version gefällt mir besser, weil C51 direkt am ADC-Eingang sitzt, das ist zwar nicht viel niederohmiger als 1k, aber immerhin. Die Filterwirkung ist auch besser. Die BAT15 ist so extrem auf kleine VF optimiert, dass sie kaum noch als
Mit welcher Abtastrate wird da überhaupt gemessen? Gefühlsmäßig müßte das Anti-Aliasing Filter um C51 für eine niedrigere Grenzfrequenz ausgelegt sein. Bei C48 auf das Dielektrikum (Verlustfaktor) achten. Nicht daß der wegen Überlastung bei ESD-Beschuß niederohmig wird. Gruß Anja
-
Thread
Hochpräzises 90dB PPM, FPGA, µC oder doch Analog?
#5417570: > eine Integration über eine ZEit > erfordert? OP will PPM, also eine Peak-Anzeige. Die 10ms Integrationszeit aus der analogen Ära kann man sich sparen, da man in der digitalen Welt keine übersteuerten 10ms-Peaks will, die früher von der Bandmaschine angenehm plattgebügelt wurden.
>OP will PPM, also eine Peak-Anzeige. Die 10ms Integrationszeit aus der >analogen Ära kann man sich sparen, da man in der digitalen Welt keine >übersteuerten 10ms-Peaks will, die früher von der Bandmaschine angenehm >plattgebügelt wurden.
-
Thread
Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?
Grundbaustein. Oder er schaut ins Datenblatt vom 74181 damit habe ich angefangen. Und das war vor 51 Jahren ;-)
nur noch unter DOSBox laufen. Man braucht auch kein großes Entwicklungsboard mehr, ein AT89C51RB2 hat alles onboard. Mit Flip lädt man ein Programm über die UART in dessen Flash. https://www.digikey.de/de/products/detail/microchip-technology/AT89C51RB2-3CSUM/1245778 Die MCS51 lassen sich sehr
-
Thread
ATmega48, 1090MHz, USB-ISP Brenner , SOS.---
die fuses auf z.b. "Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms" und CKDIV8 abschalten. Übrigens, du brauchst doch die extra platinne nicht, du hast ein ISP programmiergerät, kannst damit im laufenden bertireb programmieren.
den schon hier erwähnten TBWE 18110IT aus einem Universum SR8101 receiver Und einen Mitsumi TSU7-E51D aus einem Skymaster xl 14 ohne s. Mein Problem ist nur, dass ich kein Oszilloskop besitze und nicht weiss wie ich die richtige PLL Spannung herausfinden soll. Grüße
-
Thread
Architektur für "background" Uart-Transmission
ca. 2µs ohne frische Werte. Läuft der ADC (Samplerate 500Hz), braucht die main routine alle 1.75ms einmal 250µs länger (das ist die Übertragungsdauer der Daten per SPI Schnittstelle bei ADC_ready) Zeit sollte also genug da sein!
ins uart modul gesteckt und gesendet. Das passiert also durchgängig, nur unterbrochen von der alle 2ms auftretenden interrupt-routine des ADCs.. Nun versuche ich das noch zu optimieren (nutzung der 250µs der interrupt routine und datenkompression)
-
Thread
Fragen zu MS Azure
Alle Cloud Anbieter, inklusive MS, Google und Co. haben ein System welches die Energieversorgung und die Zerstörung von Servern automatisiert. Das Prinzip ist: 1) Wenn nicht alle Server benötigt werden um alle User zu bedienen, werden
Beitrag #4729367: > Selbst beim kleinsten Cloud-Server darf es nicht 30s > fürs Login brauchen. MS Azure nutzt Windows Server. Da kann man schon glücklich sein, dass der Login unter einer Stunde ist.
-
Thread
Max233: Falsche Characters
BF BD BF 6F 6F 7D 77 6D 6F 77 62 19:09:25 hypertrm.exe IRP_MJ_READ Serial0 TIMEOUT Length 51: 56 46 53 3A A0 6D 6F 75 6F 77 75 77 BF 7B 6F 6F 77 BF AF 7B 7D 63 19:09:25 hypertrm.exe IRP_MJ_READ Serial0 TIMEOUT Length 24: 7B 6F 7D 7B 77 77 6F 7D 77 7B BF 7D 7B 75 BF BF 7F BF BB B7 B5
6D 6F 67 75 6C 75 7B 2F 33 2E 82 19:09:36 hypertrm.exe IRP_MJ_READ Serial0 TIMEOUT Length 51: 55 73 69 6F 77 2F 2F 6C 69 7B AF 6D 6F 67 75 6C 75 7B 2F 3B 2F 83 19:09:37 hypertrm.exe IRP_MJ_READ Serial0 TIMEOUT Length 52: 55 73 6D 6F 77 23 2F 6C 6D 7B 2F 6D 6F 64 75 6E 75 7B 2F 32 2E
-
Thread
DEBO OLED2 0.96 0,96" OLED-Display SSD1306 SSD1312 Initialisierung TWI I2C AVR ATmeg8 Assembler ASM
sind 1024 TWI/I2C Bytes zu > schreiben. > > Bei 16MHz Takt, SCL 444,444kHz, gelingt das in 11,6ms. 11,6ms, da hast du dich wohl etwas vertan. Rein rechnerisch sind bei 1024Bytes zu je 8Bits bei einer Bitzeit von 1/444,444kHz keine 11,6ms drin. Das wären dann ohne Overhead (Startadresse,Controll
, daher die 11,6ms. 1.024Bytes, bei einer noch zulässigen Bitrate von 10 und 16MHz Takt habe ich 22,6ms gemessen [avrasm] .equ TWI_BIT_RATE =0 ; Bit-Rate .equ TWI_PRESCALER =0
-
Thread
Sender - Stromsparend was nehmen?
über Jahre hinweg betreiben. Du brauchst nur einen kleinen µC, der nur jede Stunde einmal für wenige ms aufwacht und die Daten übermittelt und dann sofort wieder schlafen geht.
sammeln und 2mal/Tag die Daten sende: - 7uA * 150Tage = 0,0252mAh / 150 Tage (Deep sleep) - 24 * 100ms * 1mA = 0,0006mAh / Tag = 0,09mAh / 150Tage (Daten sammeln) - 2 * 100ms * 200mA = 0,01mAh / Tag = 1,5mAh / 150Tage (Daten versenden) Zusammen (Bestcase) = 0,0358mAh Verbrauch / 150Tage Eine Batterie
-
Thread
In-System-Programming über CAN
Guck mal hier http://www.atmel.com/devices/AT89C51CC03.aspx?tab=parameters
eine 100% sicheres Abfragekriterium beim Booten erzeugen könnte. Ich warte nach einem Reset ca 500ms auf eine bestimmte CAN-Nachricht. Erst wenn diese kommt, öffnet der Bootloader seinen kompletten Befehlssatz. Nach 500ms startet dann das Hauptprogramm. Einen Reset werde ich über CAN und dem Watchdog
-
Thread
Peter Danneggers Bootloader (fastboot) für AVR-GCC-Toolchain
address 0xfe00 *** LOADER_START=0x1fc00 STUB_OFFSET=0x3fe c:\WinAVR-20100110\bin\avr-ld.exe: avr:51 architecture of input file `bootload.o' is incompatible with avr output c:\WinAVR-20100110\bin\avr-ld.exe: avr:51 architecture of input file `stub.o' is incompatible with avr output make.exe: *** [
Ich hätte da noch mal eine Frage/Anregung: Wäre es möglich das Starten der Anwendung nach 300ms zu unterbinden, wenn ein an den AVR angeschlossener Taster betätigt wird? Sprich so lange PINX low ist unabhängig vom Timeout im Bootloader verweilen. Die 300ms können nämlich etwas kurz sein, wenn
-
Thread
Schrittmotor ansteuern über RS232
{ PORTB = 0b00000001; PORTB = 0b00000100; _delay_ms(DELAY); PORTB = 0b00000010; PORTB = 0b00001000; _delay_ms(DELAY); PORTB = 0b00000100; PORTB = 0b00000001; _delay_ms(DELAY); PORTB = 0b00001000
> { > PORTB = 0b00000001; > PORTB = 0b00000100; > _delay_ms(DELAY); > PORTB = 0b00000010; > PORTB = 0b00001000; > _delay_ms(DELAY); > PORTB = 0b00000100; > PORTB = 0b00000001; > _delay_ms(DELAY); > PORTB
-
Thread
Dmx senden mit einem 89C52 (8052)
ankommt, immer senden und verändern können. Ich bin für mehr Tipps wirklich dankbar. Auch was die 88ms + 10ms Verzögerung betrifft, ich würde das gerne anderst lösen. Gruß Andre
Thomas schrieb im Beitrag #3512586: > Ich bin > schon froh das es im Keil-Simulator tatsächlich 88ms und 10ms bei 16.0 > Mhz waren, denn die sind für das DMX Protokol wichtig. Alle meine Unterlagen sagen, das der Break eine Länge von min. 88µs hat, nicht 88ms. Kann aber auch 100µs werden: https
-
Thread
ATmega8 kann nicht programmiert werden
mal sehr kurz aufwachen soll um etwas zu tun und dann weiterzuschlafen. Dann machen die gesparten 50 ms schon etwas aus ;).
sehr kurz aufwachen soll um etwas zu tun >und dann weiterzuschlafen. Dann machen die gesparten 50 ms schon etwas >aus ;). Was hat das das Aufwachen aus einem Sleep mit dem 'Additional Delay from Reset', der mit den Fuses eingestellt wird, zu tun? MfG Spess
-
Thread
72421 RTC über 89c51 mit µvision
Hallo Hallo, ich bin am verzweifeln... Mein Problem: Ich programmiere einen at89c51 und steuer eine 72421 RTC an. Ich hab ein Programm mit Wickenhäuser geschrieben, compiliert, alles schick.. funktioniert. mein ausbilder ist ist nun der Meinung, dass wir auf KEIL umsteigen müssen
Z %u%u:%u%u:%u%u E",tagZ,tagE,monZ,monE,jahrZ,jahrE,stdZ,stdE,minZ,minE,secZ,secE); _wait_ms(200); getchar(); } } [/c]
-
Thread
Faktor 10 in der UART-Kommunikation
Überprüfe ich im Debugging die Register, werden diese auch alle richtig gesetzt. UBRR hat den Wert 51 und die oben gesetzten Bits sind auch alle da! Mit dem Oszi habe ich jetzt die Breite eines Bits ermittelt (ca. 52ms). Diesen Wert mit 10 (Startbit, Stopbit und 8 Datenbits) multipliziert ergibt eine
schrieb im Beitrag #3362255: > Mit dem Oszi habe ich jetzt die Breite eines Bits ermittelt (ca. 52ms). > Diesen Wert mit 10 (Startbit, Stopbit und 8 Datenbits) multipliziert > ergibt eine Baudrate von 1923 Quatsch. Bei 52ms pro Bit ist deine Baudrate 19230. Bei einer stinknormalen seriellen
-
Thread
Einfacher Mischer für DCF77-Superhet gesucht
von Franz schrieb: >Der ADC sampelt tatsächlich deutlich höher (rund 10kHz). Also hast du alle 16ms etwa 166 Zahlen die in einer Zeit von 16ms verarbeitet werden müssen?
Franz schrieb: >>Der ADC sampelt tatsächlich deutlich höher (rund 10kHz). > > Also hast du alle 16ms etwa 166 Zahlen die in einer Zeit > von 16ms verarbeitet werden müssen? Ja. Die Amplitude vom MSF60-Bit (100ms) berechnet sich aber aus der Gesamtamplitude von 6 Einzelamplituden. Insgesamt also
-
Thread
LED DMX-Controller mit STC 11L04E-35I-PDIP20
Datenblatt auch eine "Soft Start Time" mit einem Kondensator am Eingang beschrieben. Bei 1nF sollte es 1,5ms ergeben. Lässt sich das evtl. noch massiv vergrößern auf z.B. 1s? Gibt es eine andere Möglichkeit die Einschaltzeit zu verzögern? Gruß annD
mit Kondensatoren gegen GND zwischen > 1nF und 100nF machen? Eher viel grösser. Wenn 1nF etwa 1,5ms verzögert, dann also 1µF-4,7µF.
-
Thread
STM32 FatFS elm chan
einfacher, da mußte ich wirklich nur ein paar Einstellungen anpassen. Habe zum Versuch das PFF3 mit MCS51 probiert, lief auch rel. schnell, Aber mit FF11 und MCS51/STM32 zickt es. @Jim Meba Guter Tip. Damit wird es vermutlich zusammenhängen. Im Moment läuft es für das Projekt ausreichend, wenn ich
{ BYTE d=0; UINT tmr; for (tmr = 5000; tmr; tmr--) { /* Wait for ready in timeout of 500ms */ rcvr_spi_multi(&d, 1); if (d&0xff == 0xFF) break; _delay_us(100); } return tmr ? 1 : 0; } [/c] BYTE d=0; ist nur als byte angelegt, wird aber an spi als pointer übergeben
-
Thread
Visualisierung von geloggten Daten
Hallo, ist es möglich den wert Intervall in ms anzugeben, ich habe immmer 10 ms pro zeile ?. Gruß Markus
Auch schön: MegaLogViewer MS Version http://www.tunerstudio.com/downloads2/ arbeitet auch mit csv-Dateien
-
Thread
Kegelbahn Wurfergebnisse in PC übertragen
Thema "Bildgrößen"! Je 3MB für ein Bild sind für eine 100 MB-Handy-"Flatrate" unanständig viel. Mit MS-Paint nochmals als .jpg speichern reduziert schon beachtlich!
am Ende z. B. auf den Wert 10 gesetzt. Im zyklischen Programm wird diese Variable z. B. alle 10ms dekrementiert. So erreicht man, dass die Interruptroutine nach dem Auslösen für 100ms gesperrt wird und so keine Störungen durchkommen. Viele Grüße Otto