Kanal-Value raus. Jetzt diese kleine rekursive Funktion: Kommt während dem Senden der (maximal 511) "Null-Bytes" nochmal ne neue Information rein soll diese, sofern man an dem jeweiligen Kanal noch nicht vorbei ist, eingebaut werden. Danach soll es bis zum ursprünglichen Kanal weitergehen. (..
Problem, Du kannst senden und empfangen, wie Du lustig bist. Du brauchst nichtmal Interrupts dazu. Z.B. bei 9600Baud dreht die CPU erstmal 20833 Zyklen Däumchen (bei 20MHz), ehe sie das nächste Byte in das Senderegister packen darf. Kannst also bequem testen, ob inzwischen irgendwas empfangen wurde
Bei dem 16Bit Counter müsste ich dann TOP = 511 setzen, dann bekomme ich eine Auflösung von 9Bit. R = log(TOP+1)/log(2) = log(511+1)/log(2) = 9 Daraus kann ich dann die die Frequenz errechnen(im Fast PWM Mode): f_PWM = f_clkio / (N*(1+TOP)) = 16MHz / (1*(1+511)) = 31,25kHz, richtig? Der Unterschied zwischen den 3 Modi muss ich mir auch nochmal näher anschauen, also Fast PWM, Phase Correct und Phase & Frequency Correct Mode's. Wobei ja schon drin steht,
Mit nem OpAmp z.B. als Impedanzwandler "auskoppeln"->gleichrichten->Komparator
Signals mit 9 Bit und ohne zusätzliche Hardware abgetastet werden. Ohne Signal wird der ADC im Idealfall 511-512 ausgeben, mit Signal die entsprechende Abweichung nach oben und unten. Über Subtraktion kann man diese Abweichung in eine Absoultzahl wandeln, mit der man die weiteren Berechnungen anstellt. Über
Hallo, Stefan "stefb" B., vielen Dank für die Mitteilung der Seite Selbstbau Radios usw. ! Diese Seite ist einfach gut !!! ( Beispiel: Schaltung MW-Audion aus Experimentierkasten Kosmos XG: habe ich im Original, 1970
I12 The last ERROR response number. I13 The Sniff status is returned as follows:- Response: <cr,lf>a:b,c,d,e<cr,lf>OK<cr,lf> Where ‘a’ = 0 when not online and 1 when online and Sniff has been enabled, ‘b’ is the Sniff Attempt parameter, ‘c’ is the Sniff timeout parameter, ‘d’ is the minimum sniff interval and ‘e’ is the maximum sniff interval. All parameters ‘b’, ’c’, ’d’ and ‘e’ are given as Bluetooth slots which are 625 microseconds long converted from values of S Registers 561, 562, 563 and 564 respectively. I14 The current boot mode (Only for firmware 1.18.0
Layer Simplified Specification Version 2.00 2. Data Packet Format for Wide Width Data (Ex. ACMD13) b511 b0 Ex. SD Status Start bit End bit Wide Width Data Ex. DAT0 0 b511 b510 b509 b508 b1 b0 CRC 1 [SD memory] Data Packet Format for Standard Bus (only DAT0 used) ACMD13(SD Status), ACMD51(SCR), etc Start bit End bit DAT3 0 b511 b507 b503 b499 b7 b3 CRC 1 DAT2 0 b510 b506 b502 b498 b6 b2 CRC 1 DAT1 0 b509 b505 b501 b497 b5 b1 CRC 1 DAT0 0 b508 b504 b500 b496 b4 b0 CRC 1 Data Packet Format for Wide Bus (all four lines used
unbenutzten ZwischenrÄume mit Leerzeichen aufgefÜllt werden. Beispiel: Listing 7 "FOO BAR" -> FOO.BAR "FOO B " -> FOO.B "PRETTYBIG" -> PRETTY.BIG Alle EintrÄge mÜssen in Gro¿buchstaben sein. Daher gibt es auch keine Unterscheidung zwischen Gro¿- und Kleinschreibung. Es kann also nicht die beiden Dateien Foo.bar
wird. Erreicht der Timer einen bestimmten Zählerstand (festgelegt durch die Register OCR1A und OCR1B) so wird eine Aktion ausgelöst. Je nach Festlegung kann der entsprechende µC Pin (OC1A und OC1B) entweder umgeschaltet auf 1 gesetzt auf 0 gesetzt werden. Wird der OC1A/OC1B Pin so konfiguriert, dass
Energie beim Kondensator im Im Dieelektrium steckt und bei der Batterie in den Stoffkonzentrationen (zB Säuregehalt) @Norbert: Was spricht denn gegen Bleigel-Akkus?
15 V 2 5 mA O(min) in IO Output Current Vin VO= 5 V TJ= 25±C 800 950 1300 mA eN Output Noise (%VO) B =10Hz to 10KHz TJ= 25±C 0.003 % SVR Supply Voltage Rejection I = 40 mA f = 120Hz T = 25±C 60 75 dB O J Vin VO= 3 V Vripple 1 PP V d Dropout Voltage O = 100 mA 1 1.1 V I = 500 mA 1.05 1.15 O O = 800 mA
define UART_BAUD_CALC(UART_BAUD_RATE,F_OSC) ((F_OSC)/((UART_BAUD_RATE)*16l)-1) #define SPIDI 6 // Port B bit 6 (pin7): data in (data from MMC) #define SPIDO 5 // Port B bit 5 (pin6): data out (data to MMC) #define SPICLK 7 // Port B bit 7 (pin8): clock #define SPICS 4 // Port B bit 4 (pin5: chip select
E24 Sortimente an je Widerstand ca 150 Stk falls nicht anderst Angegeben. Angaben in SMD Code z.b. 120 sind 12 Ohm 121 sind 120 Ohm 124 wäre also 120 KOhm Bei werten in ( ) sind mehr als 80 vorhanden Bei werten in " " sind mehr als 100 vorhanden falls nicht Aufgelistet ist der Wert auch nicht
Single Supply 0 +V – 2 0 –V – 2 0 +V +2 0 +V – 2 Volts 4 S S S S Usable Output Current 5 5 5 5 mA 3 dB Bandwidth 15 15 15 15 kHz ALARMCHARACTERISTICS VCE(SAT)t 2 mA 0.3 0.3 0.3 0.3 Volts Leakage Current 61 61 61 61 Amax Operating Voltage at – ALM +VS– 4 +V S 4 +V S 4 +V S 4 Volts Short Circuit Current
einiger Zeit mal meinen grafikfähigen Taschenrechner etwas "getuned" und ihm statt der originalen 32kB einen neuen Chip mit 512kB eingebaut. Da das ganz gut funktioniert, möchte nun jemand anders das Ganze auch machen. Den Chip (M68AW511) hatte ich damals bei Conrad gekauft, dieser wurde aber aus dem
Bei segor wird z.B. 628512-70 3,3V in SO32 angeboten.
65535 - s * 256; q = 65535 - s * f; t = 65535 - s * (256 - f); switch( i ) { case 0: R = 65535; G = t; B = p; break; case 1: R = q; G = 65535; B = p; break; case 2: R = p; G = 65535; B = t; break; case 3: R = p; G = q; B = 65535; break; case 4: R = t; G = p; B = 65535; break; default: R = 65535; G = p; B = q; break; // case 5: } nr=pgm_read_word(&table[R>>6]); ng=pgm_read_word(&table[G>>6]); nb=pgm_read_word(&table[B>>6]); } SIGNAL(TIMER0_OVF_vect) { if(counter>=1024) { counter = 0; r = nr; g = ng; b
mm. inch. Dim. Min. Typ Max. Min. Typ. Max. A 4.40 4.60 0.173 0.181 B 2.5 2.7 0.098 0.106 D 2.5 2.75 0.098 0.108 E 0.45 0.70 0.017 0.027 F 0.75 1 0.030 0.039 F1 1.15 1.50 0.045 0.059 F2 1.15 1.50 0.045 0.059 G 4.95 5.2 0.194 0.204 G1 2.4 2.7 0.094 0.106 H 10.0 10.40 0.393
Wert des PWM Signals soll nochmal mit dem aktuellen Wert der Lenkung verrechnet werden. Also z.B. bei einem PWM Wert von 100 muss irgendwie der Lenkeinschlag von 0-128 hinbeigerechnet werden. Und zwar soll dabei die 128 des Lenkeinschalgs der 100 des PWM Signals entsprechen, die 0 des Lenkeinschlags
ganz rechts. Jetzt möchte ich, je nach dem wie weit eingelenkt wird, den Motor abbremsen. Also z.B. beim Rechts lenken: PWM => 0 - 255 (nehmen wir einfach mal den Wert 30 als aktuellen) Bei einem Wert der Lenkung von 128 soll der PWM 30 erhalten bleiben. Desto weiter aber der Lenkwinkel gegen
Stackpointer initialisieren out SPL, temp1 ldi temp1,0x01 ; out DDRD,temp1 ;PD1 ist ausgang ldi temp1,0b00001000 ;lade in register16 out DDRB, temp1 ;PB3 ist Ausgang ldi temp1, 0b00000101 out PORTB,temp1 ; PortB (PB0 / PB1)ist eingang LOOP: ldi temp,0x40 ;64 frequenzteiler PRESCALER out TCCR1A,temp ldi temp,0x09 ;9 bit zählt bis 511 out TCCR1B,temp ldi temp,0x50 ; zähle bis 95 out OCR1AH,temp ldi temp,0x90 ; zähle bis 144 out OCR1AL,temp rjmp LOOP ;********************************************************************************
akzeptiert. Bei 0x01 hingegen war der CRC 4129 auf DAT0 gültig. Fazit: irgendwas stimmt nicht. Da 0x02 z.B. auf DAT1 irgendeinen gültigen CRC haben müsste. Vllt hat jedmand schonmal damit herumexperimentiert und weiß mehr...!? Ich würde den code gerne zum Schluss, wenn er funktioniert veröffentlichen.
nochwas vergessen: Ich hatte noch einen weiteren Test durchgeführt: Ich hab diesen 0-Bytes-Block-außer[511]=0x02 per CardReader auf die Sd-Karte geschrieben. Dann hab ich diesen Block ausgelesen. Die SD-Karte gibt ja in dem Fall den CRC mit. Diese CRCs habe ich gespeichert und versucht den ausgelesenen
Die Umrechnungsfunktion ist eine Geradenfunktion der Bauart y = ax + b Die Gerade schneidet den Nullpunkt, also ist (0, 0) auf der Geraden und das b in der Geradengleichung ist 0. Damit ist bereits ein Punkt bekannt und du brauchst nur noch einen zweiten Punkt, um
ist 2,922... Problem!![/c] Wenn du deinen Wert durch 3 teilst, dann bekommst du 0-341, durch 2 0-511... Ziemlich nahe würdest du hiermit an deine 350 kommen ( 0-355 ): [c]uint16_t wert; wert = ReadChannel(4); wert *= 8; wert /= 23;[/c] Bzw.: du teilst result am ende von ReadChannel() nicht
>)) <= <input_dataA>; end if; end if; end if; end process; process (<clockB>) begin if (<clockB>'event and <clockB> = '1') then if (<enableB> = '1') then <ram_outputB> <= <ram_name>(conv_integer(<addressB>)); end if; end if; end process;
>)) <= <input_dataA>; end if; end if; end if; end process; process (<clockB>) begin if (<clockB>'event and <clockB> = '1') then if (<enableB> = '1') then <ram_outputB> <= <ram_name>(conv_integer(<addressB>)); end if; end if; end process;
---------------------------------------------------- 3. # WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al. 4. # 5. # Released to the Public Domain 6. # 7. # Additional material for this makefile was written by: 8. # Peter Fleury 9. # Tim Henigan 10. # Colin O'Flynn 11. # Reiner
Mit vertauschtem DI und DO lief der Bilderrahmen auf Anhieb. Leider gibt es keine kleinen (<128mB) SD/MMC-Karten mehr zu kaufen. Der Bilderrahmen läuft bei mir mit einer 512MB und 1GB SD-Karte ohne Probleme. Der Oszillator Q1 ist ein 9,8304 MHz -> habe leider keinen schnelleren. Falls ich den
finde. :( Gibt es eigentlich auch eine Tabelle wo man für jede Farbe die passende Hexzahl für z.B. den Hintergrund findet unter google finde ich solche nur für 32-bit Farben aber nicht für 16-bit. Oder kann man die anpassen? Fragen über Fragen Danke für die mühe wenn ich was übersehen habe
equ DATA0PID =0b11000011 ;PID for DATA0 field .equ DATA1PID =0b01001011 ;PID for DATA1 field .equ OUTPID =0b11100001 ;PID for OUT field .equ INPID =0b01101001 ;PID for IN field .equ SOFPID =0b10100101 ;PID for SOF field
Carry Rd - Rr - C Z, N,V,C,H 1 CPI Rd,K Compare Register with Immediate Rd - K Z, N,V,C,H 1 SBRC Rr, b Skip if Bit in Register Cleared if (Rr(b)=0) PC ← PC + 2 or 3 None 1/2 SBRS Rr, b Skip if Bit in Register is Set if (Rr(b)=1) PC ← PC + 2 or 3 None 1/2 SBIC P, b Skip if Bit in I/O Register Cleared if
display area can be separated, and each window separated can be controlled independently. x 0 1 255 510 511 0 0 7 0 0 B7 0 0 8 F F y 0 h h h h h B6 0 0 0 0 0 0 0 F F F 1 h h h h h B5 64 … dots B4 0 B3 0 0 F F F 7 h h h h h B2 B1 Display area 256 dots Hidden area 256 dots B0 All display memory 512 dots - 8
Bjoern B. wrote: > was passiert wenn ich einer mit "char" deklarierten Variablen die den > Wert 255 besitzt eine 1 hinzuaddiere? Gibt es einen Überlauf und der > wert wird 0? Eine char-Variable hat per Definition
Maschine, aber mind. 16 Bit) Für die "natürliche" Breite kann auch long gewählt werden. So macht es z.B. der GCC auf 64Bit Platformen. sizeof(int) == 4 sizeof(long) == 8 sizeof(long long) == 8
cleaner with Philips P89LPC901 6. Appendix A C A 5 E 7 S 3 / F C n 2 2 a 0 r ot 1 6 i o R 9 n M T 1 U T B M R R 2 6 2 K 8 K R 0 1 8 3 14 D 4 1 5 M F R 1 4 1 C 0 8 7 6 5 0 4 I / I 0 1 4 V 0 B E B / C F P A P K 1 u N M P 1 C 5 0 P 0 . 9 1 2 P P d A . A . T L 1 V X P X P R 8 / U P R R 1 2 3 4 0 1 K K R 0 V
würde gerne die Text-Files auf der SD-Card nach der Startzeit der Protokollierung benennen, also z.b. 0709171030 für 17.09.07 10:30. Jetzt hat der Dateiname allerding mehr als 8 Zeichen...ginge das trotzdem mit FAT 16? Wo finde ich auf die Schnelle Infos zum Implementieren von FAT auf dem MSP430
mode while (1); } [/c] Er schreibt ein Array aus 512bytes. Dieses ist mit 0, 1, 2, ..., 511 belegt. Dieses Array wird jetzt in Sektor 1 der SD-Card geschrieben. Danach überschreibt er das Array (buffer[i]) mit neuen Werten 64, 65, ..., 566. Dieses Array wird jetzt in Sektor 2 der SD-Card
to Noise als wenn man mit einem AVR mit 1ms choppert. Mit einem AD630 kann man das Signal aus 100dB noise noch rausziehen, gemaess Appnote. Ich hab meine Muehe damit, dass das mit einem AVR noch moeglich sein soll. Zumal der dynamische Bereich des ADC gerade mal 60dB ist.
Ich weiß jetzt mit "Sweep" nichts anzufangen. Aber eine Folge von z.B. 1011001110001111000011111100000 oder jede Frequenz ca gleich lang z.B. 101010101010110011001100111000111000 führt zu eine scharfen Autokorrelierten. Gruß Fritz
Mach mal folgendes: TCCR1A = 0; TCCR1B = (1 << WGM12) | 5; // OutputCompare1A Register setzen OCR1A = 3599; // OutputCompare1A Interrupt aktivieren TIMSK |= (1 << OCIE1A); Und hänge eine LED an den Pin.
könnt ich mir nur so erklären, dass auch zwei andere IRQs von dem Timer ausgelöst werden (Compare1B und Overflow), und diese eben fälschlicherweise auch dieselbe ISR ausführen...
1,4,6,9,11,13,16,19,21,23,26,28,31,33,36,38,41,43,45,48,51,52,56,58,60,63,65,68,70,72,75,78,80,82,85,87,90,93,94,97,100,102,105,107,109,112,115,117,119,122,124,127,129,132,134,136,139,142,144,146,149,151,154,156,159,161,164,166,168,171,174,176,178,181,183,186,188,191,193,196,198,201,203,205,208,210,213,215,218,220,223,225,228,230,232,235,238,240,242,245,247,250,252,255,257,260,262,264,267,270,271,275,277,279,282,284,287,289,291,294,297,299,301,304,306,309,311,314,316,319,321,324,326,328,331,334,335,339,341,343,346,348,350,353,356,358,360,363,366,368,370,373,375,378,380,382,386,387,390,393,395,397,400,402,405,407,410,412,414,418,419,422,425,426,430,432,434,437,439,442,444,446,449,452,454,456,459,462,463,467,468,472,473,476,479,481,484,486,488,491,493,496,498,501,503,506,508,511,513,515,518,520,523,526,527,531,532,536,537,540,543,545,547,550,553,555,557,560,562,565,567,569,573,574,577,580,581,585,587,589,592,594,597,599,602,604,606,609,612,614,616,619,621,624,626 }; int cstep
ist, im übrigen halben cluster die Daten stehenlässt, welche vorher an dieser Stelle standen. Also z.B. Daten einer gelöschten mp3-Datei. Diese Daten spielt natürlich mein Player jetzt mit ab. Ich kann das ende auch nicht mit Hilfe von Filesize des Directory-entrys bestimmen, da ich in bestimmten Funktionen
nicht übrig. aber ich werd wohl nicht drumrum kommen, das ende sektorgenau mit zu speichern. mit max.511 byte falschen daten bringt der mp3-decoder noch kein schiefes tönchen raus
ins Displayram) Mein display zeigt eine nicht 2er potenz an zeichen an, deswegen musste ich die 16b/16b dividionsroutine von atmel. Für eine Zahlen zu ASCII conversation wird auch noch eine 8b/8b divisionroutine benötigt (um durch 10 zu teilen, das geht zwar auch etwas schmutziger aber ich hab aus
1,4,6,9,11,13,16,19,21,23,26,28,31,33,36,38,41,43,45,48,51,52,56,58,60,63,65,68,70,72,75,78,80,82,85,87,90,93,94,97,100,102,105,107,109,112,115,117,119,122,124,127,129,132,134,136,139,142,144,146,149,151,154,156,159,161,164,166,168,171,174,176,178,181,183,186,188,191,193,196,198,201,203,205,208,210,213,215,218,220,223,225,228,230,232,235,238,240,242,245,247,250,252,255,257,260,262,264,267,270,271,275,277,279,282,284,287,289,291,294,297,299,301,304,306,309,311,314,316,319,321,324,326,328,331,334,335,339,341,343,346,348,350,353,356,358,360,363,366,368,370,373,375,378,380,382,386,387,390,393,395,397,400,402,405,407,410,412,414,418,419,422,425,426,430,432,434,437,439,442,444,446,449,452,454,456,459,462,463,467,468,472,473,476,479,481,484,486,488,491,493,496,498,501,503,506,508,511,513,515,518,520,523,526,527,531,532,536,537,540,543,545,547,550,553,555,557,560,562,565,567,569,573,574,577,580,581,585,587,589,592,594,597,599,602,604,606,609,612,614,616,619,621,624,626 }; int
; //TCCR1A = (1<<WGM11)|(1<<WGM10); //no prescaler and reset on compare on match TCCR1B = (1<<CS10)|(1<<WGM12); OCR1A = steps[cstep]; TCNT1 = 0; //enable interrupt TIMSK = (1<<OCIE1A); sei(); while(1) { if ( tep > 255 ) plus = -1; else if (
plazieren. Bei unsigned int temp = adcval >> 7; ergibt sich ja ein für temp ein Wertebereich von 0..511, für R25 also 0 oder 1. Und genau so kommt's auch raus. Eine sign extension sieht anders aus.