-
Thread
ENC28J60 (Mikro-)Web-Server die Nächste
als tip...DDR auch auf 1 setzen, damit die LED´s angehen ;-)
significant byte is 02 (hex). The binary is 00000010 and the second least significant bit is 1. Therefore, it is a locally administered address.[4] The bit is 0 in all OUIs. If the least significant bit of the most significant byte is set to a 0, the packet is meant to reach only one
-
Thread
Pac Man mit dem ATmega8
LD ZL,X+ ;2 OUT Nullreg ;1 Takt 3 Lückenbit LPM r16, (Z) ;3 OUT r16 ;1 Takt 7 1. Bit LSL r16 ;1 NOP ;1 OUT r16 ;1 Takt 10 2. Bit LSL r16 ;1 NOP ;1 OUT r16 ;1 Takt 13 3. Bit ...usw. Also drei Takte pro Pixel, nur die Lücke hat vier
Intro-Screen), dürfte es reichen: 1. das HEX-File mit PonyProg in den ATmega8 zu flaschen. 2. die Fuse-bits so zu setzen, das der externe 16MHz Quartz genutzt wird. 3. die beiden Widerstände und das Videokabel abzuschließen. Die 'Joystick-Schalter' kann ich, nachdem ich ersteinmal ein Bild habe, ja immer
-
Thread
PHILIPS VP5500 VoIP Telefon bei Pollin
feststellen, leider aber bei Bit 20 (hat anscheinend etwas mit der Display-Ansteuerung zu tun). Beide Bits waren am Anfang auf 1 (PTD_DR hatte den Wert 0x0E180000). Nachdem ich Bit 20 auf 0 gesetzt habe, wurde das Display langsam weiß
danke, werde mich "heute" mal dran setzen!
-
Thread
PORT-Zustand abfrgen und zurück schreiben
allermeisten ARMs haben dafür explizite > Register, womit man einzelne oder mehrere IOs atomar setzen, löschen > oder umschalten kann, Nicht nur das, auch gibt auch noch für jedes Bit n eigenes Register --> Bit-Banding
allermeisten ARMs haben dafür explizite >> Register, womit man einzelne oder mehrere IOs atomar setzen, löschen >> oder umschalten kann, >Nicht nur das, auch gibt auch noch für jedes Bit n eigenes Register --> >Bit-Banding Die 32 Bit Dekadenz ;-) Naja, mit einzelnen Set/Clear/Toggle Register
-
Thread
Hat jemand Erfahrung mit dem 2,4GHz-Transceiver RFM70?
(Bit5, TX_DS im Status Register auf "1" setzen) usw... 1. 2. 3. 4. .... Für Reichweitentests, bei denen das Auto_ACK evtl. nicht mehr zurückkommt schreibe ich mit dem Kommando W_TX_PAYLOAD_NOACK. Dadurch
irgendwie nach der eigentlichen Init, die das Modul da in den Empfangsmodus schicken sollte, das PRX-Bit in CONFIG nochmal setzen muss. Jetzt klappts jedenfalls und bei meinem Empfänger kommt munter "Hello World!" an. Dann kanns mit dem eigentlichen Projekt eigentlich so langsam auch bei mir losgehen.
-
Thread
32 Bit Controller für Motion Control
bzw. aufgefallen: 1. Bitzugriff z.B. auf einen Port. Dort verwendet der Prozessor das sogenannte "Bit Banding". Damit sind aber mehrere Instruktionen notwendig, um ein Bit zu setzen/rücksetzen. 2. Er kann nicht 32-Bit immediate direkt in ein Register laden. Gibt es hier jemanden, der den Cortex-M3
so gelobt wird, das dann auch das "optimale" ist. Auf alle Fälle, nachdem ich diesen Code für ein Bit setzen gesehen habe, habe ich eben Zweifel bekommen. Vielleicht kannst Du auch das mit dem 32-Bit immediate beantworten. Der Arm kennt doch keine 32 Bit immediate. Wenn ich solch einen Wert in ein
-
Thread
Fehlersuche Displaysteuerung
Bit (MSB) ist immer das linke. Um nun einen Pixel zu setzen mußt Du später, wenn Du soweit bist, mittels X- und Y-Koordinate die Byte- und Bit-Adresse berechnen. Beispiel: X = 51 (Horizontal von links
ordentlich :-) Das eigentlich verbleibene was wichtig ist: Aber wenn ich jetzt eine Adresse mit 16Bit setze, dann muss ich ja zwei Byte übertragen. Welches enthlält Bit 15 und welches Bit 0? Das erste ist doch das, welches Bit 8-15 enthält, oder?
-
Thread
Atmega328p in Sleep und mit Watchdog wecken
Datenblatt zum Atmega328p muss man, um den Prescaler wechseln zu können, doch zunächst das WDCE und WDE Bit setzen. Das vermisse ich irgendwie bei dir.
beschrieben, was da passiert. Und auch, was nicht passiert. Nämlich, daß der Timer-Counter beim Setzen des WDIE-Bits nicht zurückgesetzt wird. Vom manuellen Löschen war zumindest bei mir nie die Rede.
-
Thread
4Bit LCD, restliche Portpins Problem
das zutrifft, musst Du an allen Stellen, an denen nach PORTS geschrieben wird, die beiden oberen Bits setzen, z.B aus [avrasm] ldi temp1, 0b00000011 ; muss 3mal hintereinander gesendet out PORTD, temp1 ; werden zur Initialisierung [/avrasm] wird [avrasm
wir den Code den ich benutze: bei dem lcd_init wird der Port geändert... Aber auch wenn ich die bits einzelnd auf 1 setze klappts nicht... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; LCD-Routinen ;; ;; ============ ;;
-
Thread
globaler counter funzt net wie erwartet
== 1){ uint8_t sec_takt; damit ist es doch immer atomar, oder kommt gcc auf die idee die bits einzeln zu setzen?
>damit ist es doch immer atomar, Ahhh stimmt, Tomaten auf den Augen. sys_ms_Inkr ist ja nur 16 Bit. >oder kommt gcc auf die idee die bits >einzeln zu setzen? Eher nicht. >gemacht wird, dann können dabei schritte verloren gehen. Aber hier wird >in der main nur auf 0 gesetzt und in der
-
Thread
ASCII-Zeichen selber entwickeln um im (VGA)Screen Modus 8 nutzen.
> Ich verstehe die Tabellen oben nicht so, das ich da eine Lösung finde > welchen Port ich wie setzen muss. Du musst einzelne Bits in den Registern setzen oder löschen. Wie das geht, hängt von der Programmiersprache ab. Für C müsste es im Forum auch ein Tutorial geben. Edit: da ist es ja:
ich, damit ich die Strichlinie weg bekomme. --------------------------------- Du musst einzelne Bits in den Registern setzen oder löschen. ---------------------------------
-
Thread
LON Bus Windhager mitlesen/steuern
are "Bit time too short" With a min bit length of 12,55us there should be no "Bit time too short", right? Bit length 0 min: 251(12,55us) Bit length 0 avg: 251(12,55us) Bit length 0 max: 263(13,15us
code: 2 (Bit time too short) Bits sampled: 20 Bit duration: 511(63,88us)
-
Thread
AVR-Register als Bitfields
COM0A0[1]; TCCR0A = COM0A1[0] + COM0A0[1]; // oder und plus ist egal [/c] ist zum Setzen / Löschen von einzelnen Bits nicht so elegant wie [c] BFM_PORTB3 = 1; [/c] dafür erlaubt es gleichzeitiges Setzen von Bits in einer Instruktion [c] PORTB |= BITB3[1] | BitB5[1] | | BitB7[1
/c] Dann kann ich schreiben: [c] int main () { BFM_COM0A0 = 1; // wie gehabt: setze Bit COM0A0 BFM_COM0A1 = 1; // wie gehabt: setze Bit COM0A1 BFM_COM0A = 0b01; // neu: Setze "Bitgruppe" COM0A (COM0A0+COM0A1) } [/c] Was macht der Compiler daraus: [
-
Thread
Elektronik Lager und die vielen Kisten (Verwaltung)
Problem liegt an der 64-bit Version von linux, werde das gleich noch auf einem 32 bit system testen. Vielleicht hat ja jemand schon eine Idee. Gruß Peter
Wenn Du einfach die libmysqlclient.so*** Datei vom 32-Bit System in das 64-Bit System nach /usr/lib64/ kopierst? Ist zwar eine 32-Bit DLL, aber der Linux-EXE sollte das egal sein.
-
Thread
EA DIP204-4 Datenblatt verständnis
invertiert schalten. Das geht mit dem Befehl extended Function Set 0 0 0 0 1 FW BW NW wo du das BW-Bit auf 1 setzen musst. Nun funtioniert dieser Befehl aber nur bei gesetztem RE-Bit. Du musst also vorher mit dem Befehl Function Set 0 0 1 DL N RE DH REV das RE Bit erst auf 1 setzen. Danach kannst du das BW-Bit setzen und dann solltest du das RE-Bit wieder zurück schalten, damit die anderen Befehle wieder richtig klappen. Hab damals auch eine Weile gebraucht, vor allem da ich ein 4-zeiliges Display benutzte
-
Thread
Assemblerprogrammierung: Bank switching vs. Segment:Offset Adressierung
die Transistoranzahl pro CPU reduzieren. Und wie macht man das? Ganz einfach, man fertigt nur 8 Bit und 16 Bit CPUs, anstatt 32 Bit CPU. Eine 16 Bit CPU hat nur halb so breite Register wie eine 32 Bit CPU. Um nur ein einziges Bit zu speichern, braucht man mehrere Transistoren. Bei 16 Bit weniger
von NT, ein reines 32-Bit System zu schaffen, halte ich für wesentlich besser. Zum Problem kommt es nämlich, wenn 16-Bit Komponenten auf Speicher zugreifen sollen, der zu einer 32-Bit Anwendung gehört. Dann wird's schrecklich
-
Thread
-
Thread
STM32L073RZ läuft auf HSE nur halb so schnell wie erwartet
. Habe ich doch, mit Cube MX generiert. Damit tritt der gleiche Fehler auf, wenn ich das HSEBYP Bit falsch (nicht) setze. Und mit Arduino ebenso. Und auch ohne Framework. > hatte noch nie Probleme. Dito. Deswegen hat es mich ja überrascht. Bis vor kurzem dachte ich, dass Bit sei optional und
Die einzige Frage, die man hier noch sinnvoll weiter diskutieren kann, > ist: .... ob man beim Setzen eines Registers die Tokens der einzelnen Bits addiert oder ver-odert. Ich sage: nein, addieren von Bits tut man nicht tuten, denn es könnten mal ein paar Bits übereinander liegen und das ergibt
-
Thread
PCF8575 Ausgänge setzen
ich einen PCF8575, dessen Ausgänge gehen direkt auf einen Logikbaustein. Problem dabei ist, das setzen der PCF8575 Ausgänge funktioniert irgendwie nicht?! Lesen geht ohne Probleme. Verwende ich einen PCF8574 anstatt des PCF8575 funktioniert das setzen der Ausgänge tatdelos... Nun meine Frage, kann
Siehe [[Port-Expander PCF8574]], der PCF8575 ist praktisch genaus so, nur halt mit 16 Bit. MFG Falk
-
Thread
16-Bit Timer ATmega
>gestartet wurde bei wieder bei 100. Dein Code-Fetzen verhindert auch keinen Überlauf. Das Setzen des CS-Bits beeinflußt den Zählerstand des Timers nicht. Also kann der durchaus auch mal bei 65535 starten. MfG Spess
willst. Ansonsten musst Du nach den beiden ISRs den Timer stoppen und den Zähler wieder auf Null setzen.
-
Thread
MCP3201 mit Atmega 8 in BASCOM
'3 Leertakte lt. Datenblatt Clk = 1 'Clk auf High setzen waitus 2 Clk = 0 'Clk auf Low setzen Next For I = 1 To 12 'bis 12 Bits einlesen Clk = 1 'Clk auf High setzen Shift Wert , Left 'Wert nach links schieben Wert = Wert + Dout 'Bit an Wert addieren Clk = 0 'Clk auf Low setzen Next Cs = 1 'Cs auf High setzen Clk = 1 'Clk auf High setzen
-
Thread
Probleme mit stm32f4 Discovery
atomar (also ohne die anderen Bits zu stören) einzelne Portbits setzen oder löschen. Wenn du einen Wert in BSRRL schreibst, dann wird für jedes 1-Bit das entsprechente Portbit *gsetzt*. Dort wo ein Bit im BSRRL Null ist, tritt keine
PD13 auf H setzen, alle anderen Portausgänge bleiben unverändert GPIOD -> BSRRL = 0x1001; im Parameter ist Bit13 und Bit0 gesetzt; Ergebnis: PD13 und PD0 auf H setzen, alle anderen Portausgänge bleiben unverändert
-
Thread
Wert der Variable als Ausgang setzen
Hallo zusammen. Ich habe eine Variable von 0 bis 9. Diesen Wert soll es mir auf einer 7Segmentanzeige darstellen. zwischen Anzeige und µC habe ich einen Anzeigetreiber(CD4511). Durch ein Signal am µC erhöht sich diese Variable immer um 1. Wie also kann ich das jetzt am besten schreiben.? PORTD|= variablexyz ... geht leider nicht so einfach.:D bitte um hilfe. es geht um einen Tischkicker.!!! (Der automatisiert werden soll) danke ;)
-
Thread
ATtiny 25 zurück setzen
Hallo an die Speziallisten. Ich habe da einen ATtiny 25. Der lässt sich mit dem Pony Programm gut beschreiben. Da ich das Programm nicht ans laufen bekam habe ich die 8 bits invertiert gesetzt. Ich habe die Angaben im Datenblatt falsch interpretiert. Jetzt bekomme ich keinen Zugriff mehr auf die Chips. Gibt es eine Möglichkeit den Controller wider in den Auslieferungszustand zurück zu setzten? Grüß Wendy
-
Thread
USB RFID Tag Leser
Hallo, hier gibt's einen RFID Tag Leser, der 64 Bit 125 kHz Tags ausliest und die darin gespeicherten Daten (40 Bit "netto") über die USB Schnittstelle ausgibt. - Auf der Platine integrierte PCB Antenne - RFID Reader Chip EM 4095 - µC ATMega 16,
ATA5570 schreiben kann. Eine kurze Frage noch: Gibt es einen besonders wichtigen Grund, warum 40 bits empfangen werden? EM4102 liefert z.B. 64 bits an Daten. War Dein Ziel nur Customer ID (8bits) + Data (32 bits) = 40bits zu empfangen? MfG
-
Thread
Tastenentprellen während externen Interrupt - ATmega16
werden. Also einfach mal den Pseudocode nachvollziehen IO-Interrupt: Signal kommt, Zeit und Bit setzen Zyklus: Zeit = 0 dann kein Ereignis und weiter Zeit -1 -> Zeit = 0, dann Status Bit übernehmen oder Timer-Interrupt: Zeit = 0 dann kein Ereignis und weiter Zeit -1 -> Zeit = 0,
: > Also einfach mal den Pseudocode nachvollziehen > > IO-Interrupt: > Signal kommt, Zeit und Bit setzen > > Zyklus: > Zeit = 0 dann kein Ereignis und weiter > Zeit -1 -> Zeit = 0, dann Status Bit übernehmen > > oder Timer-Interrupt: > Zeit = 0 dann kein Ereignis und weiter > Zeit -1
-
Thread
Hausbus
mitlerweile hab ich mir erstmal ein telegramm zusammengestellt: extendetFrame: Stand. Identifier-> 8Bit Ziel; 3Bit Nachrichtenart (E/A Analog, Zeit etc.. dienst nur der Vorauswahl) ext. Identifier-> 8Bit Absender; 10Bit BroadcastID (jeder wert der als Broadcast rausgeht hat eine unverwechselbare ID)
. :-) Bit28 ist das MSB. Bit0 ist das LSB. Damit wird _zuerst_ Bit28 gesendet... > wird beim gleichzeitigen senden die nachricht als wichtig erkann > (höhere priorität) die wärend des telegrammes als erstes
-
Thread
Int bit auslesen
Hallo, wie kann ich in C die Bits eines Int wertes auslesen? So kann ich sie schon setzen: [c] test |= 1<<1; // bit 1 setzen test &= ~(1<<2); // bit 2 löschen [/c] aber wie kann ich diese auslese? So funktioniert es *nicht* : [c] if(test == 1<<3){ printf("Bit 3 ist eine 1"); } [/c] Kann mir jemand helfen? mfg alex
-
Thread
Problem: 16 Bit Variable über UART zu empfangen
Byte in einer Variablen namens LSB. Das MSB und das LSB verknüpfe ich dann ODER und erhalte so den 16 Bit Wert. Anschließend setze ich den Zähler = 10, sodass die beiden if Bedingungen erst wieder erfüllt sind, sobald ich den Befehl schicke um in diese Variable zu schreiben. Viele Grüße & besten Dank
in einer Variablen namens LSB. > Das MSB und das LSB verknüpfe ich dann ODER und erhalte so den 16 Bit > Wert. Anschließend setze ich den Zähler = 10, sodass die beiden if > Bedingungen erst wieder erfüllt sind, sobald ich den Befehl schicke um > in diese Variable zu schreiben. Darf dein Programm
-
Thread
AVR TWI Master und Slave Funtionen in C
Der TWI Bus kann dann nicht gestartet werden. Ich habe übrigens nirgendwo im Code gefunden, wo das Bit TWGCE des TWAR gesetzt wird. Wenn ich aber es explizit in TWI_Init der Slaves setze, bleibt das ganze System hängen. Weisst ihr vielleicht, woran das liegt? Vielen Dank im Voraus!
PORTC |= (_BV(PC4) | _BV(PC5)); // Port C Pin4+5 Pullups aktiviert TWBR = 22; // Setzen der TWBR Bits = 22 TWSR = 0; // Prescaler = 1 TWCR |= (_BV(TWEN)); // TWI Enable sei(); // Erlauben aller IRQ's } int main() { i2c_init(); while (1
-
Thread
News aus der Atmel Gerüchteküche
XMEGAs sind die Kennwerte und die Funktionalität den >>klassischen Megas um Längen voraus. Wir setzen sie auch in großen >>Projekten ein. > > Verwendet ihr auch die internen ADCs? Hat ATMEL jetzt die Probleme mit > den ADCs in den XMEGAs im Griff? Yep, 2x 12bit bei je 2msps und gain stage,
Da lese ich doch von einem Interview mit CEO Steven Laub. Sinngemäß soll Atmel für 32 Bit primär in ARM investieren und 8 Bit AVR bleiben.
-
Thread
LCD DEM240160 mit UC1698 wie Bildspeicher auslesen
Hi Diesen Satz "For 8-bit / 16-bit interface, the first 1 byte / 2 bytes of read, respectively, is a dummy read. Please ignore the data read out." (vor (3) GET STATUS &PM) hast du gelesen? MfG Spess
Tom schrieb im Beitrag #5405956: > Üblicherweise ist R4 das MSB und R0 das LSB. Du kannst mit 5 Bit 32 > 'Rotstufen' machen. Für grün gibt es meistens ein Bit mehr, das Auge ist > da empfindlicher und bei 5 Bit pro Frabe würde eins übrigbleiben. Das mit der Farbmischung hatte ich mir schon gedacht
-
Thread
Bits eines Flashspeichers beschreiben
>Kann man einzelne Bits eines Bytes des Flashspeichers durch >aufeinanderfolgende (byteweise) Schreibvorgänge nacheinander >programmieren (also auf 0 setzen), ohne dass die Zelle zusätzlichen >Schaden erleidet? Nein.
Ja. Seite! löschen (xxx byte) dann nach belieben Bits in dieser Seite auf 0 setzen. Die größte Belastung für die Flash-Zelle ist das löschen.
-
Thread
Wie beim HW-Debuggen einen Interrupt manuell auslösen?
ebenfalls gesetzt sein und auch das globale Interupt-Enable-Bit. > Allerdings habe ich bis > jetzt noch keine Möglichkeit im Debug-Mode von Microchip Studio > gefunden, dieses oder andere Flags von Hand zu setzen. Es gibt schon etliche Bits in der Hardware
Bits und Strobe-Bits. Man muß den Text lesen, um heraus zu bekommen, dass es sich um ein Strobe-Bit handelt. Zusammenfassung: du kannst keins der UART-Interrupflags "von Hand" setzen, weder mit dem Debugger
-
Thread
µC mit Uhrenquarz betreiben
16 bit schrieb im Beitrag #3257339: > Als Ersttäter sollte man auf das modernere und weniger fehlerträchtige > setzen. Sitzt du noch an einem P1? Ich weiß einsteigen vs umsteigen. Für mich wäre es ein
Carsten R. schrieb im Beitrag #3257453: > 16 bit schrieb: >> Als Ersttäter sollte man auf das modernere und weniger fehlerträchtige >> setzen. Sitzt du noch an einem P1? > > Ich weiß einsteigen vs umsteigen. Für mich wäre es ein Umsteigen
-
Thread
inline ASM 64Bit Shift
dcf_struktur dcf77_daten; [/c] In der Empfangsroutine wird mit [c] dcf77_daten.dcf_bits = (dcf77_daten.dcf_bits >> 1); dcf77_daten.dcf_bits |= 0x8000000000000000; // Bit setzen [/c] (Das Bit wird natürlich nur bei empfangener 1 gesetzt, geschoben wird immer). Eigentlich bin ich eher angenehm überrascht von dem, was WinAVR da so erzeugt. Die 64Bit-Geschichte sieht allerdings schrecklich aus, spielt aber bisher zuverlässig. Meine Versuche, so auf die Schnelle den Shift und das Setzen des höchsten Bits per inline-ASM zu erledigen, sind daran
-
Thread
Nicht richtig gesetzte FuseBit
Download Bereich gibt es einiges. Ich will nicht Programmieren sondern nur die Fusebits richtig setzen können. irgend was einfaches. Danke im Voraus
finden!.. heißt es. Wer selbige Probleme haben solle der darf hier mal Schauen BASCOM Fusebits setzen in Deutsch ohne Wörter Buch. link: https://dl6gl.de/sites/default/files/downloads/fuses_mit_bascom_und_usbasp_setzen_0.pdf Wünsche allen eine Besinnliche Ruhige Zeit und einen Guten übergang nach
-
Thread
bit Datentyp erzeugen
= (unsigned char *) &bitfeld; und dann mit *p_bitfeld = 0; alle Bits löschen oder mit *p_bitfeld = 0xff alle setzen oder was du auch immer willst. Hoffe geholfen zu haben. Ansonsten kannste es ja vieleicht auch für was anderes brauchen. und
Sache, aber brauchen leider sehr viel mehr Code als Bitsetzbefehle mittels or ect. zB. #define Set_Bit(Byte,Pos) Byte |= (1<<Pos) //Bit setzen (Macro) Josef
-
Thread
Problem bei Temp-Messung Rasp. Pi Pico & Pt1000
Stefan schrieb im Beitrag #7008312: > return raw << (16 - bits) | raw >> (2 * bits - 16); Verstehe ich das richtig, wenn ich meine, dass die 12 bits erst mal um die fehlenden bits (also 4) nach links geschoben werden sowie um 2 * bits - 16 (also 8), nach rechts
So macht es der Pico: raw << (16 - bits) | raw >> (2 * bits - 16) mit bits=12
-
Thread
LCD Probleme mit ST7036
; // rote LED aus Bit setzen PORTB |= (1 << PB2); // gelbe LED aus Bit setzen PORTB &= ~(1 << PB3); // grüne LED an Bit löschen break; case 5 : LCD_Print(2,0,"Oil Temperatur"); PORTB |= (1 << PB0); // rote LED aus Bit setzen PORTB |= (1 << PB2); // gelbe LED aus Bit setzen PORTB &= ~(1 << PB3); // grüne LED an Bit löschen break; //case 7 : //LCD_Print(2,0,"AUX 1 EMK"); //PORTB &
-
Thread
Eine Kinderfrage bzg. Struct
das schreibe ohne daß Compiler schimpft. Was möchte ich genau: ich habe z.B. eine Variable, 16bit oder 32 oder 64 bit. Ich möchte für ein Bit dieser Variablen Name geben und darüber dieses Bit setzen, löschen oder prüfen. Ich möchte das wie ober gezeigt machen, MYBITVAR0 = 1; MYBITVAR0 = 0; if(MYBITVAR0
und dann das Bit an entsprechender Stelle setzen oder löschen. Wie es beliebt.
-
Thread
Präzise Pulse aus Arduino Leonardo
teilen, 250 Takte "on" und das TOP-Register auf 25000 stellen Taster 4 den Ausgang dauer-LOW setzen und ansonsten den Ausgang dauer-HIGH setzen Für Taster 1 und 2 bräuchte ich dann mindestens einen 9bit-Timer, für Taster 3 einen mit mindestens 15 Bit. Zum Glück enthält der 32u4 zwei 16bit-Timer
letzten Kommentare waren absolut nicht konstruktiv. Naja, BTT: Bevor man OCR1A und OCR1B auf 16bit-Werte setzen kann, muss man den entsprechenden Modus auch in TCCR1B wählen. Ich habe also unter Zeile 65 noch ein TCCR1B = tccr1b_setup; eingefügt und die Zeile 85 in TCCR1B |= tccr1b_tmp; geändert.
-
Thread
Marderschreck Selbstprogramm
the timer/coun ter clock frequency using the following equation: Muss ich im Register TIFR das bit TOV1 und im Register TCNT1 das bit OCRIC beides setzen? Mehr zu duty cycles finde ich dazu nicht mehr
> Muss ich im Register TIFR das bit TOV1 und im Register TCNT1 das bit > OCRIC beides setzen? Mehr zu duty cycles finde ich dazu nicht mehr Hatte einen kleinen Denkfehler Wenn ich das so wie folgt einstelle void Timer1(){
-
Thread
Fusebits setzen mit AVRDUDE Linux
Solange du nicht gerade Bit 7 in der high fuse auf 0 setzt (RSTDISBL), ist die Gefahr des „Verfusens“ gering. Alles andere bekommst du zur Not noch durch Einspeisen eines externen Taktes wieder hin. Hinweis: ggf. willst du EESAVE noch setzen, damit der EEPROM-Inhalt beim /chip erase/ erhalten bleibt? Dann wäre hfuse = 0xd1. Deine lfuse würde den /low power crystal oscillator/ auswählen. Bist du dir sicher, dass du das willst?
-
Thread
Audio-Projekt
initialisierung mache ich meist so : - codec resetten (register 15) - device als master - clk divider setzen - audio routing setzen (zum testen das bypass-bit setzen) - den rest (power off/lautstärken/usw). dann schaue ich nach ob der quarz schwingt und ob BCLK und LRCLK anliegen und ob an DOUT etwas
ein guter 1-Wandler bauen lassen, oder ? Bei 50MHz hätte man immerhin 1100 Stufen je 44kH also 10 Bit. Da man mit 15kHz filtern könnte, wären es schon 12 Bit. Brauchst halt nen guten Filter.
-
Thread
1 Sekunde 16-Bit-Timer
keine Sonderfälle aufmacht! 2 Funktionen! Bei denen es darum geht im richtigen Byte das richtige Bit zu setzen oder zu löschen! Und das ist zu schwer?
in ledMatrix das jeweils richtige Bit ein bzw. ausschaltet. Hier ist die Zuordnung der LEDs zu den Bits im Array Bit 7 6 5 4 3 2 1 0 +---+---+---+---+---+---+---+---+ | | | 21| 17| 13| 9|
-
Thread
LCD mit Interrupts?
#ifdef LCD_BUSY lcd_busy_null(); #endif LCD_PORT_RS |= (1<<LCD_RS); // RS auf 1 setzen lcd_out( data ); // zuerst die oberen, lcd_out( data<<4 ); // dann die unteren 4 Bit senden #ifdef LCD_DELAY _delay_us( LCD_WRITEDATA_US ); #endif }[/c]
Wenn man alle Pins des LCD an einem Port hat, muss man nicht die Bits einzeln setzen, wie oben: " // DB4-DB7 als Ausgaenge schalten LCD_DDR_DB7 |= (1<<LCD_DB7); LCD_DDR_DB6 |= (1<<LCD_DB6); LCD_DDR_DB5 |= (1<<LCD_DB5); LCD_DDR_DB4 |= (1<<LCD_DB4);" usw.
-
Thread
Timer zählt nicht atmega32
. was mich schon zur ersten Frage bringt^^ ich bin ja kein freund von irgendwelchen namenlosen bits setzen. allerdings funktioniert diese schreibweise für z.b den prescaler nicht: ; ldi TCCR1B, (1<<CS12) |(0<<CS12)| (1<<CS10) das hauptproblem ist aber dass der timer nicht zählt. ich
funktioniert das nicht. TCCR1B muss mit einem out beschrieben werden und nicht mit einem ldi Erst die Bits in einem Register setzen, dann das Register mit einem out ausgeben. Dann funktioniert das auch. > ich hab aus dem tutorial nicht herausbekommen was genau den timer nun > veranlasst die zählung zu
-
Thread
Tasterabfrage
& MASKE; wird die LEDs wohl löschen. Warum muss da aber DDRA dabei sein?? Dann schreibe ich die Bits für die Datenrichtung in tmp und schreibe dies dann wiederrum in DDRA. Das letzte ist dann dass ich PORTA3 auf high setze. Nur den Anfang verstehe ich dabei eben nicht. Zu dem mit do … while(0) habe
wird die > LEDs wohl löschen. > Warum muss da aber DDRA dabei sein?? Dann schreibe > ich die Bits für die Datenrichtung in tmp und schreibe dies dann > wiederrum in DDRA. Das letzte ist dann dass ich PORTA3 auf high setze. > Nur den Anfang verstehe ich dabei eben nicht. Noch nicht. Nachlesen
-
Thread
Windows Vista oder Windows 7? Ist Win 7 wirklich schneller?
oder Windows 7 Business 64 bit? Oder kann man noch bedenkenlos auf Windows XP Pro 64bit setzen?
ist eine Sackgasse, es gab nie eine große unterstützung für die 64bit version. Ich würde davon abraten. > Was würdet ihr sagen. Windows Vista oder Windows 7 Business 64 bit? Oder > kann man noch bedenkenlos auf Windows XP Pro 64bit setzen? Win7 64bit - ob jetzt