-
Thread
Zahl hochzählen lassen
ABER: wie kann ich dann aus den 48 Bits, 7 Bits herausnehmnen und diese dann einzeln hochzählen lassen, sofern die 7 Bits so angeordnet sind, dass sie wie Dualsystem-mäßig stehen. danke
x x e x x c x x xxxxxxx xxxxxxx wofür die einzelnen Bits stehen: 0...17. Bit interessiert nicht, das sind sonderzeichen auf dem Display (ph-Wert, °C, +,-,....) 18.Bit - 4e 19.Bit - 4g 20.Bit - 4f 21.Bit - 4a 22.Bit - 4b 23.Bit - 4c 24.Bit - 4d
-
Thread
GLCD Fonts (64x128)
davon schon profitieren wenn man (bei oben spekuliertem Szenario) seine Grafikansteuerung auf die 16bit Felder abstimmt. Wenn ich einzelne Bits setze, kann der Compiler da auch nicht auf 16 bit Breite optimieren. Bleiben wir mal beim Beispiel mit dem AVR und dem 128*64er Display, wenn ich jetzt alle
_t x, uint8_t y, uint8_t white) { uint8_t column=x>>3; //Div 8 uint8_t bit=x&0x07; //Modulo 8 switch(white) { case 1: pixMap[column][y]|=(1<<bit); break; case 0: pixMap[column][y]&=(uint8_t)(~(1<<bit)); break; } } [/c] Diese
-
Thread
LCD 4x20 hängt sich nach der Zeit auf!
das hier scheint mit etwas seltsam: [c] PORT = 0b00000010; // Interface auf 4-Bit setzen PORT = 0b00000010; // Interface auf 4-Bit setzen PORT = 0b00000010; // Interface auf 4-Bit setzen [/c] so ausm Bauch raus würde ich sagen man muss dazwischen den anable toggeln
LAMPE_GELB PD3 #define LAMPE_GRUEN PD4 #define LAMPE_TEMP_OK PD5 #define TURN_ON(port,bit) ( (port) |= ( 1 << (bit) ) ) #define TURN_OFF(port,bit) ( (port) &= ~( 1 << (bit) ) ) ...... void Ausgang_setzen (void) { if (PD0_PD1_Motor) { TURN_ON( MOTOR_PORT, MOTOR_1 );
-
Thread
fuse bits: crystal o.
umschalten. meiner meinung nach bleiben die high fuse bits gleich und in den low fuse bits würde ich E0 Setzen, also 1110 0000 liege ich in der annahme richtig? anbei aus dem datenblatt die standard values von den low fuses. Fuse Low ByteBitNo. Default
Beinahe. Bit 4 (SUT0) auf 0.
-
Thread
Hygrosens HYT221 an Atmega8 macht nichts
ich die Wartezeit nach dem TWI-Write auf 50ms setze, dann ist bei einem TWI-Read das Bit 14 gesetzt (die Wandlung war noch nicht vollständig). > Aus dem Grunde muß das erste byte auch mit 0x3F bzw. die beiden > Feuchtebytes (wenn sie schon zusammengesetzt
. > Wenn ich die Wartezeit nach dem TWI-Write auf 50ms setze, dann ist bei > einem TWI-Read das Bit 14 gesetzt (die Wandlung war noch nicht > vollständig). Zitat Datenblatt: "Erst nachdem der Messzyklus komplett abgearbeitet wurde ist das 'ready' Status Bit
-
Thread
LIN-Break Signal mit TI CC2640 erzeugen
Kann mir jemand vielleicht einen Tipp geben wie das zu verstehen ist? Warum reicht es nicht, dass Bit zu setzen, 13 Bits zu warten und dann wieder umschalten? Danke und viele Grüße Maximilian
senden. > > Genau das will ich doch, versteh aber nicht ganz wie das zu > Bewerkstelligen ist. Bit setzen, mindestens 13 Bit-Times warten, Bit löschen.
-
Thread
Wieso vor allem AVR µCs bei Bastlern?
Entwicklungsumgebung war mal ein Punkt aber ob Arduino oder PICKit ist egal. Ob auf den Kits nun AVR 8bit, AVR 32bit, PIC 8bit, PIC 32bit, STM32 oder MIPS drauf ist hat mit der Entwicklung nicht viel zu tun, außer man braucht spezielle Dinge die nur XYZ kann :-P AVR 8bit und PIC 8bit dürften 50:50 bei
Sandro schrieb im Beitrag #3452437: > Beim dem Alten PIC enthielt der Befehl für goto mur 8 bit Adresse. Bei den PICs mit 12-Bit-Befehlen hat CALL 8 und GOTO 9 Bits. Aber der PIC1650 von 1977, von dem die direkt abstammen, hatte sowieso nur 512 Worte ROM. Unterprogramme und Tabellen mussten
-
Thread
10khz rechteckspannung mit uC
ADC läßt sich durch gewisse Timer-Ereignisse starten. Daß das passieren soll, legt man über das Setzen des ADATE-Bits in ADCSRA fest, welches Timerereignis der Trigger sein soll, legt man über die ADTSx-Bits (beim Mega32 im SFIOR-Register) fest. Für Timer1 als Quelle stehen hier drei Varianten zur Verfügung
in der ISR erfolgen muss. Das bläht aber die ISR nicht unnötig auf. Start-AD ist einfach nur das Setzen des Bits zum Starten des ADC und den Bit_Swap erledigst du mit [avrasm] Push R16 Push R17 In R16, PortB LDI R17, 0b00000011 EOR R16, R17 Out PortB, R16 Pop R17 Pop
-
Thread
Pic mit C programmieren aber wie?
LATB |= 0b00010000 ; // setzen Bit 4 ... LATB &= ~0b00010000 ; // löschen Bit 4
TRISA 0x00=1; und noch einmal Erich schrieb im Beitrag #1937594: > LATB |= 0b00010000 ; // setzen Bit 4 Eggi schrieb im Beitrag #1937630: > LATB 0x01=1; Fällt dir was auf? Zudem solltest du den Ausgang auch einmal auf 0 setzen, wenn er nur alle 8 Durchläufe height sein soll.
-
Thread
LCD an T6963C und ATMega323
auf LOW (zeitgleich) - ich warte auf die bits (vllt bis zum jüngsten tag) (- ich erhalte die bits) - ich dreh ne kleine ehrenrunde (***DEBUG***) - ich ändere wieder die datenrichtung des busses (zu ausgang) - ich ändere NOCH nicht CS und
; //lower bits f.l.: C~D ~Ce ~Rd ~Wr asm volatile ("nop"::); asm volatile ("nop"::); PORTD = 0b11110010; //lower bits f.l.: C~D ~Ce ~Rd ~Wr } Du setzt CE auf L, dann WR auf L und dann
-
Thread
Falsche Anzeige nach Spannungsverlust
DDRE = 0b00110000; // Setze Buzzer als Ausgang (Bit4 = 1, Bit5 = 1) PORTF = 0b00000000; DDRF = 0b00000000; PORTG = 0b00000000; DDRG = 0b00000000; } /* ** Funktionen für die UART-Schnittstelle */ // Initialisiere
<UCSZ11)|(1<<UCSZ10); // UCSR1B = UCSR1B | 0b00011000; // Ermögliche Empfangen und Senden (Bit3 = 1, Bit4 = 1) // UCSR1C = UCSR1C | 0b10000110; // Setze Frame Format: 8 data (Bit1 = 1, Bit2 = 1), 1 stop bit (Bit3 = 0) } // Empfange Daten über UART nonstop unsigned char UART_Receive(void
-
Thread
Suche 16 bit CPU mit externem Buszugriff
kByte Segmente? IMHO gibts zwar einen longjmp, aber beim Datenzugriff muss man das Segmentregister setzen. Und das willst du in Assembler programmieren? Na dann, viel Spaß. Bevor du dich auf ein 16-Bit Abstellgleis begibst, programmiere doch erst mal einen Corex-Mx in Assembler. Ich finde den Thumb2
Also Retro, aber schnell und wenig Pins (THT) und 16-Bit-Speicherinterface ...? Mouser sagt: gibt es nicht. Geht auch nicht! 20MHz, 64 DIP, 20-Bit Adress - 8-Bit Dateninterface : Z8S180 Ansonsten: 32-Bit-CPU, 40-DIP, Externes EEProm, welches in
-
Thread
AVR Interrupt Processing - was ist besser ?
primitiv. Da ist die Methode "tu's in der ISR, wenn zeitlich und von der Komplexität her passt oder setze Flag" die einzig vernünftige. Dazu braucht's nicht mal RAM, meistens gibt's ein GPIOR oder ein anderes ungenutztes Register im unteren Registerbereich, was man dafür nehmen und 8 Flag-Bits unterbringen
kommt es auf 20 Takte nicht an. Ansonsten gebe ich Dir recht, wenn in DoComputation() nur 1 oder 2 bits zu setzen sind. Es kommt halt immer auf den Einzelfall an. ---------------------------- @ Peter Dannegger (peda), 13.09.2016 20:50 >Daher ist Dein Ansatz in keinem einzigen meiner Programme zu finden
-
Thread
Wettkampf Opa(MOS6502) gegen Frischling(ATmega)
können deutlich mehr als nur vier Stellen am Stück verarbeitet werden. Applesoft-Basic verwendet 40-Bit-Floats (1 Bit Vorzeichen, 31 Bits Mantisse und 8 Bits Exponent). Mit den 31 Bits der Mantisse lassen sich Integerzahlen bis 2**32-1 ≈ 4.3E9 lückenlos darstellen. Somit kann man bspw. die gewünschten
stehen auch lustige Sachen drin, die nicht mehr so richtig aktuell sind: "Diese ist z. B. bei 32-bit oder 64-bit Gleitkommazahlen auf einer weit verbreiteten Prozessorplatform nicht gegeben (80 Bit Rechenregister, 32/64 Bit Speicher)."
-
Thread
AVR blockiert den I2C
>Meine Frage war lediglich..alle anderen Bits..automatisch 0 werden Ja, dem ist so! Du könntest das TWCR einlesen mit "in" deine Bits in einem deiner Temp register setzen mit deinem "einleseregister" verodern und mit "out" ins TWCR zurückschreiben
in r16,TWCR out TWCR, r16 sollte hierbei schon reichen. Das TWINT Bit ist bereits gesetzt, um es zu löschen musst Du es setzen. TWEN ist gesetzt und soll es bleiben, glieches gilt für TWEA. gibt also keine Notwendigkeit (meistens jedenfalls) an den Bits was zu ändern
-
Thread
Vorabfrage:erfahrene Assemblerfreaks hier an Bord?
start Timer2: ; ; 5.1 Clear the TMR2IF interrupt flag bit of the PIR4 register. ; ; 5.2 Select the Timer2 prescale value by configuring the T2CKPS<1:0> bits of the T2CON register. ; ; 5.3 Enable Timer2 by setting the TMR2ON bit of the T2CON register
bei meinem eben eingebaut ist, durch eigene Makros ersetzen. Zum Beispiel anstelle BTFSS Port,Bit und BTFSC Port,Bit eben SKIP Bit und SKIP NOT Bit und auch sowas, um eindeutig und zentral einzelne Bits zu deklarieren: Karlheinz: BIT PortB,3 und auch das Arbeiten mit Segmenten.
-
Thread
I2C Bus - welche Adresse ist das?
Beitrag #4585450: > Versuch mal 0x2E kommt auf die Betrachtungsweise an, die einen gucken nur 7-Bit 00-7F (ohne I2C Erweiterung) die anderen shiften mit dem R/W Bit weil Bit0 R/W ist Das wäre dann 01-FE (oder so ähnlich)
Man sollte sich nicht durch das Datenblatt verwirren lassen. In dem Zeitdiagramm wird richtig eine 7-Bit I2C Adresse gezeigt und in der Tabelle werden 8-Bit Baseaddressen (z.B. $D0) angegeben. Das passt nicht zusammen. So schwer ist es doch eigentlich gar nicht, die 7-Bit I2C Adresse von den 8 Bit des
-
Thread
Timer 2 starten AVR4
Wenn ich anfange zu debuggen, kommen auch keine Fehler. In dem Fenster I/O View sehe ich die ganzen Bits vom Timer. Ich habe zwar "manuell" Bits gesetzt/gelöscht, aber in diesem Register muss ich trotzdem diese "Häckchen" anklicken, damit die Bits sich ändern. Ich habe auch den Verdacht, dass mein Timer
aber der TCNT2 hat nicht hochgezählt. Dann habe ich gemerkt, dass ich im TCCR2B-Register den CS20-Bit nicht gesetzt habe (da ja alles sonst null wäre und damit mein Timer ja stoppt). Aber wenn ich dieses Bit setze funktioniert mein Taster nicht mehr und ich werde langsam wahnsinnig. Könnte mir bitte
-
Thread
Problem mit I²C-Device
, also die steigende Flanke für das Übernehmen des letzten Bits übernommen. Es kommt der nächste State, indem das ACK des Slave analysiert werden soll. Also setze ich SDA auf Input und takte ein Bit raus. Interrupt -> In der Statemachine wird das LSB des Empfangspuffers
liegt ein ACK (also 'low') vor. Device hat geantwortet. Ich schreibe das Config-Byte in den Puffer, setze SDA auf Ausgang und takte 8 Bits raus. In der Zeit wieder in die main(). Interrupt -> Wieder ACK abfragen, also SDA auf Eingang, 1 Bit raus. Interrupt -> ACK vorhanden. SCL ist wieder 'high'.
-
Thread
Diskussion zum Artikel "Single Chip Frequenzumrichter" für den 2. MC Wettbewerb
Treiber, High Side PWM > schalten kannst während Low Side sperrt. Genauso wie das alle machen. Ich setze HIN auf logisch 1 und LIN auf logisch 0. Du scheint aber mit dem grundlegenden Prinzip Probleme zu haben. Die ganze PWM läuft mit hoher Wiederholfrequenz. Es handelst sich um 3 8-Bit Timer, die mit
Spimash schrieb im Beitrag #7693464: > sondern 256 256 ist ein Überlauf und passt nicht in ein 8-Bit OCR Register, da es 9 Bit lang wäre.
-
Thread
Linux Rechtesystem im Vergleich zu Windows
um die es nicht geht. Es kam einer daher und hat behauptet, man müsse sich nur mal mit sticky bits und dergleichen auseinander setzen, dann wäre das doch alles machbar (/ohne/ ACLs). Nachdem A. K. ein Szenario schildert, welches damit eben /nicht/ machbar ist, kommst du als Lehrmeister daher
Beitrag #3423671: > Es kam einer daher und hat behauptet, man müsse sich nur mal mit sticky > bits und dergleichen auseinander setzen, dann wäre das doch alles > machbar (ohne ACLs). Nicht Alles, sondern Vieles.
-
Thread
SDR-Dekoder für TFA KlimaLogg Pro/IT+ Temperatursensoren
Text-Datei. Jede Ausgabe ist ein Empfangenes Bit. Gruß Maik
Allocating 15 zero-copy buffers 2021-12-07T12:21:44.266035873Z Registering demod for TFA_2 sensors, 17240 bit/s 2021-12-07T12:21:44.266082964Z type 0x1: Samples per bit: 22.3 2021-12-07T12:21:44.266091305Z Registering demod for TFA_3 sensors, 9600 bit/s 2021-12-07T12:21:44.266097710Z type 0x2: Samples per
-
Thread
Bitfeld zuweisen: Warum optimiert der Compiler nicht?
Dann nimm doch spaßeshalber Mal die höchste. Und uint16_t als Datentyp. Und fang damit an, alle Bits in einer Dummy-Funktion auf 1 zu setzen.
Bit damit verbraucht werden. So - und nun will der TO die einzelnen Bits einer 16 Bit Variablen je nach 16 verschiedenen boolean-Variablen setzen. So wie ich das sehe, macht es der Compiler bereits
-
Thread
Temperatur an LEDs ausgeben
ADMUX ist ein Register es besitzt 8 Bit. Hier sehr schön zu sehen, jede 0 steht für 1 bit das du wahlweise auf 0 oder 1 setzen kannst. Rechts das LSB und links das MSB. ADMUX = Binary(00000000); // |||+++++---------- MUX
Selection (external // Reference) Du müsstest im ADMUX Register alle Bits auf 0 setzen. Das hier... ADMUX &= ~((1<<REFS1) | (1<<REFS0)); // interne (externe meinte ich) ...bedeutet einfach nur das du bit 7 und 6 auf 0 setzt. Du kannst das ADMUX Register aber auch
-
Thread
Unterschied zw. 8 und 32bit-Prozessoren
Kann mir von Euch vielleicht in kurzen Stichpunkten nennen, worin sich 8bit-Prozessoren von 32bit-Prozessoren unterscheiden? Unterscheiden die sich denn wirklich so viel voneinander? Sind denn nicht die grundlegenden Funktionen bei 8-bit und 32-bit-Prozessoren identisch,
x-Bit schrieb im Beitrag #2933866: > Ich setze alles auf *Datenbusbreite*. ;-) Mein Pentium P54 war aber kein 64-Bit Prozessor. Wird Haswell etwa ein 256-Bit Prozessor?
-
Thread
ISP Programmieradapter
Hi Tobi... Bitte nicht lachen, aber wo kann man den einzelne bits setzen? Nehmen wir an, man kann ein Bit namens "0" setzen. Wenn Bit 0 nicht gesetzt, dann inc R18 Wenn Bit 0 gesetzt, dann dec R18 Wenn R18 = 00 dann lösche Bit 0 Wenn R18 = 1F dann setzt Bit 0 Ich hoffe, du verstehst mich, was ich meine. Welche einzelnen Bits kann man da setzten? Oder muß man dazu eines der 32 Register nehmen? Gruß Avusgalaxy
-
Thread
eeprom ansteuern hilfe!
512 Byte EEP nur das untere Bit unterstützt. Bei größeren EEPs sind es dann mehr...
Hi! < ldi zl,low(tabelle) ;Pointer setzen < ldi zh,high(tabelle) ;High-Teil vom Pointer ist fasch! Muss lauten: ldi zl,low(tabelle*2) ;Pointer setzen ldi zh,high(tabelle*2) ;High-Teil vom Pointer MfG Uwe
-
Thread
Porterweiterung Atmega8 mit 74HC164
ori temp2,1 ; nein, Bit setzen cbi SCHIEBE_PORT, CLK ; Taktausgang auf 0 sbi SCHIEBE_PORT, CLK ; und wieder zurück auf 1, dabei Daten schieben dec temp3 ; Bitzähler um eins
1 setzen } else // sonst { PORTB &= ~(1<<PB3); // Ausgang auf 0 setzen } [/c] Danke für die Geduld mit mir...
-
Thread
AVR und C++ - ein Versuch
<EnableInterrupt> interruptEnabler; led2::dir<Output>(); led2::on(); AVR::Timer8Bit<0>::prescale<256>(); const uint16_t prescale = 256; const uint8_t timerTopValue = (Config::fMcu / prescale) / 1000_Hz; AVR::Timer8Bit<0>::ocra(timerTopValue); AVR::Timer8Bit<0>
auf Ebene der Applikation bringt einen echten Mehrwehrt aber doch nicht die Abstraktion über das setzen eines Pins.
-
Thread
Nochmal Frage zu logischer Verknüpfung int | Byte
DIO_setzen(int Modul, int Kanal, int Status) { int maske=0; for (int bit = 1; bit<8; bit++) { double maske_d = Math.Pow(2, bit); maske = Convert.ToInt32(maske_d
mit einem "Einheitsbyte" (so nenne ich es einfach mal) maskieren. Also Prüfen, ob das entsprechende Bit 0 ist oder 1 ist. Die Anwendung dahinter: Ich dende an ein CAN I/O-Modul ein Byte mit dem Zustand der 8 Ausgänge. Und wenn ich ein Bit setze, soll der Rest natürlich erhalten bleiben. Danke nochmal
-
Thread
ILI9486 8-Bit Parallel Bus deutlich langsamer als SPI
BitVal) [/c]
baut das Program vernünftig auf dann dauert ein > clear display max 40 mSec. Das mag für das Setzen von Massen von Bits zutreffen. Es hilft leider überhaupt nichts für die kleinen Operationen, da wo man kleine Rechtecke füllen muss. Typisches Beispiel sind Fonts. Dort müsste man für jeden Teilbereich
-
Thread
Taschenrechner: ATmega1284p - 15x 7-Segmentdisplay
Vergleich spart. Außerdem ist nach dem Shift Remainder.0 immer 0, d.h. man kann die Addition durch Setzen von Bit 0 ersetzen. Und SetBit(0) kann man sich auch sparen, da Quotient mit 0 initialisiert ist: [c] Remainder.Zero(); for (int i = 0; i < 96; ++i) { if (!Remainder.IsZero(
9,9999999950E-10 Genauigkeit float64 AVRational_32 ln(1,000001) -> 34 bit 48 bit ln(1,0000001) -> 31 bit 51 bit ln(1,00000001) -> 27 bit 49 bit ln(1,000000001) -> 24 bit 52 bit[/code]
-
Thread
Bendrich CAN-Bus-Einheit
heraus. Ich versuche die Tabelle mal zu vervollständigen, damit jeder Ausgang mal alleine zu setzen ist. In meiner Vorstellung brauche ich sechs Bits für den Zustand der Pins und sechs Bits für eine Maske, welches Bit gerade verändert (gesetzt oder gelöscht) werden soll. Was mich sehr stört, ist
06 10[/code] sende, wird A5 gesetzt und bleibt auch gesetzt, solange bis ich das dementsprechende Bit in der Maske wieder auf Null setze. Das passiert auch mit den restlichen Ausgängen, sowie man es auch von anderen Herstellern kennt [code]A1 - 04 01 02 06 01 A2 - 04 01 02 06 02 A3 - 04 01 02 06
-
Thread
STM32F4xx UART-State während des Empfangs zurücksetzen
#7755383: > Ich arbeite nicht mit HAL, sondern mit SPL/CMSIS. Sehr vernünftig. Kurz das passende Bit in RCC->APB2RSTR setzen und wieder löschen und anschließend neu konfigurieren.
zuverlässig verworfen. Vielen Dank! Mi N. schrieb im Beitrag #7755740: > Kurz das passende Bit in RCC->APB2RSTR setzen und wieder löschen und > anschließend neu konfigurieren. Das habe ich wegen dem erfolgreichen Togglen des RE-Bits nicht weiter verfolgt. Klingt auch wesentlich aufwendiger
-
Thread
altes 40x4 LCD - Zeile 2 und 4 ohne Ausgabe
welcher Controller und 4 oder 8Bit Ansteuerung? Da ich aber ein -2 bekommen habe, bin ich raus.
haben. Meine init: 0x30 0x30 ; 3x natürlich - ich hoffe, dass machst Du auch! 0x30 0x20 ; -> 4Bit (entfällt bei 8 Bit) 0x28 ; 2 Zeilen, 5x7 Pixel (0x38 im 8 Bit Mode) 0x0C ; Display an 0x04 ; Nicht schieben 0x01 ; Tafeldienst Michael B. schrieb im Beitrag #7957445: > 4-bit mode ?
-
Thread
batch programmierung (Win XP) - parallel port ansteuern
Dir jemand ein Executeable schreiben, welches z.B. folgende Aufrufparameter unterstützen sollte: SetzePinsAnLPT LPT, Bit0, Bit1, Bit2 ... Bit6, Bit7, Strobe Also die üblichen Verdächtigen. Ein Aufruf in einer Batch-Datei könnte dann folgendermaßen aussehen: SetzePinsAnLPT 1 0 1 1 1 0 0 1 1 0 "Deine erste Wunschpause" SetzePinsAnLPT 1 0 1 1 1 0 0 1 1 1 "Deine zweite Wunschpause" SetzePinsAnLPT 1 0 1 1 1 0 0 1 1 0 "Deine dritte Wunschpause" SetzePinsAnLPT 1 0 1 1 1 0 1 1 1 0 "Deine vierte Wunschpause" SetzePinsAnLPT
-
Thread
Serielle Ausgabe (VHDL)
Die Idee mit dem Zähler ist Folgende: Der Zähler(n-1 downto 0) ist n Bits lang. Und zählt nach oben. Jetzt werden die obersten Zähler(n-1 downto n-X) Bits als Adresse für das auszugebende Bit, und das Bit Zählers(n-X-1) als "Takt" verwendet. Die Bits Zähler(n-X-2 downto
bedeutet wir teilen die 100 durch 8, bekommen 12,5 und nehmen die nächste Zweierpotenz, 16, das sind 4 Bits. Das 4. Bit vom LSB aus ist also der neue Takt (das sind dann 6,25 MHz) und die 3 niederwertigsten Bits sind die Taktteiler. Der Zähler muss insgesamt mindestens 5+4=9 Bits lang sein. Es bietet sich
-
Thread
Hilfe bei Lock Bits
Hallo, vielleicht kann mir jemand helfen. Ich habe gehört, dass man mit den Lock-Bits sein Programm auf den AVR schützen kann. Gleichzeitig habe ich aber auch gehört, dass es dazu kommen kann, dass man den AVR nicht mehr programmieren kann. Also was stimmt denn nun und was bedeuten die
>zu Mode2 und Mode3: Heißt das, wenn ich den 2 oder 3ten Mode setze kann >ich den AVR, falls noch ein Bug im Code ist wegschmeißen, da ich den ja >nicht mehr programmieren kann?!?! Wenn du ihn löschst kannst du ihn neu programmieren.
-
Thread
ATmega328 CLKDIV8 geht nicht
auf ca. 1 Hz bringen soll. > > Das macht man auf anderem Wege, als den SystemTakt runter zu setzen. > Dafür verwendet man z.B. einen der Timer. Ähm ja. Aber bei 16 MHz und 8 Bit Timer und 1024er Prescaler komme ich leider nicht wirklich nahe an den 1Hz Tackt ran und warum sollte ich nicht den
09 ATmega48P/88P/168P/328P Seite 38 The CKDIV8 Fuse determines the initial value of the CLKPS bits. If CKDIV8 is unprogrammed,the CLKPS bits will be reset to “0000”. If CKDIV8 is programmed, CLKPS bits are reset to“0011”, giving a division factor of 8 at start up. This feature should be used if the
-
Thread
ARM Cortex gegen AVR
c-hater schrieb im Beitrag #3035180: > Was zum Teufel ist denn das für ein 32Bit-Prozessor, der nicht mal einen > 32Bit-Wert "immediate" laden kann? Erklär mir mal, wie ein Prozessor mit feste Befehlslänge von 32 Bits darin eine 32-Bit Konstante unterbringen soll. Soll heissen
c-hater schrieb im Beitrag #3035180: > Was zum Teufel ist denn das für ein 32Bit-Prozessor, der nicht mal einen > 32Bit-Wert "immediate" laden kann? Oder stellt obige Codesequenz eine > Optimierung dar? Ähm, beim ARM is jeder Befehl (außer im Thumb Mode) 32 bit breit, wie
-
Thread
Fusebit setzen schlägt fehl.wie kontrolliere ich ob quarz aktiv ist
programmieren. Dazu habe ich mir die Demo von Bascom runtergeladen. Probleme macht mir dabei das setzen der Fusebit´s. Immer wenn ich das „Fusebit KLA987“ auf „111110:Ext.Crystal/Resonator ….“ setze und dann „WriteFS“ drücke wechselt das Fusebit wieder auf „000000:Ext.Clock…..“ also auf den
nimm zum fuse-bit bearbeiten lieber das hier: http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112 J.
-
Thread
Hilfe Ladereglung Atmega16 Assembler
oO ... Bitte befasse Dich auch mit 16 Bit Zahlen auf einem 8 Bit µC. Dann verstehst Du was es mit SPH,SPL und high(), low() auf sich hat. Das untere Ende vom RAM interessiert den Stack bzw. den µC nicht. Wenn Du zuviel auf den Stack legst
vielen Dank für deinen Hinweis. Das war wirlich ein böser Fehler. Ich wollte eigentlich nur das ADSC Bit setzen. Hab es gleich korrigiert sbi ADCSRA,ADSC ist besser so. Gruß Werner
-
Thread
Cypress FX3 USB IC
betragen. (Ich verwende momentan einen Virtex 5) Ich lege beim Schreiben demnach die Daten an den 32Bit breiten Datenbus an. Den Datenbus stelle ich mit Hilfe des SLOE# Signals auf Eingang demnach denke ich das ich SLOE# auf '1' setzen muss. Das Signal SLRD# muss auf '1' gesetzt werden. Wenn ich dann
2Bit und 5 Bit sind die Breite des Adress-Bus am GPIF II. 2 Bit ist der normale, mit dem man maximal 4 Threads ansprechen kann. Bei dem 5 Bit ist es halt eine spezielle Frickel-Geschichte, mit der man zyklisch
-
Thread
74hc259 macht komische Faxen
analogWrite(_muxBluePin, blue); } void light::switchMux(int i) { _muxBit1 = bitRead(i,0); _muxBit2 = bitRead(i,1); _muxBit3 = bitRead(i,2); digitalWrite(_ledMuxPin1, _muxBit1); digitalWrite(_ledMuxPin2, _muxBit2); digitalWrite(_ledMuxPin3, _muxBit3
und LED 3 gehen aus!! why? oO switchMux() macht folgendes [c] digitalWrite(_ledMuxPin1, _muxBit1); digitalWrite(_ledMuxPin2, _muxBit2); digitalWrite(_ledMuxPin3, _muxBit3); [/c] Es wird also erst Bit 0 der Adresse geändert, dann Bit 1 und dann Bit 2. Wenn du jetzt von Adresse
-
Thread
Interrupts Programm wird unterbrochen warum?
Aber registriert werden Interrupt Anforderungen ab dem Moment, ab dem du den Interrupt mit seinem Bit (in dem Fall INT4) aktivierst!
auslesen. Das liegt daran, dass er so toll kommentiert ist [C] PORTC=0x03; //Pin C1 auf 1 setzen für 5V [/C] Ja genau. jetzt seh ich es auch. Wenn man 0x03 auf den Port schreibt (also einen Wert mit 2 mal 1 Bits) dann schaltet man die 5 Volt ein. Völlig klar. > Sorry aber ich fnde es kacke
-
Thread
ATtiny85 benötige Taster und kein freier Port
an Position 0 steht ohne mittels CS gesagt zubekommen der Bit-Zug steht jetzt vorn am Haltesignal. Alle Bits können ein- und aussteigen. Beim Daisy Chain noch anders verdeutlicht. Soll das erste SPI Device alle Bits verarbeiten die vorbeikommen? Obwohl die Bits gar nicht für ihn bestimmt sind. Wäre ja Unsinn.
-
Thread
DS18s20 Probleme mit Timer 8051
mittels Oder die entsprechenden Bits setzen, damit die wieder nicht das gesetzte Bit aus der Interrupt Routine zurücksetzen. [c] ... P0 = 0x08;//debugging flag = 0; TR0 = 1; while(flag ==0) //Der Mikrocontroller springt
=1; erhöht. Wenn (wie beim AT89C5131) 4 Prioritäts-Ebenen möglich sind, kann man das niederwertige Bit aus IPL0 einzeln setzen (Register ist Bitadressierbar). Die Bits in IPH0, IPL1 und IPH1 muss man über Maskierung setzen. Meiner Meinung nach liegt das Hauptproblem im letzten geposteten Code an 2
-
Thread
PIC12F509 hidden features und "High Flash"
Umgekehrt geht das anscheinend nicht. Dabei ist zu beachten, dass bei wenn SW im HF ausgeführt wird das BIT "STATUS,6" (eigentlich PA1) ausgewehrtet wird (also setzen, wenn man im HF springen will. Der Programmcounter wird anscheinend auf einen, evtl. den regulären Stack gerettet. Alle anderen Register
Walter, probier doch mal das nicht dokumentierte Bit 11 des Configuration Registers zu setzen: bit 11: BKBUG: On-chip Debugger Mode (This bit documented as reserved in data sheet) 1 = On-chip debugger functions not enabled 0 = On-chip debugger functional
-
Thread
Counter in ISR unwirksam?
//10 interuppts/s TA0CCTL0 |= CCIE; TA0CTL |= TASSEL_1 | MC_1; P1DIR |= BIT0; // P1.0 output P1OUT |= BIT0; // P1.0 high P1DIR |= BIT6; // P1.0 output P1OUT |= BIT6;
Ach und: Ist BIT0 und BIT6 überhaupt eine Bitmaske? Oder ist es eine Bitnummer? Wenn es eine Bitnummer ist, dann musst du so schreiben: xxx ^= 1 << BIT0 xxx ^= 1 << BIT6
-
Thread
#define Ports
; MPLEX_ON; } while( 0 ) [/C] bzw. aus den Zellen Makros das Setzen und Löschen der Multiplexer Bits rauszulassen.
{ .... // // Fuer die Multiplexer die Adresse setzen setAddress( count ); //??Wenn der Counter bis 24 zählt, woher weiss er dann welches move_bit er benutzen soll? oder bewegt der alle Bits und ich raff es nur nicht weil ich die Funktion darüber