-
Thread
Serielle Schnittstelle
} [/c] Blackbird
data output (readable) |7|6|5|4|3|2|1|0| ports 278, 378, 3BC | | | | | | | `---- data bit 0, hardware pin 2 | | | | | | `----- data bit 1, hardware pin 3 | | | | | `------ data bit 2, hardware pin 4 | | | | `------- data bit 3, hardware pin 5 | | | `-------- data bit
-
Thread
Uhrzeit stellen
Jo, so steht's beim while und for in jedem C-Lehrbuch drin :-) Bei deinem for-Beispiel ist das cout << i; kein C sondern C++ Wenn du das for-Beispiel in ein while-Beispiel umformen willst: [C] for(int i=0 ; i<=10 ; i++) { ...Anweisungen
komplett herauskopiert worden. Benutzt wird ein ATmega8. Hier mal der komplette Uhrencode. [c] // LCD Clock #define XTAL 8e6 #define F_CPU XTAL #include <stdlib.h> #include <stdio.h> #include <avr/interrupt.h> #include <util/delay.h> #include "..\..\includes\BitUtilities.h"
-
Thread
SPI - RS-485 - CAN
er eine UART-Hardware besitzt, die bei entsprechender Einstellung > alle Bytes ohne gesetztes 9. Bit von sich aus ignoriert. wenn der µC die aber nicht hat? (TI Stellaris... :/)
ist es doch auch. Bei den AVRs wird im Multiprozessormode ein > RX-Interrupt nur bei gesetztem 9.Bit ausgelöst. Der Datenaustausch > erfolgt mit gelöschtem 9.Bit und die nicht adressierten Slaves bekommen > davon nichts mit. Ah - das ist natürlich gut. Blöd, dass das der µC hier nicht kann :/
-
Thread
define Ausdruck mit shift in 2 Richtungen
es geht darum dass ich für mein LCD alle pins einzeln frei konfigurierbar gemacht habe und jetzt ein Makro mit einem 8-Bit Port erstelle. Das Dipslay ist im 8 Bit Modus betrieben. #define LCD_P_D0 7 #define LCD_R_D0_OUT PORTD
#define SBIT_(port,pin) ((*(volatile struct bits*)&port).b##pin) #define SBIT(x,y) SBIT_(x,y) #endif [/c] Man kann schreiben: [c]SBIT(PORTA,1) = 0; SBIT(PORTA,2) = 1;[/c] und [c]if ( SBIT(PINA,0) == 0 ) { /* test */ } uint8_t j
-
Thread
Wachsender LED-Balken
richtig setzen und > fertig. Sehr sinniger Vorschlag zur Vorbereitung auf eine Prüfung in der C-Programmierung gefordert wird. Es ist auch in C nicht schwer ... ... wenn man regelmässig seine Übungen gemacht hat.
anktuelle Anzahl der leuchtenen LED`s. Diese wird nun je nachdem in welchem Unterprogramm (oder ohne einzelne Unterprogramm nach Status Status&0x80) verringert oder erhöht und ausgegeben. Sobald eine Bestimmte Zahl erreicht ist wird einfach auf Null gesetzt und Status Bit 0 umgedreht.
-
Thread
AVR ATMEGA8-16 -- Problem mit Bedingungen in Abfragen (while, if)
daß du nicht logisch (im Sinne boole'scher Logik), sondern umgangssprachlich denkst. Du willst abfragen, ob PIND0 /UND/ PIND1 gesetzt sind, also schreibst du eine UND-Verknüpfung hin. Aber das ist falsch. Bei [C] (1 << PIND0) & (1 << PIND1) [/C] wrd jedes einzelne Bit aus 1 << PIND0 mit dem entsprechenden
******************************* (1 << PIND0) & (1 << PIND1) = 00000000 [/Code] Aus deiner Abfrage wird also ein: [C] if (PIND & 0) [/C] Und bei dieser Verknüpfung kann im Ergebnis kein Bit jemals 1 sein, da auf der rechten Seite alle Bits 0 sind. > ist schon schwer, wenn man alleine
-
Thread
Gemeinsamer Hausbus
) betrieben werden. Kannst du da noch ein wenig mehr zu erzählen? Entwickle derzeit auch einen I2C Hausbus mit P82B96. Nutze 8 Adern um zusätzlich noch Interrupt und Reset direkt steuern/abfragen zu können.
.jpg I2C-Switch ist als BUS-Platine aufgebaut. I2C_SWITCH_002.jpg I2C-Steckkarte für 4 Segmente. I2C_SWITCH_003.jpg Rückseite I2C_SWITCH_004.jpg BUS-Patine Rückseite I2C_SWITCH_005.jpg Controller (IOW24)
-
Thread
DOGXL Fontgenerator (SW+Graustufen)
genommen (die bei anderen Projekten funktioniert). Hier jedoch tut sich gar nichts, ich glaube, dass der uC in der Schleife für das Abfragen des SPI Interrupt-Flags hängen bleibt. Bei mir ist Miso aktuell offen (ohne irgendein definiertes Potential). Könnte es daran liegen? Ein Test mit 10k gegen GND hat
Lass den [c]SPI_PORT |=(1 << SPI_SCK);[/c] mal weg...
-
Thread
Wittig(welec) DSO W20xxA Open Source Firmware (Teil5)
erstmal deaktiviert. Die Nachrüstung soll aber noch erfolgen. Weiterhin will ich auch versuchen den C-Code Treiber so weit zu optimieren dass er an die Performance des Assemblertreibers heran kommt. Im Zweifelsfalle ist das C-Coding wartungsfreundlicher und besser lesbar. Gruß Hayo EDIT: in einzelnen
luigi schrieb im Beitrag #4118778: > Off topic: > Playing with R19 (reducing) and C11 (increasing) a bit can we improve HF > BW linearity ? No, that is the wrong step. The OP1177 and the back coupling with C11/R19 is only responsible for the DC part of the signal. To change HF linearity
-
Thread
Schrittmotor Steuerung Atmega16 Interrupt Problem
Pfui bäh. _delay_ms(50); // Sofort entsorgen reti(); } [/c] [c] if(xstepin==1&&xdir==0) { //xstepin ist hier 1. Eine weitere Abfrage ist überflüssig. if(xstep==3) { }..... [/c] [c] // xdir konstant auf 0 setzen
[c] volatile int xstepin=0; [/c] Das volatile ist da. Aber es klappt trotzdem nicht.
-
Thread
Summensignal Auswertung (Mega644p)
Summensignal geht immer von Steigender Flanke zu Steigender Flanke, das möchte ich mit einem Interrupt abfragen, aber was ist sinnvoller INT oder PCINT, bzw. wo genau ist der Unterschied? Die einzelnen Signal gehen von 1-2ms, ich brauche die Werte in angaben von 0-255, also müsste der Timer 255 mal pro ms
extern volatile char ppmNewData; void ppmInit(); unsigned char ppmGet(int n); #endif /* PPM_H_ */[/c] ppm.c [c]#include "ppm.h" #define PPM_CHANNELS (6) volatile unsigned int ppm[PPM_CHANNELS]; volatile int chan = -1; #define T_MIN ((1*F_CPU)/64/1000) #define T_MAX ((2*F_CPU)/64/1000)
-
Thread
Tutorial 10x10x10 LED-Cube
hängen zusammen an einem Port vom ATM32. - OE wird auf gnd gelegt - jeder LE geht auf einen pin am µC - die bits werden vom lach übernommen und mit HI auf LE abgegeben also so: 0. ebene 1 einschalten 1. daten auf Latches 2. betreffenden LE auf HI 3. LE auf LO 4. neue Daten auf Latches 5. nächsten
B11111111 , &B11111111 , &B11111111 , &B11111111 , &B11111111 , &B11111111 , &B11111111 , &B10011111 [/c] füllt er den würfel schräg halb voll... wenn ich jedoch die ersten 8 Bit verändere...kommt nur müll bei raus... hier der (Müll-) Code [c] Data 1 Data &B11111111 , &B00100000 , &B00001000
-
Thread
Abfragen ob Taster mehrmals gedrückt wurde
. Arbeite dich für das nächste Mal zuerst in die Grundlagen ein... - Maskieren - Schieben - Bits setzen - Bits löschen - Entprellen - Funktionen <-> ISR - Timer, PWM, ADC... - RS232, SPI, I2C... ... Kauf dir ein kleines Demo-Board wo alles forhanden ist (ein paar Taster, LEDs...) und fang
Arbeite dich für das nächste Mal zuerst in die Grundlagen ein... > > - Maskieren > - Schieben > - Bits setzen > - Bits löschen > - Entprellen > - Funktionen <-> ISR > - Timer, PWM, ADC... > - RS232, SPI, I2C... Ich hab so das Gefühl, es hapert auch beim Konzept einer Variablen. Ich denke sogar
-
Thread
HART start byte (SD) struktur ?
, das ist klar. Läuft das prinzipiell so ? Burst starten: Burst Request vom Master per Burst bit im AD byte und in der message dann das CMD mit gewünschter Device-Variable ? Und der slave sendet ab dann die burst frames mit dem BACK bit im SD gesetzt ? Burst stoppen: Request vom Master ohne
___ 14 LSBs vom Expanded-Device-Type | | | |_________________________________ Burst-Mode-Bit | |_____________________________________ Master-Address-Bit [/c] Gruß
-
Thread
globaler EEPromwert wird unerwünscht geändert, wieso bitte?
[c]uint32_t temperatur[5]; //Feld, damit 5 hintereinanderfolgende Tempwerte gespeichert werden können[/c] Richtig, in dieses Array passen 5 Werte, mit den Indizes 0-4. [c] temperatur[i_temp]=wert_temperatursensor*5000UL/1024; // A/D-Wert in Spannung umrechnen (AREF=5V, 10 Bit A/D-Wandler: 2^10=1024) ... i_temp++; // erhöhe die Zählvariable von Null beginnend um 1 if (i_temp>6) i_temp=0; //hiermit wird die Zählvariable wieder auf Null gesetzt [/c]Hier
-
Thread
UART Übertragung Ende feststellen
hier meine Code zu posten. Der Code für das Senden über UART ist in Java und der zum Empfang ist in C. Andersrum brauch ich das im Moment noch nicht, weil der Mikrocontroller nur Commandos erkennen muss, aber keine senden. Java zum senden [c]byte[] buffer // Changing 0x04 -> 0x05 0x01 // And
0x02, i + 1); } } // Adding 0x04 buffer = insertByte(buffer, (byte) 0x04, buffer.length);[/c] C zum Empfang. command und uartString sind volatile char[] [c]void decodeCommand() { int j = 0; for (int i = 0; i < UART_MAXSTRLEN + 2; i++) { if ((j < 5) && (i < UART_MAXSTRLEN + 1
-
Thread
Hilfe bei der Programmierung vom ATmega 2561
dem Anhang aus deinem ersten Posting fange ich leider nichts an, könntest du bitte die "normalen" .c Dateien (ich vermute es geht um C) anhängen. Gruß André
auch über ein Poti vorgegeben werden und nicht per Rampe. Aber ist Assembler nicht viel anders als C++?? MFG
-
Thread
zwei if-Anweisungeg funktionieren nicht zusammen
Gibt es keine aussagekräftigeren Namen als tem und ii? 5. Für Sachen wie "i = i + 1" gibt es in C gängige Abkürzungen ("i++"). Das macht ein Programm etwas übersichtlicher. 6. Wieso sollte man einen double-Wert aus sin[], der bis 600 geht, an ein 8-Bit-Register zuweisen? 7. Das macht
a=0; b++; } if (b>=nrx) b=0; [/C] ist doch Murks erster Güte. Und das hier [C] c=adx*0.1; [/C] ist schon mal ein kompletter Widerspruch zu der Forderung: so schnell wie möglich.
-
Thread
Problem AM-Empfänger konstruieren
/* wait */ } data_received_1 = SPDR; PORTX |= _BV(SELPIN); /* deactivate /SEL */ [/c] U. U. musst du mehr als nur diese 16 Bit rausschieben, beispielsweise zum Lesen des FIFOs. In dem Falle interessiert sich der SPI-Slave typischerweise nicht dafür, /welche/ Daten du ihm schickst
Sorry, ich programmiere vor allem deshalb in C, weil ich keinen Assembler mehr debuggen möchte. ;-) Eins fällt mir sofort auf (und das ist einer dieser typischen Fehler, die einem der C-Compiler abgenommen hätte …): [avrasm] SPIS: ;Abfrage
-
Thread
PC mit 2 Tastaturen und 2 Mäusen steuern
Ralph Berres schrieb im Beitrag #2323343: > LH C:\dos\mouse.com/com1 LH C:\dos\mouse.com /com1 Leerzeichen nur hier vergessen?
GROUPID=4816;ARTICLE=27013;START=0;SORT=artnr;OFFSET=500;SID=11TiLNtn8AAAIAAC25JCUd0dd0bc9949cb24ab858c63c4a1aac46
-
Thread
Suche ein SPI-Analyser
schneller? Und die DLL von Microchip sieht auch nicht sehr schwer aus. Einziges Problem ist bei mir die uC Seite, da nicht wirklich klar ist, wie ich wo was anpassen muss und welche Dateien ich benötige. Jedes Demo-Projekt hat folgende Dateien: - main.c - HardwareProfile.c - usb_config.h - usb_descriptors.c Z.T - user.h - user.c Desweiteren wird immer in den Ordner USB verwiesen, wo wiederum ein HAL vorhanden ist, wieso also HardwareProfile.c?
-
Thread
CAN Gateway mit AVR möglich?
Beiträge bezüglich CAN Gateway gefunden, aber es bleibt die Frage offen, ob es nicht doch mit einem 8-Bit AVR möglich wäre. Ziel ist es, in einem Auto welches mit 500kBit/s CAN arbeitet und rund 1000 Messages pro Sekunde aussendet ein Gateway zu bauen. Ist das noch mit einem 8-Bit AVR, also AT90CANxxx
per Hardware durchleiten und Abfangen könnte, aber geht ja leider so nicht wirklich ohne anderen µC. Herbert
-
Thread
5 zeilen C code
welcher µC? ein bit toggelt man mit P1OUT ^= 0x04;
Die Frage ist, ist if schneller als reine Rechnung? Auf einem AVR wäre if schneller, da man Bits von Registern direkt abfragen kann.
-
Thread
deklaration mit define,wie richtig, so doch nicht oder?
[C] PORTC &= ( 1<<PC2 ); [/C] welches er in eine "Clear Bit 2 an PORTC"-Assembler-Instruktion übersetzt.
zeige mir mal den Assembler-Code dazu. So oft kommt das nicht vor, dass man tatsächlich alle 8 Bit eines Ports in einer Abfrage berücksichtigen muss. Und selbst wenn, kann man das immer noch mit einer ganz anderen Schreibweise berücksichtigen [C] while( (Eingabeport & (1<<WARTEBIT1 | 1<<WARTEBIT4
-
Thread
Atmega kurzzeitig aus Kondensator betreiben - geht das ?
wie kommst du auf 70ms Zeit? Wenn ich rechne: Q= C*deltaU wobei delta U = 5V-2,7V = 2,3V ist und C=47uF, dann erhalte ich eine maximal zur Verfügung stehende Ladung von 1,08*10^-5C. Ich gehe mal davon aus, dass du während dem Betrieb mindestens 5mA
2 * C * Uc^2 = EL => C = EL * 2 / Uc^2 => C = 0,00025 VAs * 2 / (5 V)^2 => C = 0,00002 As/V => C = 20 uF Mir ist dabei völlig klar, daß ich einige Modellvereinfachungen vor- genommen
-
Thread
UART-Daten eines FTDI-Chips in C# auslesen
für empfangene Bits definieren UInt32 numBytesToRead = 0; // Variable für verfügbare Bits definieren byte[] r = new byte[15]; // Verfügbare Bitanzahl abfragen myFtdiDevice.GetRxBytesAvailable(ref numBytesToRead
. einzelne Bytes @ 7 Bit, welche ich in ein ASCII-Zeichen umwandeln muss (8 Bit?!) oder sämtliche Bits, welche gerade empfangen werden? vielen Dank :-)
-
Thread
Reichelt Bestellung mit Sofort Überweisung
keinem Schadensfall zu Lasten eines Endkunden gekommen. Datentransfers erfolgen über bis zu AES 256Bit gesicherte Verbindungen."
Transaktionen ab, bevor sie zum großen Schlag ausholen? ;-) > Datentransfers erfolgen über bis zu AES 256Bit gesicherte Verbindungen." Den Weg der Daten können sie meinetwegen mit einem 256.000 Bit breiten Schlüssel absichern. Das ist vollkommen irrelevant. Relevant ist nur, was am anderen Ende wieder rauskommt
-
Thread
Zwei kleine Fragen zu Bascom Do Loop Schleife
So [C] Config Timer1 = Timer , Prescale = 1 On Timer0 Timer0_isr [/C] wird da nichts faden. Wenn du dich an den Overflow vom Timer 0 hängst, dann musst du auch den Timer 0 aktivieren. Und die Timereinstellungen
'Rot 100 Grün Case 101 To 200 : Oder Du rechnest den 10Bit ADC-Wert in einen 8Bit um.
-
Thread
Zum verrueckt werden: DSP TMS320F28335 von texas instruments
[c] //Init: Uint16 A0,A1,A2,A3,A4,B0,B1,B2,B3,B4; AdcRegs.ADCTRL1.bit.RESET=1; InitAdc(); AdcRegs.ADCTRL1.all = 0; AdcRegs.ADCTRL1.bit.ACQ_PS = 4; AdcRegs.ADCTRL3.bit.SMODE_SEL
event bit 7-4 0000: reserved bit 3 0: INTEN, 0 = disable interrupt bit 2-0 000: INTSEL, don't care */ [/c] in der ISR: [c] A0 = AdcMirror.ADCRESULT0
-
Thread
Zahl mit einem Taster schreiben Wie geht das?
Visual Basic > gibt es keine Bitmanipulation, Bist Du sicher??? Haben die Bytes in VB keine Bits?? Gibt es kein AND, OR, NOT, EOR?? Bitmanipulation ist kein kryptischer Befehl, sondern die Verfahrensweise, wie man einzelne Bits setzt, löscht oder kippt, ohne die anderen Bits dabei zu beeinflussen
und Flankenbit löschen, oder geht es wirklich darum, einzelne Bits zu setzen ? Nun auch das geht, ist aber zugegebenermaßen nicht lustig, eine 8-Bitzahl von 255 zu erreichen.... Gruß oldmax
-
Thread
Drehencoder am PIC 16F628
; Division des Zaehlerstandes durch 2 movwf puffer bcf STATUS, C rrf puffer, w einschritt btfsc PORTA, 2 ; zaehlen oder schieben? goto binaer ; springen zur Anzeige des 8-Bit-Zaehlergebnisses
INTCON<7> = 1. Wenn du in Assembler programmierst, dann musst du aufs INTCON-Register zugreifen, in C kannst du direkt [c] GIE = 1; RBIE = 1; [/c] schreiben. May the force be with you. ;-) Gruß Jens
-
Thread
Taster entprellen
flankengesteuerte Auswahl nicht bringt. Und spätestens wenn du statt Tastern Inkremenetaldrehgeber abfragen sollst, merkst du, daß man mit der Reaktion auf Flanken per Interrupt auf dem Holzweg ist. Bei einzelnen Tastern geht noch beides. Aber sei dir sicher: Deine PC-Tastatur tut es nicht so wie du!
Zustand abgelesen werden. Die eigentliche Erkennung der Flanke erfolgt natuerlich vorher ueber die Abfrage ... [c]if (var != Taster1_IN)[/c] Anschließend werte ich in meiner Funktion "Flankenerkennung" ja nur noch aus, um welche Flanke es sich gehandelt hat, um nicht auf jede Aenderung des Zustands
-
Thread
Verständnisfrage ==
Mikrocontroller. > > Folgende if()-Abfrage funktioniert: > > [c] > if( ( A & B ) == 0x00) > { > mach_was(); > } > [/c] > > Wenn ich aber schreibe: > > [c] > if( A & B == 0x00) > { > mach_was(); > } > [/c] > > Wird
logischen. > > Doch, & und | sind arithmetische Operatoren, denn sie rechnen mit > Zahlenwerten. C spricht hier nicht von arithmetischen, sondern von bitweisen Operatoren. Sie arbeiten ja auch nicht mit den Zahlenwerten, sondern nur mit den einzelnen Bits. Ich würde & und | nicht als arithmetische
-
Thread
Hilfe bei Port Definition notwendig?!
Ports generell einfach als Ausgänge nutzen kann und einfach über die entsprechenden Befehle die einzelnen Bits setzen kann?! Es ist also keine Initialisierung der Ports notwendig?! Bsp.: "P1_DATA = 1" --> Die einzelnen Pins von Port 1 haben die Werte 00000001 ?! Und wenn ich einen Pin als Eingang
Ports generell einfach als Ausgänge nutzen > kann und einfach über die entsprechenden Befehle die einzelnen Bits > setzen kann?! Es ist also keine Initialisierung der Ports notwendig?! > Bsp.: "P1_DATA = 1" --> Die einzelnen Pins von Port 1 haben die Werte > 00000001 ?! So richtig? Dietrich L
-
Thread
ATmega8 ADC verarbeitungs problem
[/c] In meinem Hauptprogramm ruffe ich dann nacheinander zwei Spannungswerte ab. [c] adcwert0 = adc_lesen(0); //ADC Kanal 0 (Representativ für Ueff) Wert in adcwert laden Ueff = (adcwert0 *5.0)
Das [C] while ( (ADCSRA & (1<<ADIF))==0) // Warten bis Konvertierung fertig {} [/C] hast du so aus dem AVR-GCC-Tutorial? Glaub ich nicht. Und der Unterschied zur Tutorialversion ist wichtig
-
Thread
Char Array über USART Empfangen und vergleichen
', 'B', 'C'...) bzw. in Arrayform für Strings ("Hallo") zu benutzen. und dann schreibst du dir eine Funktion, die eine Zahl ausgeben kann. [C] void usart_write_uint8( uint8_t nr ) { char buffer[6];
> while( NextChar != '\r' && StringLen < MaxLen - 1 ) [/c] > > Hey, dein Kommentar und dein Code passen nicht zusammen. > Das ist kein _oder_ sondern ein _und_. Aber es ist eine while-Abfrage. Er soll solange drin bleiben, wie BEIDE (also UND) Bedingungen
-
Thread
PCF8574 - Mal wieder (C/ATmega8)
geht das beim PCF8574 nicht. Was geht nicht? Du hast doch oben geschrieben, dass das hier ... [C] i2c_start_wait(0x70 + I2C_WRITE); i2c_write(0xff); i2c_stop(); [/C] ... funktioniert. Also was hindert dich jetzt daran [C] uint8_t portState; void SetBit( uint8_t bitNr ) { portState |= ( 1 << bitNr ); i2c_start_wait(0x70 + I2C_WRITE); i2c_write( portState ); i2c_stop(); } void ClearBit( uint8_t bitNr ) { portState &= ~( 1 << bitNr ); i2c_start_wait(0x70 + I2C_WRITE);
-
Thread
Dj Wandbeleuchtung
PORTC=0x00; PORTD=(1<<p); _delay_ms(50); PORTD=0x00; } } [/c] wozu die if abfragen? das programm verlässt die schleife eh erst, wenn der zähler = 7 ist, also ist das if ziemlich überflüssig.. mfg
verwenden: [C] for(uint8_t i = 1; i != 0; i <<= 1) { PORTB=i; _delay_ms(50); PORTB=0x00; } [/C] Für den Schleifenabbruch ist es notwendig, daß die Schleifenvariable genau
-
Thread
Problem mit delay.h und Optimierungsstufe v. AVR Studio 4
einem Überlauf keine Angst, muss ich ehrlich gestehen :)! Ok, das mag passen. Hab jetzt nicht im einzelnen nachgerechnet. >> Hast Du die Fuses dafür auch richtig geändert? > Die Fuse CKDIV8 Genau die meinte ich, das sollte also auch passen. PS: Was mir grad noch auffällt: [c] if (Hour <= 4
auch durchblickt :)! Ebenfalls geändert :)! Komisch, dass ich es hier richtig gemacht hab^^: [c]if (_20_ms == 50) { Second++; _20_ms = 0; }[/c] ... schrieb im Beitrag #2265161: > Nur tust Du genau das nicht, Du togglest alle anderen Bits in > PORTB! Uh, da hab ich wohl den Vogel
-
Thread
12 Taster auf 7 Pins?
Tasten-Mehrfach-Detektierung (gleichzeitges Drücken von Tasten) geht darüber nicht, es sei denn, er nutzt ein 12 Bit ADC.
bei sowas auf PCF8574, zwar relativ teuer im Vergleich zu Shift Registern, aber sehr einfach per I2C zu steuern und mit ner dritten Leitung auch Interrupt. Jeder Taster einzeln auslesbar/generiert Interrupt.
-
Thread
Wahrscheindlichkeit: Wiederholung 4 Byte Zufallszahl
Beitrag #2256638: > Wie hoch ist die Wahrscheindlichkeit, das sich diese zufällig wiederholt? Eine 32-Bit Zufallszahl wiederholt sich, wenn sie mit einem LFSR ermittelt wird, bei einem brauchbaren Polynom nach genau 2^32-1 Abfragen. Eine 0 kommt nicht vor: http://www.lothar-miller.de/s9y/categories/38-LFSR
genauso wie "1,1,1,1,1,1,1" oder "2,4,7,1,6,3,5". Im allgemeinen geht sollte die Häufigkeit der einzelnen Bits(!) gleichverteilt sein (wenn man von gleichverteiten Zufallszahlen ausgeht). Je nach Algorithmus funktioniert das mehr oder weniger gut und ohne den zu kennen erübrigt sich jeder Spekulation
-
Thread
IR Fernbedienung Signale auf µC verarbeiten
jedem Bit neu synchronisiert werden. > Aber ich schaue jetzt schon so lange auf den c-code und sehe den Wald > nicht mehr. Müsste doch machbar sein zu sagen, wenn der Pegel 1 über > mehr als 6 Abtsatungen
zu folgen. Zerlege die Aufgabenstellung in kleine Module und setze jedes einzeln um, als da wären: A. Ein "Paar" Pulsdauer + Pausendauer erkennen. B. Startbit anhand A) erkennen C. Datenbit anhand A) erkennen D. Speichern der Bits E. Aufteilung in Adresse
-
Thread
SCANDISK und große Festplatten
Der Fenstermanager von XP ist auch ziemlich 'rudimentär' (noch schlimmer als der von 7) Achja: 64bit XP ist ne furchtbare Krücke, Windows 7 64bit ist mittlerweile sogar auf den Consumer-PCs Diese Liste lässt sich nach belieben fortsetzen
Abdul K. (ehydra) schrieb: > Installer gibs auch ohne sinnvollen Abfragen! Also mir sind Installer MIT sinnvollen Abfragen lieber. :) > .. Du hast nicht > verstanden was ich wollte. Nämlich: Manche durchaus brauchbare Programme > werden von ansonsten ahnungslosen
-
Thread
c167 bit_compare
dies ein bitcompare ist nur ist mir nicht klar was dieser befehl macht. werden hier die ersten 12 bits von R0 mit R15 verglichen oder was wird hier verglichen? Gruß marcs
Das 13te Bit aus R0 wird mit dem 1stem Bit aus R15 verglichen. Aber bevor du alle instruction hier einzeln abfragst, schaust du hier: http://www.keil.com/dd/docs/datashts/infineon/c166ism.pdf
-
Thread
Ich verstehe den Timer0 beim ATtiny 13 nicht.
if (laenge >= 65.535) > laenge =0; Da sind gleich zwei Fehler drin: Zum einen ist in C der Punkt kein Tausendertrenner, sondern der Dezimaltrenner, Du vergleichst also nicht mit 65535, sondern mit 66 (rundung). Außerdem brauchst Du den Test gar nicht, denn ein vorzeichenloser 16-Bit-Wert
online stelle, in dem ich hoffentlich eine > funktionierende Auswertung des Servosignales eines einzelnen Kanal mit > Tiny 13V realisiert habe. Naja, mir brauchst Du nichts versprechen. Und Deinen C-Code kann (und will) ich sowiso nicht nachvollziehen. Ich kann kein C, meine AVRs aber auch nicht.
-
Thread
EleLa - Elektronik Lagerverwaltung
Hallo Markus, folgende Situation: ich habe ein Bauteil definiert, Bezeichnung "C 10µF" Zu diesem gibt es 2 Typen mit diesen Bezeichnungen: "C 10µF 16V" und "C 10µF 16V Tantal". Wenn ich nun bei z.B. dem zweiten Type auf den Warenkorb klicke um das Bauteil in den Bestellvorschlag zu übernehmen, hätte ich eigentlich erwartet daß dort unter Bezeichnung nun "C 10µF 16V Tantal" steht. Stattdessen steht dort aber "C 10µF C 10µF 16V Tantal". Das heißt beide Bezeichnungen tauchen dort (ohne Trenner) auf. Soll das so sein? Falls ja, mache ich woanders was