-
Thread
64-Bit Integer Beschleunigung
sind und es mehrere Sicherheitsstufen gibt. Wir übertragen z.B. (wirklich nur ein Beispiel) eine 8 Bit Folge als 11 Bit Wort, die Matrix aus 10 Worten mit einem 11 Bit FEC, der selber mit 7 Bit geschützt ist -> 128 Bit. Dann wird eine Anzahl von z.B. 8 solcher Pakete mit 2-4 Worten an Rauschinformationen
es mehrere > Sicherheitsstufen gibt. Wir übertragen z.B. (wirklich nur ein Beispiel) > eine 8 Bit Folge als 11 Bit Wort, die Matrix aus 10 Worten mit einem 11 > Bit FEC, der selber mit 7 Bit geschützt ist -> 128 Bit. Dann wird eine > Anzahl von z.B. 8 solcher Pakete mit 2-4 Worten an Rauschinformationen
-
Thread
Warnung beim verwenden jeweils jeden 7.Portpin als Ausgang
Normalerweise sollte er mit 16bit arbeiten, es gibt allerdings eine Compileroptionen (heißt glaube ich -mint8), mit der man auf 8bit umschalten kann. Schau mal ob diese aktiv ist.
das 'Problem' eigentlich beheben. Das Problem besteht darin, dass in C zunächst aus dem signed 16-Bit ein signed 8_Bit gemacht wird. Damit ist aber 128 nicht mehr darstellbar. Erst danach geht es von signed 8-Bit auf unsigned 8-Bit, womit 128 wieder eine korrekte Darstellung besitzt.
-
Thread
Conways Game of Live zu langsam auf Z80
Achso: Ist dein enum ein Byte oder 16 bit auf dem Compiler ? Nimm Bytes.
Each general-purpose I/O port has four 32-bit configuration registers (GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR and GPIOx_PUPDR), two 32-bit data registers (GPIOx_IDR and GPIOx_ODR), a 32-bit set/reset register (GPIOx_BSRR), a 32-bit locking register
-
Thread
Zustandsvariablenblöcke als serielle Bits an Schieberegister ausgeben?
quasi eine Art Byte - zu - Variablen - Konverter....;-) Nein. Mach dir Routinen, wie du ein Bit in einer Struktur von X Bytes Setzen Löschen Abfragen Toggeln kannst. Also set, res, tst, tog jeweils mit einem int idx und welche Struktur (LEDs, Taster, ...) Und dann schreibe die Bytes
A. S. schrieb im Beitrag #6586363: > Mach dir Routinen, wie du ein Bit in einer Struktur von X Bytes > Setzen > Löschen > Abfragen > Toggeln kannst. > Also set, res, tst, tog Hui. Das ist mir leider noch unbekannt - Könntest Du mir dafür ein einfaches Beispiel
-
Thread
Assembler, Register reagiert falsch
Versuche mal statt Bit.5 fuer PCIE Bit.4 (ohne Belegung) zu setzen und kuck was passiert. >UDRIE=1 fährt dir dein prgramm zu, weil (>>>>31<<<<<<<TXEN) gesetzt wird. Was meinst Du damit?
Ja, die 31 war absichtlich gesetzt als Maske zum setzen der erforderlichen Bits
-
Thread
PWM 40 khz ?
mindestens 10 Pulse groß sein. Besser sind 16 oder mehr wie beim RC4. beim RC4 sind es zB. 2x 32 Pulse pro Bit. Gruß Hagen
ich dafür den timer abschalten? wenn ja wie? oder einfach den pin mit cbi oder sbi löschen oder setzen? MFG Jörn
-
Thread
BCD-Decoder und 8Bit
Ein 8 Bit BINAER Wert benötigt in BCD Darstellung 12 Bit, Wikipedisiere es selbst!
Heinz V. schrieb im Beitrag #4906025: > Ein 8 Bit BINAER Wert benötigt in BCD Darstellung 12 Bit, Wikipedisiere > es selbst! Ein Wert von 0..255 braucht in BCD 10 bit, und dafür muss man nun wirklich nicht Wikipedia bemühen, Denken reicht. Ist
-
Thread
Probleme mit High- und Low-Eingängen Arduino Nano
Ausgang konfiguriert sind. Ich würde das PORT Register nur dann beschrieben, wenn das entsprechende Bit im DDR Register auf HIGH steht.
[c] if (digitalRead(SENSORPIN1)) code |= INPUT1; // Eingang 1 einlesen und in Bit #0 von code speichern if (digitalRead(SENSORPIN1)) code |= INPUT2; // Eingang 2 einlesen und in Bit #1 von code speichern flanke = code & ~code_old; // positive Flankenerkennung für beide Signale
-
Thread
Fehler zum nachbauen :-)
Ich setze auf D.
völlig unverdächtig aus, da ja alles einheitlich mit 3,3 V betrieben wurde. Aber gelegentlich wurden Bits nicht korrekt ins RAM geschrieben, was sich dadurch nachweisen ließ, dass die gekippten Bits stabil waren.
-
Thread
"Memory Barrier" in C99
Nemopuk schrieb im Beitrag #8011855: > Bei 8 Bit AVR können Zugriffe auf die beiden Bytes des 16 Bit Counter > unterbrochen werden. Um dies zu verhindern, hat das Beispiel die flag Variable, die sich, wie oben bereits erwähnt, effektiv immer nur
Daniel G. schrieb im Beitrag #8011861: > Nemopuk schrieb: >> Bei 8 Bit AVR können Zugriffe auf die beiden Bytes des 16 Bit Counter >> unterbrochen werden. > > Um dies zu verhindern, hat das Beispiel die flag Variable, die sich, wie > oben bereits erwähnt, effektiv
-
Thread
Fues-Bits
reingeschrieben, damit nix anbrennt (ext. Qaurz und passende Baudrate) /* * Perfekte Baudrate: L-Fuse setzen auf 0xE0 */ Die H-Fuse und den Rest alles so gelassen, nur die L-Fuse geändert.
ich habe: 11001101 are the fuse bits written into an ATtiny2313
-
Thread
100x Infineon XMC2Go Board mit ARM Cortex-M0 zu gewinnen
Starterkits</a>. Der Controller ist ein <a href="http://www.infineon.com/cms/en/product/microcontrollers/32-bit-industrial-microcontrollers-based-on-arm-registered-cortex-tm-m/32-bit-xmc1000-industrial-microcontrollers-arm-registered-cortex-tm-m0/channel.html?channel=db3a30433c1a8752013c1aa35a6a0029" rel="nofollow
Meinte diese Übersicht: http://www.infineon.com/cms/en/product/microcontrollers/32-bit-industrial-microcontrollers-based-on-arm-registered-cortex-tm-m/32-bit-xmc1000-industrial-microcontrollers-arm-registered-cortex-tm-m0/channel.html?channel=db3a30433c1a8752013c1aa35a6a0029
-
Thread
Dmx senden mit einem 89C52 (8052)
evtl. sinnvoll, zwar bei den 83kbit/s zu bleiben (um MARK gut einzuhalten), aber das Datenformat auf 8bit, 1 Stopbit zu setzen. Das sind dann 8*12µs = 96µs Breakzeit.
{// BREAK + Mark after Break SCON = 0x40 ; // 10000000 = 40 Mode 2 8bit // 11000000 = C0 Mode 3 9-bit -> letztes = 0 RCAP2L = 250 ; // Setze Timer 2 auf 83.333b 250 SBUF = 0x00 ; // sende break gDmxState = STARTB
-
Thread
FuseBit Reseter
Hi, habe aus der Not eine Tugend gemacht und mir aus nem ATMEGA8 und ein paar Bauteilen nen Fuse Bit Reseter für ATTINY 11/12 und 15 gemacht. Nun frage ich mich ob ich dieses Projekt weiterführen soll, also auf andere Controller erweitern. Wer hätte den Interesse an so einem Aufbau (ca. 20 EURO)
reingesetzt hast. Dann habe ich noch ein wenig im Programm des 90S1200 des STK500 gewerkelt, damit das setzen der fuse-bits beim Softwareupdate des 8535 unterbleibt (die mach(t)en das tatsächlich automatisch, möchte mal wissen, was das bedeuten soll).
-
Thread
C und LCD Frage.
kann: http://www.mikrocontroller.net/topic/84619#new Nur in der Initialisierung setze ich das DDR-Register zusammen für alle Pins. Man muß dann eben die DDR-Bits einzeln setzen, wenn die Ausgänge auf verschiedenen Ports liegen. Peter
**< port for 4bit data bit 3 */ #define LCD_DATA0_PIN 4 /**< pin for 4bit data bit 0 */ #define LCD_DATA1_PIN 5 /**< pin for 4bit data bit 1 */ #define LCD_DATA2_PIN 1 /
-
Thread
ATTINY13 Interrupt INT0
Bits setzen" habe ich das vom Beispiel [c]PORTB |= ((1 << MEINBIT0) | (1 << MEINBIT2)); // setzt Bit 0 und 2 in PORTB auf "1" [/c] zumindest so abgeleitet. Danke, LG Stefan
http://www.mikrocontroller.net/articles/Bitmanipulation] nochmal zu > Gemüte geführt. Im Abschnitt "Bits setzen" habe ich das vom Beispiel Dann bitte jetzt noch den Abschnitt "Bits löschen" lesen, denn > ISC01=0 bedeutet, dass des Bit ISC01 gelöscht werden soll.
-
Thread
RISC/V kommt in Schwung
Möglichkeiten für Scheduling. So könnte ein Compiler Instruktionen anderer Befehle zwischen die der 64-Bit Addition schedulen; Bei einem Core mit Flags ist das oftmals nicht möglich. Und für einfache Sprungbefehle kann man ein Flag in einem Register setzen (SLT) und abhängig davon springen. Cores ohne
Hatte ich die Flags schon erwähnt ???????? Nichtmal die Möglichkeit, im Speicher atomic ein Bit zu setzen. Es gibt eine ganze Menge, was dieses Ding nicht kann. Es ist nicht besser, weil es neuer ist.
-
Thread
HD44780 (Pollin DV20208) Zeichenbreite stimmt nicht
handelt, findet sich das zugehörige Konfigurationsbit im DDRC. PORTC - DDRC. Im DDRC muss das Bit 6 auf 1 gesetzt werden, und dann kann durch 1 Setzen in PORTC der Ausgangspin PC6 auch tatsächlich physikalisch auf 1 gesetzt werden. Also: DDRC |= ( 1 << 6 ); PORTC |= ( 1 << 6 ); Ende
DDRB #define BIT_E PB2 [/C] und diese Bezeichnungen setzen wir jetzt mal in den Code ein. Wir machen genau dasselbe, was auch der Präprozessor macht. Dann kommt raus DDRB |= ( 1 << PB2 );
-
Thread
Probleme beim Bit-Löschen
bin mir aber sicher, das ich mal wieder den Wald vor Bäumen nicht sehe. Möchte einen Ausgang setzen bis eine gewisse Temperatur erreicht ist, und ihn dann wieder löschen bzw. ausschalten. Bisher dachte ich mir das so: if ((ist_temp+5)<=soll_temp) { PORTD|=(1<<PD7); //Heizelement
Float-Datentyps für eine Temperaturangabe bei einem Sensor, der allenfalls zwischen -55 und +125°C arbeite, 9 Bit liefert und damit weder im mK- noch im GK-Bereich misst, ist dem Problem wohl nicht ganz angemessen. Aber eine Fixkommarechnung zu verwenden und für die Anzeige das Komma/Punkt an geeigneter Stelle
-
Thread
Drehgeber auf Atmega 88 wandeln
soll. Mit dem gehts auch. Nur laut Handbuch hat das TCCR1A-Register keine Möglichkeit das WGM12 - Bit zu setzen, welches ja laut Tabelle 15-4 erfordelich ist um CTC zu setzen. Deswegen bin ich auf das TCCR1B gegangen. Hier kann ich das Register auf CTC setzen, sowie auch den erfordelichen Teiler (64
gehts auch. Gut > Nur laut Handbuch hat das > TCCR1A-Register keine Möglichkeit das WGM12 - Bit zu setzen, richtig > welches ja > laut Tabelle 15-4 erfordelich ist um CTC zu setzen. Das Bit ist im TCCR1B Register > Deswegen bin ich auf > das TCCR1B gegangen. Hier kann ich das Register
-
Thread
9-Bit Kommunikation
umgestellt. Aber wie setze ich das sogenannte Mode-Bit? Das müsste ja dann das 9.Bit sein. Wie komme ich an dieses Bit ran? Ich habe das gleiche schon mit einer 8Bit-Übertragung und gesetztem Parity Bit ausprobiert. Damit
wie dieser Abschnitt auch immer in deinem Datenblatt heißt. Wieder und immer wieder > Das UCSZ-Bit habe ich auf 9Bit umgestellt. Aber wie setze ich das > sogenannte Mode-Bit? Das müsste ja dann das 9.Bit sein. > Wie komme ich an dieses Bit ran? Beim Mega16 ist das das Bit TXB8 im Register UCSRB
-
Thread
mehrere Interrupts beim ATMEGA32
setzen, jedes zehnte mal die Uhr hochzählen und die Tasten entprellen, wenn erforderlich, dann ein Jobflag für Hundertstelsekunde setzen. Braucht man eine Wartezeit, so nimmt man statt eines Jobflags
Dir kann zu jeder Zeit ein Interrupt akzeptiert werden. In der Interruptroutine bei mir könnte das Bit freigegeben werden und damit wären auch weitere Interrupts akzeptierbar. Bei den Rückkehradressen dürfte es keine Probleme geben. Nur für die InterruptEnable Bits gibt es keinen Stack. Nachteil bzw
-
Thread
Time Slot erzeugen - wie am besten
// Auswahl CTC Modus TCCR1B = (1<<CS01)|(1<<CS00); // Prescaler auf 64 setzen OCR1A=1249; // Wert für 10ms TIMSK1|=(1<<OCIE1A); // Interrupt erlauben } ISR (TIMER1_COMPA_vect) // Timer 10ms { ... } [/c] Der 16 Bit Timer ist eigentlich
Beitrag #6782122: > Da ist noch ein Denkfehler drin mit millisekunden1. > Wie meinst du das mit der 32 Bit Variablen? Flags in der ISR _setzen_, in der Hauptschleife flagbedingte Sachen ausführen und Flag _löschen_! Flags als _volatile_ deklarieren sonst funktioniert das nicht!
-
Thread
Eingänge am ADC wechseln
auf 1 setzen Register &= ~( 1 << Bit ); // Bit auf 0 löschen [/C] und er lernt auch, dass er so [C] Register |= ( 0 << Bit ); [/C] ein Bit nicht löschen kann. Warum? Weil man eine 0 nach links
auf 1 setzen > Register &= ~( 1 << Bit ); // Bit auf 0 löschen Ich bin der mit dem "lies noch einmal". Ich bin von einem copy & paste Fehler ausgegangen, weil zweimal das selbe code Stück da stand. Ich
-
Thread
Probleme mit Aufgabe für Bitoperationen
Googeln nach c bits setzen löschen sollte weiterhelfen.
unsigned char Status = 0; ... [/c] hast du bereits die Speicherfläche für 8 Bit. Die Zuweisung von 0 sorgt einfach nur dafür, dass an dieser Stelle alle 8 Bits gezielt auf 0 sind. Du musst sie nur noch gezielt einzelne Bits auf 1 bzw. auf 0 setzen, bzw. entsprechend abfragen.
-
Thread
Bitmanipulation
Naja, geht zumindest nicht in einem Schritt, aber vielleicht so: - alle nicht zu verändernden Bits in Maske auf 1 setzen - X1 mit Maske UND verknüpfen - X1 mit Maske ODER verknüpfen
Ähmmm, nicht ganz, war zu schnell :-= - alle nicht zu verändernden Bits in Maske auf 1 setzen - X1 mit Maske UND verknüpfen - alle nicht zu verändernden Bits in Maske auf 0 setzen - X1 mit Maske ODER verknüpfen
-
Thread
Arduino-C: Unklarheit bei '<< Operator'
beim WARUM klemmt mein Kopf. Wenn mit 'CS22' ODER-verknüpft wird, wieso muss dann CS22 vorher um 1 Bit nach links geschoben werden? Das ist bei fast allen Flag-Operationen auf der Seite so. Beispiel: [code]// Setze CS20, CS21 und CS22 - Clock Select Bit 10,11,12 TCCR2B |= (1 << CS22) | (1 << CS21
mit so einem Ansatz nicht benutzbar, weil du URSEL nicht getrennt von den anderen Bits setzen/löschen kannst (lesen geht damit schon garnicht). Auf anderen Architekturen habe ich solche Hardwarekonstrukte auch schon gesehen. Klar kann man in so einem Fall immer die Union mit dem ganzen
-
Thread
ausgänge sperren logik
) und 10 ODER-Gatter mit je zwei Eingängen (3 ICs) erledigen die Arbeit. Am µC sind zwei mal 4 Bit notwendig.
Bei jedem Durchlauf der Hauptschleife: 1. Eingangsbild lesen 2. Verarbeiten 3. Ausgangsbild setzen Wenn dann im Ausgangsbild mehr als 2 Bit gesetzt sind, Notabschaltung. Tipp: einem i++ kann man vertrauen. Und wenn nicht, rettet die Sicherung.
-
Thread
HC595 ansteuern in C
for (j=0;j<8;j++) { if (!(i & 1)) { PORTB = PORTB &~ bit_2; } else { PORTB = PORTB | bit_2; } PORTE = PORTE | bit_7; PORTE = PORTE &~ bit_7; i = i >> 1; } i = bei mir ein unsigned char und enthält den auszugebenden Wert.Das geht an den Dateneingang.Mit PortE | bit_7 und &~ bit_7 takte ich das Datum raus. bit_2 von PortB geht an die 14, bit:_7 von PortE ist die 11. Michael
-
Thread
[atmega328p] SPI-Setup als Master
Tom V. schrieb im Beitrag #3949003: > Nun habe ich das Problem, dass ich SS auf High setzen muss damit ich das > MSTR-Bit in SPCR setzen kann. Wenn ich ich das nicht mache, also die > ZeilePORTB = 0b00000100; auskommentiere, kann ich alle Bits in SPCR > setzen ausser das MSTR-Bit.
kann ich alle Bits in SPCR setzen ausser das MSTR-Bit. Ausgänge setzt man in DDRB.
-
Thread
PWM mit Maskierung
} neuer_wert += neuer_wert; // schieben fuer naechstes Bit if((summe[2]+= wert[2]) >= SCHRITTE) { // bis Endwert ueberschritten wird summe[2] -= SCHRITTE; // dann Summe korrigieren neuer_wert |= 1; // und Bit setzen (Ueberlauf) } neuer_wert += neuer_wert; // schieben fuer naechstes Bit if((summe[1]+= wert[1]) >= SCHRITTE) { // bis Endwert ueberschritten wird summe[1] -= SCHRITTE; // dann Summe korrigieren neuer_wert |= 1; // und Bit setzen (Ueberlauf)
-
Thread
Werden Atmels 8-Bit-Mikrocontroller teurer?
Werden die 8-Bit-Mikrocontroller von Atmel gerade teurer oder täuscht mich das? Wo kauft Ihr Eure Atmel-Controller günstig ein?
Hallo, ich setze derzeit auf den ESP8266, Spottbillig, ordentlich Performance,... schönes Teil. Ansonsten ARM(ATMEL, ST,... ) aber die Architektur interessiert mich eh weniger. Die Architektur hat im Embedded Umfeld
-
Thread
DIVISION 32 BIT / 32BIT Beispiel (Assembler) ATmega8
Eine mögliche Variante für die Division einer 32-Bit Zahl durch eine 32-Bit Zahl. Diese Divisions-Routine wurde in Assembler geschrieben und ist nicht nur für einen ATmega8 geeignet. Bernhard
Hallo zusammen, Hat denn jemand von euch eine echte 32 Bit Multiplikation mit 64 Bit Ergebnis in Assembler ? Ich müsste Werte grösser als 25 000 000 miteinander Multiplizieren. Aber wo ich auch suche das grösste war bisher 24 * 24 Bit was ich gefunden habe.
-
Thread
Zähler bis 1 Mio aber wie?
für die Zählerei. Gut, die Zahlen waren in der Anwendung wirklich sehr gross, da haben auch die 32-bit Register aufgegeben in der "traditionellen" Ansteuerung. --> Problem: Zählen bis 1 Mio. mit EINEM 8 bit Register ohne externe HW und ohne Timer. Also zum Vorgehen: - Init: Register auf 0 setzen
man bis 5 zählt und dann auf 0 zurücksetzt. Wie dämlich ist das ? So verschwendest du wertvolle Bits. Denn ideal wäre es dann das Register bis 255 + Überlauf hochzuzählen und dann den Überlauf in ein weiteres Register zu propagieren. Das ist dann nichts anderes als wenn wir einen 24 Bit Zähler aus
-
Thread
ATMEGA UART Empfang mit Verzögerung
Reinsampeln sind ? Bessere Uarts kennen Framing Errors, welche auf ein fehlendes Start-, Stopp-, Parity Bit hinweisen.
ein? Wird der Empfängerausgang evtl. hochohmig und der µC kann sich dann selber irgendwelche EMV-Bits aus der Luft herzaubern?
-
Thread
bit im byte ansprechen mit winavr-c
hallo ich möchte von einer variablen "byte" und variablen "bit" ein bit rausfischen bzw setzen. in fastavr geht es so: variable n.6=1 oder variable bit=n.5. wie kann ich so etwas in winavr-c realisieren. mfg pebisoft
gibt es auch variablen "bit" in winavr-c mfg pebisoft
-
Thread
18Bit per HW SPI?
Na prima ^^ Also ich würde mal die 24Bit Lösung probieren.. was ist sinnvoller die Dummybits 1 oder 0 zu setzen?
Soo.. wollte mich nochmal meld. Es funktioniert jetzt per 10 Bit SW SPI. Anders als im Datenblatt beschrieben nutze ich die 10Bit sowohl für Instruktions als auch für Daten. Die ersten beiden Bits sind RW und RS und danach folgen Bit7..0
-
Thread
Pollin E0855-2 SED1530-Treiber
Reversebitorder eigentlich so umständlich? Könnte man aus [c] uint8_t ReverseBitorder (uint8_t Bits) { uint8_t ReversedBit; ReversedBit = (Bits >> 4) | (Bits << 4); ReversedBit = ((ReversedBit & 0xcc) >> 2 ) | ((ReversedBit & 0x33) << 2); ReversedBit = ((ReversedBit & 0xaa) >> 1 ) | (
Ich habe noch einen Fehler gefunden. Init_SPI: Das SPI2X Bit ist im SPSR Register, nicht in SPCR. Setzen mit "SPSR = (1<<SPI2X);" statt "|=", löschen mit "SPSR = 0;". @Christian > Und warum verwenden alle uint8_t? Ist unsigned char nicht eindeutiger?
-
Thread
Frontplattendesign für "8 bit Computer"
32 Taster, in Kombination mit 32 LEDs verwenden, welchem Prinzip arbeiten wie ein Schieberegister. Bits setzen Bits einspielen.
in das 1. > bis 4. Bytes des 32-bit-Wortes reinfalten. Du meinst das 32 bit Wort in den Akku hineinfalten, nicht "den 8 bit Akku in den 32 bit wert hineinfalten". "Hineinfalten" impliziert nämlich dass etwas großes in etwas kleiners
-
Thread
Interrupt 8Bit AVR
konfiguriert werden. Und dann solltest du cli() und sei() aus dem Interrupt entfernen, da das I-Bit automatisch gelöscht werden sollte. Siehe auch Datenblatt.
In der Main nach sei solltest du aber eine while(1); machen. DDRB solltest du pin3 auf output setzen oder willst du nur den pullup aktivieren.?
-
Thread
Leuchtdiode blinken
Hallo, du hast vergessen TMRON zu setzen.
auf Null setzen else PORTB |= (1<<PB2); //sonst PB2 auf Eins setzen schreiben könnte? Leider funktioniert das Blinken im 12s Takt immer noch nicht.
-
Thread
expected ')' before '&=' token
_______________________________________________________________________________________ #define BitSetzen(Byte,Bit) ((Byte) |= ( 1 << (Bit))) // Makro für Bit setzen #define BitLoeschen(Byte,Bit) ((Byte) &= ~( 1 << (Bit))) // Makro für Bit löschen #define BitToggeln(Byte,Bit) ((Byte) ^= ( 1 << (Bit))) // Makro für Bit toggeln #define AusgangDefinieren(Byte,Bit) ((Byte) |= ( 1 << (Bit))) // Gleich wie Bit setzen, aber für die Lesbarkeit des Prog. #define EingangDefinieren(Byte,Bit
-
Thread
Schematic + Board
hmmmmm , wenn ich das jetzt richtig verstehe bekommst du 6 bit über dein SPS. eines dieser 6 bit lässt du weg damit du daraus die Betriebsspannung generierst. Dann fügst du einem Mega128 die verbleibenden 5 Bit zu um diese dann wiederum als 8 Bit auszugeben
Damit sollte ich meines wissens nach auch debuggen können. Sollte ich an die ISP Stellen noch LEDs setzen? lG
-
Thread
ATmega 328p USART: wird TXC auch automatisch gelöscht?
etwas in UDR0 geschrieben wird, wird der TXC *erst nach diesem Byte gesetzt*. USART ist nach setzen des TXC bits *mit Sicherheit nicht aktiv*.
Marc V. schrieb im Beitrag #4885496: > USART ist nach setzen des TXC bits mit Sicherheit nicht aktiv. Wenn TXC nicht gesetzt ist, heißt das nicht, dass der USART aktiv ist...
-
Thread
for-Schleife - Bit verschieben
> (int. / ext.) Peripherie. Bspw. ist bei einem STM32 das Datenregister > eines der USARTs zwar 32Bit breit, aber davon sind nur 8Bit relevant. Wenn von Hunderten von 32-Bit-I/O-Registern einige wenige einen oder mehrere 8-Bit-Teilbereich haben, dann nimmst du für diese den Typ std::byte, für alle
Der Thread läuft bei 255 über. bitte ein Bit. 🍺
-
Thread
ATMega328-basierter Sprach-Synthesizer für den CPC 464 - Schnelles Byte-weises Lesen mit dem 328?
Bytes "AB" (65 66 ASCII) an den 328 zu senden, alterniere ich die Nutzbytes (65 66= mit 0-Bytes, und setze das 8. Bit in den Nutzbytes (Sprachsynthesizer verwendet nur ASCII 7 Bit)... also sende ich 193 (= 65+128) 0 194 (= 66 + 128) 0 statt 65 66, und der 328 kann dann die 0-Bytes und das 8. Bit zur "Taktung
include <avr/interrupt.h> #define BAUD 9600 #include "USART.h" #define SIZE 1024 #define BV(bit) (1 << (bit)) #define toggleBit(byte, bit) (byte ^= BV(bit)) #define setBit(byte, bit) (byte |= BV(bit)) #define clearBit(byte, bit) (byte &= ~BV(bit)) volatile uint8_t buffer_low[SIZE]; volatile
-
Thread
rechenzeit dot-matrix-display
stellen, und dann eine Page komplett mit Daten schreiben, ohne für jedes Byte die Adresse neu zu setzen.. > Eine Verbesserung, die weiter oben schon wer genannt hat wäre, in der > Funktion printchar() nicht einzelne Pixel zu setzen, sondern komplette > Bytes zu setzen. Halt vorher entsprechend shiften
shiften und Byte für Byte auf der richtigen Page ausgeben. Was auch Speed bringt, erst das Enable-Bit setzen, dann Daten holen und auf den Controller schreiben, dann Enable-Bit löschen. Geht bei mir mit 16MHz und KS0108 kompatiblen Controller, der nur 450ns für das Enablebit braucht.
-
Thread
PWM PIC16F873A
Zum Rücksetzen CCP1CON &= 0xCF; um bits 5 und 4 auf Null zu setzen. Das muß vor dem Setzen der Bits passieren. Der PWM output pin muss noch als Ausgang mit dem assozierten TRIS Register aktiviert werden. (Port TRIS bit dazu auf null setzen
vordefiniert sind, brauchst Du nur diese Register nach Studium dieser Register im Datenblatt die Bits setzen oder rückstellen. Z.B PR2 = 0XFF; Zum setzen/Rücksetzen ohne andere Bits zu zerstören mache das mit OR und AND Operators und Bit shiften. CCP1CON |= (1<<n) |... wo n die Bit Offset von
-
Thread
Schrittmotor Bit Folge
Hi, ich habe einen BiPolaren Schittmotor und würde ihn gern über bascom und Pollin Schrittmotortreiber ansteuern. Habe ne weile gegoogeld aber keine ordentliche Bitfolge gefunden wie ich die Ports schalten muss. Der motor Klemmt an PB0-3. Mfg Stefan
-
Thread
MSP430xG46x TimerB Capture Compare Register Funktion
es zumindest für mich keinen Sinn machen. Richtig ~ negiert, &= ist das logische UND. Damit wir BIT1 mit 0 UND verbunden somit wird BIT1 0. Ich will damit nur sicher gehen das der PIN als Eingang definiert ist. Ich würde an deiner Stelle meinen Code eins zu eins für TimerB übernehmen und schauen
klar geworden ist. Gut das wir darüber geredet haben *g* Ich werde mich gegen Mittag nochmal ran setzen. Bis dahin muss ich erstmal Labeln :(