-
Thread
einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler
Ich würde einfach von 0 an jedem Befehl einen Wert geben: 0 Messung starten 1 ADC Teiler auf 2 setzen 2 ADC Teiler auf 4 setzen 3 ADC Teiler auf 8 setzen 4 ADC Teiler auf 16 setzen 5 ADC Teiler auf 32 setzen 6 ADC Teiler auf 64 setzen 7 ADC Teiler auf 128 setzen 8 ADC Teiler auf 256 setzen
zusammengefasst. Und hoffe, dass ich nichts übersehen habe? 0 Messung starten 1 ADC Teiler auf 2 setzen 2 ADC Teiler auf 4 setzen 3 ADC Teiler auf 8 setzen 4 ADC Teiler auf 16 setzen 5 ADC Teiler auf 32 setzen 6 ADC Teiler auf 64 setzen 7 ADC Teiler auf 128 setzen 8 ADC Teiler auf 256 setzen
-
Thread
Mit mysmartusb in AVRStudio Fuse setzen
die AVR-thematik einzuarbeiten. Nun versuche ich mit Hilfe von Avrstudio und mysmartusb die Fuse-bits für einen atmega32 und 16Mhz Quarz (Projekt Webserver) zu setzen, komme aber nicht wirklich damit klar. Soll heissen ich weis nicht so recht was ich wo einstellen soll. Datenblatt war auch keine Hilfe
Hast du mal versucht die Fusebits mit dem myAVR-Workpad zu setzen? Ich habe auch einen mySmartUSB und arbeite mit dem Workpad-plus um die Fusebits zu setzen. Das ist angenehmer als mit dem AVRProg im AVR-Studio. Ansonsten musst du schon genau sagen ob du nicht weißt
-
Thread
Wlan2Serial Modul für 5 euro
auf: > AT > mit > OK > > aber auf > AT+RST > mit > ERROR > > muss ich noch irgendwas setzen? mit folgenden Parameter läufts besser: 115200 baud, 8 data bits, 1 stop bit, flow control: XON/XOFF
Speicherkarte quittiert jeden Befehl, den sie empfängt mit einer Antwort, die 1 Byte lang ist. Bit 7 ist immer Null. Bit 6 Dieses Bit wird gesetzt, wenn auf eine Speicheradresse zugegrifen werden soll, die es nicht gibt. Bit 5 Durch Setzen dieses Bits wird gekennzeichnet, dass die Ausrichtung
-
Thread
NXP verschenkt ARM-Chips
Morgen bzw. nach'm schlafen gehts weiter. Dann ätze ich mein krüppeliges Board und setze was neues auf mit 32 Bit RAM.
. Im Normalfall immer die untersten Bits auf 0 setzen, die obersten Bits anschließen.
-
Thread
Nur bestimmte Bits verändern?
einmal musst du das Portbit auf 0 setzen und ein anderes mal musst du es auf 1 setzen, je nachdem welchen Wert das korrespondierende Bit in der Variablen hat. Wenn du dich dann zu dieser Erkentnis durchgerungen hast, was hindert dich an if( Bit in Variable == 0 ) lösche das Portbit else setze das Portbit und für das andere Bit in der Variablen demenstprechend gleich. Das ist die einfache kanonische Variante. Da bei dir
-
Thread
Bit shift - bei 10bit?
down counter wärs kein Problem, oder du könntest die anschlüsse extern multiplexen(z.B. mit nem 16-Bit multiplexer), dann bräuchtest du nur noch die 4-bits anzulegen. Solch ein Up/down counter wäre z.B. cmos ic 4510 ..Und ein 10-Bit Multiplexer(4-eingänge, 10 ausgänge, also genau richtig)z.B.
die Befehle ror und rol. Beispiel: clc ; Carry-Flag auf 0 setzen ror highbyte ; links wird das Carry (0) reingeschoben, ; das rausgefallene Bit wird im Carry gespeichert ror lowbyte ; das Carry wird links reingeschoben, das
-
Thread
SPI mit Attiny 841 und MCP23S17
Evtl. besser: [c] // SPI Init void spi_master_init(void) { MCP_PORT |= (1<<SS); // setze SS (Pullup) auf High 1. // Setzen von MOSI und SCK auf output und alle anderen auf input SPI_DDR = (1<<SS) | (1<<MOSI) | (1<<SCK);// Angabe der Pins // Einschalten SPI, Master, setzen Clock
erfogen soll. Soll sie ja laut Datenblatt auch. Nur eben entsprechend der Bitanordung im Datenblatt: 4 Bit Opcode, 3 Bit Adresse, 1 Bit R/W und dann die Daten.
-
Thread
Tasten entprellen - Bulletproof
wurden ;entweder: swap tmp ;ins andere Nibble (das ist ja frei) or tfl,tmp ;Bits im anderen Nibble setzen (alternativ) ;oder: ; or tlf,tmp ;Bits im anderen Register setzen (alternativ) ;--- pop tmp ;alten Wert wiederherstellen eor tas,tmp ;erhaltene
losgelassen wurden ; swap tmp ;ins andere Nibble (das ist ja frei) ; or tfl,tmp ;Bits im anderen Nibble setzen (alternativ) ; or tlf,tmp ;Bits im anderen Register setzen (alternativ) ; pop tmp ;alten Wert eor tas,tmp ;erhaltene Änderungen toggeln alten (
-
Thread
bidirektionale Datenübertragung zwischen 2 Atmega 8
// Bit 6 7 löschen 00 Sensor_7bis12 |= (0x80); // Bit 7 setzen 10 negiert_Sensor_1bis6 &= ~(0xC0); // Bit 6 7 löschen 00 negiert_Sensor
5bis8 &= ~0xC0; // Bit 6,7 löschen 00 SPS_out_5bis8 |= 0x80; // Bit 7 setzen 10 SPS_out_5bis8_negiert |= 0xC0; // Bits 6 & 7 setzen 11 am höchstwertigem Bit //Senden
-
Thread
ATMEGA128: Interruptflag löschen durch setzen?
Habe mich eben 5 Stunden von der Input capture unit des ATMEGA128 foppen lassen, bis ich im Datasheet folgende Zeilen las: [pre]"• Bit 5 – ICF1: Timer/Counter1, Input Capture Flag This flag is set when a capture event occurs on the ICP1 pin."[/pre] OK, dann wird also der Interrupt vom GESETZTEM Flag ausgelöst, sofern freigegeben. Weiter: [pre]"........ICF1 is automatically cleared when the Input Capture Interrupt vector is executed."[/pre] Durch Einsprung in den Int.Handler wird das Flag also automatisch gelöscht. OK, weiter: [pre]" Alternatively, ICF1 can be cleared by writing a
-
Thread
Assembler lernen für Mikrocontroller-Programmierung
gegen versehentliches Umschalten des Taktes eingebaut: Man muss zunächst lediglich das oberste Bit im Register CLKPR auf "1" setzen (alle anderen Bits müssen "0" sein) und hat dann 4 Takte Zeit, durch Beschreiben der 4 unteren Bits die neue Taktrate einzustellen (das oberste Bit muss dabei auf "0
bin erstaunt, dass du etwas anderes erwartet hast. > Bei meinem verschrobenem Denken dachte ich, setze BitX = 0 ;-) Bernd_Stein
-
Thread
Display (HD4478099) zeigt nur Kästchen
diesen Init-Code gebastelt: WaitMs(20); // Warte erstmal 20 ms PORTC = 0b00001101; // Setze ENABLE, DB4 und DB5 auf 1 (8-Bit Modus) WaitMs(10); // Warte 10 ms PORTC = 0b00001101; // Setze ENABLE, DB4 und DB5 auf 1 (8-Bit Modus) WaitMs(5); // Warte 5 ms PORTC = 0b00001101; // Setze ENABLE, DB4 und DB5 auf 1 (8-Bit Modus) WaitMs(5); // Warte 5 ms PORTC = 0b00001001; // Setze ENABLE, DB4 und DB5 auf 1 (4-Bit Modus) Ist der denn so weit in Ordnung? Mein Problem
-
Thread
IAR Compiler , Bit in Register setzen (ST ARM)
probier mal, statt USART1EN die echte bit-Position(0..7)? in dem Register, wo es sich befinden sollte, einzutragen. Wenn es dann geht, kennt der Compiler den Namen für die bit-Position nicht. Habe aber von ARMs weiter keine Ahnung.
Poject -> Options -> General Options -> System -> Häkchen bei "Enable bit definitions in I/O-Include files"
-
Thread
kann keine Uhrzeit automatisch einstellen
Also normalerweise nummeriert man die Bits von rechts nach links. Weiterhin habe ich geschrieben, dass im Datenblatt CKSEL 3 bis 1 angegeben sind. Also insgesamt 4 Bits mit in deinem Fall 110X. Das 0. (nullte) Bit wählt zusammen mit den SUT-Bits
Low-Impuls (Signal ist low-aktiv). Je nach dauer des Low-Impulses (100 oder 200 ms) wird ein 0- oder 1-Bit repräsentiert. Du brauchst jetzt nur 59 Bits abzuwarten, dann hast du eine komplette DCF77-Sequenz empfangen. natürlich musst du noch wissen, ab wann du die Bits zählen musst. Nun, immer der Minutenanfang
-
Thread
Verständnis AVR Interrupts Gesperrt
ohne dass es 'übersehen' wird" Aber immer nur das letzte Auftreten eines Ereignisses (das letzte Setzen eines bestimmten Interrupt-Bits) wird "abgearbeitet". Es wird weder gezählt noch in irgendeiner "Interrupt-Reihenfolge (zum jeweiligen Interrupt / -Bit) verarbeitet.
schrieb im Beitrag #6408533: > Aber immer nur das letzte Auftreten eines Ereignisses (das letzte Setzen > eines bestimmten Interrupt-Bits) wird "abgearbeitet". Es wird weder > gezählt noch in irgendeiner "Interrupt-Reihenfolge (zum jeweiligen > Interrupt / -Bit) verarbeitet. Das bedeutet auch,
-
Thread
Bits schubsen
0b00001000 Und damit wird das Register geladen. > Wie würde ich den in einem Register einzelne Bits löschen oder > setzen. Gesetzt wird mit einem ODER. Gelöscht mit einem UND Das 3. Bit setzen ori r16, $08 ; $08 == 00001000 das 3. Bit löschen andi r16, $F7 ; $F7 ==
Zweite Frage übersehen: Um einzelne Bits zu setzen, kannst du sbi (bzw. cbi zum Löschen) benutzen. Ab drei Bits lohnt sich das von dir vorgeschlagene Vorgehen mit in - andi - out bzw. in - ori - out
-
Thread
ADSC im ADCSR setzen
einen atmega16 included und möchte ne Single A/D Conversation starten. Dazu möchte ich das ADSC-Bit im ADCSR (ADC Status Register) setzen. Laut Beispielen / anderen Threads wird das ADCSR wie ein I/O Port behandelt. Doch die Port-Befehle funktionieren nicht. Beispiel: SBR temp,ADSC OUT ADCSR,temp
-
Thread
Fernbedien RC5 Empfänger
allerdings, den ganzen Code Müll zu entschuldigen. Nun muss ich nur noch sehen, wie und wo ich ein Bit setze, damit ich auswerten kann, ob es das Startsignal für meine Anwendung ist. Ich denke, ich sollte es nach den beiden Startbits machen. Gruß Toby
Christian R. wrote: > Warum setzt du das i=200 bei gleichem Toggle Bit? Und deine main > Schleife arbeitet doch trotzdem immer alles durch, egal, ob da eine neue > Taste gedrückt wurde oder nicht? Richtig. In der Main-Schleife wird alles abgearbeitet. Ich setze i=
-
Thread
Auf Bit array zugreifen
if(buffer[my_ptr.Byte] & (my_ptr.Mask[my_ptr.Bit]) //Abfrage buffer[my_ptr.Byte] |= (my_ptr.Mask[my_ptr.Bit]); //Setzen buffer[my_ptr.Byte] &= ~(my_ptr.Mask[my_ptr.Bit]); //Löschen my_ptr.Bit=(my_ptr.Bit+1)&0x07;
allgemeinen Zugriffsfunktionen gar nicht. Alles was du willst ist doch nichts anderes als das nächste 'Bit' auf entweder 0 oder 1 zu setzen. Das lässt sich aber recht einfach erreichen [c] uint8_t writeIndex = 0x00; uint8_t bitMask = 0x01; uint8_t buffer[128]; void IncrementToNextBit() { bitMask
-
Thread
Card12 mit EVAL-AD5781 verbinden
soll. Um das zu tun müssen wir das Control Register beschreiben. Dieses wählen wir aus in dem wir die bit DB22 = 0, DB21 = 1 und DB20 = 0 setzen Die bit DB19 - DB10 dürfen wir nicht wirklich anfassen. deswegen setzen wir die auf 0. DB9 - DB6 stellen die Lineare Kompensation ein. da wir nix zu verschieben
2,5V Bleib bei dem Programm was Ich da geschickt habe und kommentier die Zeile myvalue +=1 aus. Setze alle 18 bit auf 0 und schau was als Ergebnis kommt. Danach setze das MSB auf 1 und schau was dann als Ergebnis kommt. zuletzt alle 18 bit auf 1 und wieder das Ergebnis festhalten. Ich muss mich
-
Thread
attiny2313 schläft und lässt sich nicht mehr programmieren
mann nur einzelne Bits verändern sollte man Bit-set-befehle in ASM benutzen wenn mann kein ASM verwenden will oder mit AND und OR die bits setzen und löschen (Maskierung) z.b MCUCR=MCUCR or 0b0110000; Rem setzen MCUCR
aber das SE-Bit erst direkt vot dem 'sleep'-Befehl zu setzen und direkt danach wieder zu löschen. Per Bitmanipulation kann man das in ASM wunderbar machen. In C braucht´s halt worst case ein paar Befehle mehr.
-
Thread
8-Bit CPU Selbstbau
>O7 Da schaltet einfach ein Multiplexer den gewünschten Pin durch. Auch als Barrel-Shifter um 1 bit, 2 bit und 4 bit kaskadiert.
von Florian T. schrieb: >Tobias wollte aber eine 32bit CPU bauen, ich nicht. Die Grundlagen sind immer die selben, egal ob 4Bit, 8Bit oder 32Bit. Als erstes brauchst du Logig-Schaltstufen, AND, OR, NAND, NOR. Davon tausende. Die kann kann man mit
-
Thread
8 Bit aus 32-Bit-Variable auswählen
wie setze ich die dann hinter die ersten 8 Bit die den Befehl+Adresse enthalten? [c] Frequenz<<=8; uint16_t Datenpaket = 0bxxxxxxxx00000000|Frequenz; [/c] Das Ganze eben viermal?
aber aufpassen, daß man Zwischenergebnisse erst auf den langen Typ castet. Sonst schiebt man die Bits aus dem kurzen Typ hinaus ins Nirvana. Um z.B. die höchstwertigen 8 Bit in einem 32-bit Wert aus einem 8-bit Wert zu setzen (es wird erwartet, daß die vorher 0 sind): [c] uint8_t x; uint32_t
-
Thread
10 Bit nach 8 Bit
Board von AVR Analoge Signale in Digitale umzuwandeln. Der eingebaute Converter liefert mir mir das 10 Bit ergebnis, ich benötige aber 8 Bit! Also wie bekomme ich aus den 10 Bit die 8 Bits heraus? MfG Ingo
Ich weiß nicht, ob ich mich unklar ausgedrückt habe: Die einfachste (und übliche Methode) ist, das Bit ADLAR (ADC Left Adjust Result) im Register ADMUX zu setzen und dann nur das High-Byte ADCH auszulesen. Wie gesagt, steht alles im Datenblatt.
-
Thread
Neue Cortex-M0+-Familie von Atmel
>- 8-Bitter sterben aus wetten dass nicht? Frag mal Microship, die werden alles dran setzen auch weiterhin ihre (vom Grunde her seit Anf. der 70er Jahre(!!!) bestehende 8-Biter zu vermarkten.
8-Bit schrieb im Beitrag #3218140: > Es gibt keinen vernünftigen Grund mehr, weiterhin auf > 8-Bitter zu setzen. Ich bin anderer Meinung. Als ich vor Jahren mein Aha-Erlebnis bit dem ARM hatte, sagte
-
Thread
PIC12F675 brauche Hilfe
GPIO.B2 = 1; //Ausgang auf High Time=HighTime; //Timer auf High Pulslänge setzen TMR1H=(65536-Time)/256; //Highbyte setzen TMR1L=(65536-Time)%256; //Lowbyte setzen T1IF_bit=0; //Timer1 Interrupt Flag löschen Ausgang=1; //
=(65536-Time)/256; //Highbyte setzen TMR1L=(65536-Time)%256; //Lowbyte setzen T1IF_bit=0; //Timer1 interrupt Flag löschen Ausgang=0; //Status auf 0 } }
-
Thread
AVR Assembler-Frage
Oder von Knut Ballhause schrieb im Beitrag #3704100: > Es gibt spezielle Befehle, um einzelne > Bits im SREG zu setzen und zu löschen. ? Bit 2 in SREG ist das N Flag. Dafür gibt es SEN und CLN. XL
.org 0x0006 auf nop ; timer0_match_bit-64 lenken reti timer0_match_bit-64: out PortB,output64 ; Portausgabe für Bit 64 ldi tmp,0b00100000 ; CompareMatch auf 32 setzen out PortB,tmp ; 32 auf OCR0A schreiben nop ; ich muss
-
Thread
Einzelne Bits der ATtiny45 Register mit BASCOM setzen
angenehmen Spielraum von 21kHz bis 28kHz. Durchgerechnet ist auch schon alles, ich muss nur noch die Bits in den entsprechenden Registern setzen. Jetzt habe ich gelesen, dass in Bascom nicht mehr erforderlich ist, als eine Anweisung wie: [code]WGM02 = 0[/code] Braucht der Compiler tatsächlich keine Unterweisung
auch fehleranfällig, mach's besser so: [code]TCCR0A = Bits(COM0A1, COM0A0, COM0B1, COM0B0, WGM01, WGM00)[/code] Ob Du die richtigen Bits für die gewünschte Funktion setzt, hab' ich dabei nicht überprüft.
-
Thread
XAPP380 / Dynamische Bits zusammen setzen
Hallo, ich würde gerne 16 Eingangssignale freiwählbar in ein 8 Bit Register schreiben. Nach einigem suchen hab ich die XAPP380 von Xilinx gefunden, aber es ist ein bisschen zu aufgebläht. Die Selektierten Bits müssten auch von LSB nach MSB sortiert werden. Hier ein Beispiel Eingang: Bit 0 = 1 Bit 1 = 0 Bit 2 = 1 Bit 3 = 1 Bit 4 = 1 Bit 5 = 0 Bit 6 = 1 Bit 7 = 1 Bit 8 = 1 Bit 9 = 0 Bit 10 = 1 Bit 11 = 1 Bit 12 = 1 Bit 13 = 0 Bit 14 = 1 Bit 15 = 1 Selektierregister : Bit 11, Bit 13, Bit 14, Bit 15 werden ausgewählt
-
Thread
LPC1100, superguenstig, 8-bit? Wird immer unnoetiger
irritiert, hat der Cortex nun Bitbefehle oder nicht? > D.h. wie lange dauert es, einen Portpin zu setzen, 1 Befehl oder 3 > Befehle? Im Thumb mode schätze ich die Codelänge nicht sehr unterschiedlich zu den 8bit MC's ein. Beim RAM Verbrauch ist darauf zu achten, daß der Linker die Adressen von Arrays
konnen "Löcher" in der RAM-Belegung entstehen. Weiters ist bei den Strukturen darauf zu achten, dass 16bit und 32bit variable auf geraden bzw. durch 4 teilbaren Adressen liegen.Geht sich das nicht aus, so entstehen in der Struktur ebenfalls "Löcher". Der ARM Kern scheint generell nicht für das setzen non
-
Thread
C; AVR: Eingänge und Ausgänge setzen
PORTD |= (0xFF) [/c] Ist dies korrekt? Bei Abfragen bekomme ich jedesmal Fehler, sprich, die Bits sind nicht so wie sie sein sollen.
zotti schrieb im Beitrag #1764577: > Bei Abfragen bekomme ich jedesmal Fehler, sprich, die Bits sind nicht so > wie sie sein sollen. Woran erkennst du das? Vielleicht liegt das Problem ja in der /Fehlererkennung/?
-
Thread
C: Pixel auf dem Bildschirm ausgeben
als du. Indem ich mich > z.B. an POSIX halte oder auf etablierte und abstrakte Schnittstellen > setze, läuft meine Software nahezu ohne Änderung auf einer vielzahl von > Plattformen, während du bei jedem Umzug wieder in deine Bitfrickelei > eintauchen musst. Ich frickel lieber an Bits herum, als
Ja genau und das ist der entscheidende Punkt meiner Kritik. Denn bei 32Bit-Truecolor genügt ein einziger MOV-Befehl um ein Pixel zu setzen, während man bei 24Bit-Truecolor mindestens zwei MOV-Befehle benötigt, da es keine 24Bit-Befehle gibt. Dazu lassen sich 32 bittige Adressenangaben
-
Thread
Löschen eines Bits löscht auch ein ganz anderes Bit. Weshalb?
anders nutzen möchte? Es scheint nun also nicht zu funktionieren die entsprechend zu ändernden Bits auf 1 oder 0 zu setzen. Aber kann ich mir andersherum sicher sein, dass bei einem setzen eines Bits auf 0 alle Bits gelöscht werden? Kann ich mich darauf verlassen und danach nur noch die einsen schreiben
gesetzt wird müsste ich zuerst alle nullenden Befehle aufrufen und dann erst all jene, die auf 1 setzen. Das führt zu einem Recht unübersichtlichem Kuddelmuddel das ich gerne vermeiden wollen würde. Oben wird ein Teil der Clockselect Bits auf Null gesetzt, dann kommt etwas ganz anderes was auf null
-
Thread
UART Bootloader ATtiny13 - ATmega644
angesprungen. Jemand ne Idee? Ich werde jetzt den Bootloader neu flashen und die Bootloader Lock Bits setzen, dann passiert das wenigstens nicht nochmal (Scheiss arbeit, die ISP Pins wieder anzulöten, muss dazu die halbe Schaltung auseinandernehmen) cu Matze
Muss ich das Selfprogrammfuse beim Atmega8 setzen? Dachte der hat keins? Baud ist schon auf 19200 runter. Habe inzwischen den Laptop rausgeholt und da nen USBSeriall Wandler angeschlossen um das ganze mal mit Windows XP 32Bit zu probieren (Hab sonst
-
Thread
Atmel noch zukunftsfähig? Gesperrt
und überraschend. Aber AVR-µC leben munter weiter! > Sollte man als Unternehmen auf Microchip setzen? Du solltest dann "auf Microchip setzen", wenn sie dir eine Lösung für dein Problem anbieten. Wenn keine Unternehmen "aus Microchip setzen" würde, dann wäre Microchip nicht so groß. Patrick B.
Steuerung sehr einfach und deswegen der 8-Bit Controller.
-
Thread
Pin setzen / rücksetzen
cleart den Pin eines Ports??? Und wie muss ich einen Port konfigurieren für folgende Befehle? bit_is_set(PORTC, PINC2); bit_is_clear(PORTC, PINC2); Und letzte Frage: Wenn ich ein paar Pins eines Ports für Output nutze und ein paar Pins als Input, wie muss ich diesen Konfigurieren? Z.B. verwende
diesen so ein: >outp(0xff,DDRC); Korrekt >und die einzelnen Pins kann ich folgendermaßen setzen: >led = 4; //z.B. 1 für die 1. LED oder 4 für die 3. LED >outp(~led, PORTC); mit diesem Befehl würdest du alle Pins an Port C auf high setzen, bis auf Pin 2, da ~led = ~4 = ~00000100 = 11111011
-
Thread
AVR Ports setzen Gesperrt
einzelne Bits setzen und rücksetzen? Ich arbeite mit AVR Studio 4.14 und WINAVR. Gruß Matze
Also diese Art einen Pin zu setzen ist mir unter WinAVR eigentlich gänzlich unbekannt. Normal funktionierts so: [c]PORTB |= (1 << PB6); // Setzen PORTB &= ~(1 << PB6); // Rücksetzen[/c] MfG Marius
-
Thread
Messfehler am ADC vom ATmega
abgetastet und ein Ergebnis erhalten. Wie jetzt? 300ms? > Bei der Lösung vorher hatte ich 100 Bit für 1 Ampere zur Verfügung > nun nur noch 20. Kannst du uns mal eben aufklären was du uns immer mit deinen Bit-Angaben sagen willst? Der ADC der AVRs hat eine Aufläsung von 10 Bit. Was meinst du also mit "100 Bit"?
-
Thread
32 Bit MCU gesucht
dann doppelt so schnell. Was spricht dagegen? > Ich würde daher gerne langfristig mal auf eine 32 bit Architektur > umsteigen. Diese soll nach möglichkeit mit deutlich mehr als 8MHz > betrieben werden. Dann wäre es auch nicht so tragisch wenn keine FPU > vorhanden ist. 32 Bit µC sind eine ganz
wozu 32bit? dsPIC mit 100MHz (intern) und gut ist
-
Thread
Linux wird nicht wirklich akzeptiert, woran liegt das ?
Joachim B. schrieb im Beitrag #6394673: > und wie lange wurde Gimp für 16-bit angekündigt? > mittlerweile soll es das ja geben In welchem Jahrhundert lebst du? Meines läuft mit 64bit...
Codo schrieb im Beitrag #6394681: > In welchem Jahrhundert lebst du? > Meines läuft mit 64bit... pro RGB Kanal, ich denke du hast ein Leseverständnisproblem. Was interessiert mich das OS, mich interessieren seit Jahren nur die RGB Bits und die waren mit 3x8-bit lange Zeit zu knapp und 3x16
-
Thread
verständnisfrage zu bit schieben
mir die ansteuerung bzw. programmierung einleuchtend. nur hänge ich an einigen stellen in bezug auf bits, welche verschoben werden: - hier zum beispiel: [c] LCD_PORT &= ~(0xF0>>(4-LCD_DB)); // Maske löschen LCD_PORT |= (data>>(4-LCD_DB)); // Bits setzen [/c] LCD_PORT wird in der Headerdatei
LCD_PORT &= ~(0xF0>>(4-LCD_DB)); // Maske löschen > LCD_PORT |= (data>>(4-LCD_DB)); // Bits setzen > [/c] > LCD_PORT wird in der Headerdatei mit DDRD ersetzt und LCD_DB mit PD0. > aber was wird in diesen Zeilen jetzt genau gemacht? 0xF0 ist ja das > gleiche wie 0b00001111 Nein >
-
Thread
Sanfter Umstieg von 8bit auf 32bit Atmel
Abstand 1/20 Zoll oder 1mm und nicht kleiner) und auch sonst noch einfach zu betreiben ist, aber eben 32bit?
> Fire Heart schrieb im Beitrag #6351182: > Sanfter Umstieg von 8bit auf 32bit Atmel Sorry, "Fire Heart". Wenn Du hier Religions-Fragen stellst, solltest Du Dich über Ideologie und blinde Eiferer am Ende nicht beklagen, nur mal vorsichtshalber erwähnt... Wenn
-
Thread
Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus
nicht verstanden habe wenn Zeichen wie ein Bild ist und > warum kann ich den nicht Pixel einzel setzen, wie müsste das ausehen, > man kann ja den ganzen zeichensatz doch darstellen ? An sich ist das möglich, aber dazu bräuchte man 320x240Bits. Der mega8 hat aber nur 1k und keine 9,6kByte. Daher
erst "CL1" bis ich eins vor der Gewünschten zeile bin (springt der genau 1 Pixel oder 4, da ich im 4Bit Mode arbeite),setze dann "FLM" (auch FRAME bei Wintek genannt), takte noch einmal mit "CL1" und setze auch "FLM" wieder low und toggle "M". Jetzt Setze ich meine Bits an D0..D3 und lade sie mit
-
Thread
ADIF Bit
Mit: ADCSRA |= _BV (ADSC); wird doch das ADIF gelöscht. Es ist nämlich eins dieser blöden Bits, womit Atmel Leute oft zur Verzweiflung bringt, weil die umgekehrt (auf 1 setzen) gelöscht werden müssen. Peter
Jep jetzt seh ichs auch ... ADIF setzen um es wieder zu löschen. Denke ich werde das ADSC bit nehmen. Für meine Anwendung völlig ausreichend. Mit ADIF beschäftige ich mich dann wenn ich nen Interrupt brauche. AVR-Studio kann leider den
-
Thread
Warum sind STM32 I/Os auf 16 Bit kastriert?
Die 16-bit Beschraenkung erlaubt mittels BSRR Register atomar Bits zu setzen und rueckzusetzen.
Uwe B. schrieb im Beitrag #6406369: > 16-bit Beschraenkung erlaubt mittels BSRR Register atomar Bits zu setzen Die LPC können auch mit 32-bit I/O atomar Bits setzen Der tatsächliche Grund dürfte darin liegen dass die STM32 I/O IP vom STM8
-
Thread
Fuse Bits
Hallo, ich habe schon zwei ATtiny26 µC ausversehen mit dem bit LOCK gesperrt! Ich habe jetzt einen ATmega8515, ich will diesen Chip auf keinen fall wie die anderen Sperren! Mit dem Ponyprog2000-Programm unter der Fuse-Einstellungen(Security-bits), wenn ich da
der chip ist trotzdem nicht gesperrt. Ich will nur die anderen Parameter verändern, nicht die Look-bits. Wenn ich das mache, muss ich jetzt alle Look und Bootlokk bit cheken, damit der Chip nicht gesperrt wird? Also: alle Bootlook und Look bits = markieren wird alles nicht gesperrt? Danke schön.
-
Thread
Bootloader-lockbits im ATmega64 zur laufzeit setzen
werden müsste. jedenfalls kann man an die boot_lock_bits_set()-Funktion übergeben was man will, die Lockbits bleiben auf 1 (also ungesetzt) kleben, bzw fallen sogar ungewollt auf 1 zurück. Die LB1 und 2 Bits dagegen kann man schön verändern! habe
Und kann man die Bits hin- und zurück setzen ? Wenn man sie wieder rücksetzen kann, sind sie sinnlos. Die heißen ja deshalb Lockbits, weil sie den Inhalt gegen fremde Augen sperren (=lock) sollen. Ein Rücksetzen außer
-
Thread
avrdude fuses setzen mit usbasp
Hallo, ich habe bisher immer ponyprog genutzt und habe nun einen usbasp. Funktioniert alles Prima jedoch habe ich probleme mit den fusebits. Zunächst mal, kann ich die low und high bits wie folgt schreiben: avrdude -c PROGRAMMER -P PORT -p PART -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m Da ich einen mega168 nutze, gibt es aber noch die extended fuses und noch die lock bits. Genau diese müsste ich nun beschreiben. Kann mir vielleicht jemand sagen ob es mit usb asp geht und wie es geht? Achja, vielleicht weiß ja auch noch jemand, warum die lockbits bei der palmavr website nicht angezeigt
-
Thread
Zugriff auf einzelne Bits in einem Register
Hallo, ich möchte in einem Register eines Mikrocontrollers auf einzelne Bits des Registers zugreifen und diese setzen. Ich möchte dabei aber auf unschönes Shiften und Maskieren von Bits verzichten. Ich stelle mir eher z.B. so etwas vor: Register_Name.Bit4 =0xFF; Wie kann
*)0x8002300) Dann bin ich in der Lage mit x.bit_1 = 1 das erste Bit des Registers zu setzen. Ist das richtig ? Wenn ja, wäre das so eine Lösung, die ich suche. Klar funktioniert das auch mit Shiften, aber diese Lösung (vorausgesetz sie funktioniert
-
Thread
Seit dem setzen der FUSEbits ATMEGA nicht mehr programierbar
über SPI mehr möglich. Ich benutze diese Einstellung immer um über DebugWire zu debuggen. Um die Bits zurück zu setzen muss man eine Debug-Session aufmachen und diese mit "Disable debugWIRe and Close" beenden. EDIT:!!!!!!!!! Vergiss den Quatsch den ich geschrieben hab! War beim flaschen Atmega
die Amplitude zu klein und die Frequenz auch zu klein morgen mehr. Wenn ich wirklich das ocden bit gesetzt habe sollte ein programmieren über ISP nicht mehr möglich sein. Wie kann ich dann das fusebit setzen? Bzw. Wie kann ich ocd-debbuggen?