-
Thread
Elektroniker Stammtisch Nähe München
einfach mal...... Dienstag den 24.6. Sag mal Heinz. ... gibt es eine Möglichkeit mit einem Befehl bits in eiben Register zu setzen, wi man das Bit mut Nummer definiert? Also CBR oder SBR scheiden aus, da man eine Konstante angeben muss und nicht 0-7.... Ne Idee?
invertieren. Das verstehe ich nicht wirklich. Wenn ich ein andi-Befehl mit einer "geschobenen" '0' setze, ist doch das Bit gelöscht, da bei "andi" beides eine 1 haben muss.
-
Thread
ATmega644 16bit Timer Compare Interrupt
Vergleichs- Regiser setzen OCR1AH = Byte1; // 16 Bit Compare Register A obere 8 Bits OCR1AL = Byte0; // 16 Bit Compare Register A untere 8 Bits sei();
Vergleichs- Regiser setzen OCR1AH = Byte1; // 16 Bit Compare Register A obere 8 Bits OCR1AL = Byte0; // 16 Bit Compare Register A untere 8 Bits sei();
-
Thread
80 Bit x 80 Bit auf dem AVR multiplizieren
Hi, aus einem kleinen Projekt die Problemstellung: 80 Bit mal 80 Bit = 80 Bit, auf einem AVR (klar, gehen unter Umständen Bits verloren, weil das Ergebnis nur 80 Bit breit ist). Meine Ansätze wären da gewesen: - Addierschleife -- Scherz, haha. - Schieben
80 Bit 16 Bit 81 Bit Gruß, Magnetus
-
Thread
DMX steuerbaren RGB LED PAR oder Pinnspot selber bauen
Dominik S. schrieb im Beitrag #2750772: > Wenn das mit dern 12 PWM Ausgängen stimmt 8x 12-Bit (PSC) 2x 16-Bit (Timer 1) 2x 8-Bit (Timer 0), davon einer TxD
output pin for the PWM mode timer function." > Und im Kapitel "16-bit Timer/Counter1" lese ich "True 16-bit Design > (i.e., Allows 16-bit PWM)". Soweit ich das richtig mitbekommen habe, hat der ATtiny2313 aber nicht 4 16-Bit PWM Kanäle. Dem Datenblatt nach würde
-
Thread
MMC/SD-Karte mit FAT16 an AVR
that ones relevant to MS Operating Systems. Value Description 00h Unknown or Nothing 01h 12-bit FAT 04h 16-bit FAT (Partition Smaller than 32MB) 05h Extended MS-DOS Partition 06h 16-bit FAT (Partition Larger than 32MB) 0Bh 32-bit FAT (Partition Up to 2048GB) 0Ch Same as 0BH, but uses
gravierenden Fehler. Da mit dem Sendebyte auch ein Byte empfangen wird, bleibt bzw. wird das UDRE0-Bit gelöscht, und beim nächsten Funktionsaufruf bleibt das Programm in der while-Schleife hängen. Um dieses Bit zu setzen, muß ich das Empfangsbyte lesen. Das habe ich nun ergänzt: [pre] void sd_raw_send_byte
-
Thread
C# dll 64 bit
Plattform sie ist. Am Inhalt sollte sich dabei nichts ändern. Warum willst du die Datei fest auf 64bit setzen?
Plattform sie ist. Am Inhalt sollte sich dabei nichts ändern. > > Warum willst du die Datei fest auf 64bit setzen? Sie soll dem Anwender als reale 64bit dll yur Verfuegung stehen.
-
Thread
switch(Funktion()) möglich?
jedes gültige >> Zeichen und den ungültigen Zustand repräsentieren kann. > > Also mindestens 8 Bit plus Flag oder mindestens 9 Bit. Genau. Oder eben 16-Bit. Aber diese 16-Bit will ich doch keinesfalls als vorzeichenbehaftete Zahl interpretieren. Ich möchte den 8-Bit Zeichencode haben und ggf
) >> Zudem ist int als unspezifischer Typ zur Darstellung eines Zeichens >> in einem 7- oder 8-bit-Code unsinnig. > > Warum? ASCII ist nunmal ein 7- oder 8-bit-Code... Da widersprichst Du Dir selbst: warum sollte ich auf einer kleinen 8-Bit Plattform ein Zeichen als ein int darstellen.
-
Thread
Input Capture ATmega16
AND-vernüpft, sind also (Bit in) TIMSK und (Bit in) TIFR gleichzeitig gesetzt, dann gibt es den Sprung zur ISR. Das Setzen der Bits in den Flags (TIFR) übernimmt die Hardware (Timer) bei dem dafür vorgesehenem Ereignis (Pegelwechsel
erreichst, was du erreichen möchtest. Falls du damit 0x04 löschen willst, dann löscht du alle anderen Bits, nur nicht 0x04. Den die Bits in TIFR löscht man durch Setzen. Ist jedenfalls bei allen anderen AVRs so, wird beim Mega16 sicher nicht anders sein. Steht sicherlich auch im Datenblatt. Sehen wir
-
Thread
C versus Assembler->Performance Gesperrt
kann man sich massiv verschätzen. Nichts spricht natürlich dagegen, die ISR, die nur ein GPOIR0-Bit setzen soll, in (Inline-)Assembler hinzuschreiben. Wenn man sicher ist, daß man da nichts mehr dran bauen will/muß.
elegant formulierbar ist, weil du natürlich ein paar Dinge heftig ausnutzt. Unter anderem dass du die Bits aus einem Register ins nächste schieben kannst und dann das dabei ins Carry fallende Bit für einen bedingten Sprung benutzen kannst, während sich die Register dabei gleichzeitig wieder auf 0 setzen.
-
Thread
Wie macht ihr ein Menü Timeout? Möglichkeiten?
Variable==0, wird der Überlaufflag für entspr. Timeout gesetzt und das wars dann. [c] #define CHK_BIT(var,pos) ((var) & (1<<(pos))) #define SET_BIT(var,pos) ((var) |= (1<<(pos))) #define RES_BIT(var,pos) ((var) &= ~(1<<(pos))) // Die oberen 4 bits starten entspr. Counter const mnuOn = 7; const
geprüft, wenn > 0 und entspr. Flag gesetzt ist... */ if(CHK_BIT(MyFlag, tstOn) && (TastCnt>0)) { TastCnt--; if(TastCnt<1) { SET_BIT(MyFlag, tstRdy); RES_BIT(MyFlag, tstOn); } } [/c] P.S. Apropos Reset - da wir mit Industriesteuerungen
-
Thread
1-Bit Variable
[c] #define Bit0 0 #define Bit1 1 #define Bit2 2 #define Bit3 3 #define Bit4 4 #define Bit5 5 #define Bit6 6 #define Bit7 7 uint8_t Flags; ... Flags |= (1<<Bit0); Flags &= ~((1<<Bit2) | (1<<Bit4)); [/c]
-
Thread
LCD nicht nur für einen Port in C
Ahnung vom AVR (Kenne nur 8051, wo man mit sbit RS=P1^2; > und dann RS=1; einzelne Portleitungen setzen kann) und weiß nicht wie > das bei Atmel geht Eigentlich ganz genau so, wie beim 8051, nur daß man noch die Direction-Bits setzen muß. Die Bitzugriffe kann man mit einem Macro (SBIT) definieren. Anbei mal ein Beispiel für 2*40 LCD im 4Bit-Mode mit jedem beliebigen Pin. Peter
-
Thread
analog digital wandler
googel-suchs auf das gestossen. Mein Problem ist,ich will beim Attiny13 im ADMUX-Register,z.B. den bit für ADLAR,also Bit 5 Setzen. Wie ich weiter oben im Thread am Quellcode sehe,wird dieser direkt im ADMUX-Register gesetzt, also ohne den Umweg,z.B. ein anderes Register mit 5 zu Laden und über den
das Bit 5 ist.(wie PCIE) Man kann das z.B. direkt oder mit sbi ADMUX,0b00000101 ,also 5 setzen. ? hier setzt meine Logik aus...
-
Thread
Dumme Frage zum "C" mit AVR's
Christian J. schrieb im Beitrag #4095917: > Der PIc kann einzelne Bits in Registern setzen und braucht dazu kein > Read/Modify/Write und auch kein PORTB = PORTB | (1 << Bit) Das kann der AVR auch. Der gcc ist helle genug, dass er keine RMW-Zyklen dafür macht, sondern
"Der PIc kann einzelne Bits in Registern setzen und braucht dazu kein Read/Modify/Write und auch kein PORTB = PORTB | (1 << Bit)" Das können die AVR auch: AVR BIT AND BIT-TEST INSTRUCTIONS SBI P,b Set Bit in I/O Register
-
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
Projekt: DDS basierter Funktionsgenerator mit AD5930
DAC mit höherer Auflösung nehmen, z. B. 16bit DAC.
Vielleicht gibts da besseres. (Cypress stellt sowas her. MOBL-RAM gabs da auch noch.) 3. Von den 16Bit werden 12Bit für einen passiven DA-Wandler benutzt, aka Widerstandsnetzwerk. Gibts für 12Bit von Bourns. Selbermachen eher unmöglich wegen Abgleich. 4. 3Bit steuern einen PGA mit Verstärkungsselektion
-
Thread
Portzugriff bei AVR C leserlicher machen
Punkt demonstrieren: sprechende Namen und eine Abstraktion davon was aus Sicht des µC passiert (ein Bit auf 1 setzen) und was aus Anwendungssicht passiert (eine LED geht an). > - Autoformater in Eclipse kommt mit LED_error_on(); nicht zurecht ;) Eclipse will man ohnehin vermeiden. Bloat ohne Ende
weniger als 2€ kostet, hat mindestens 40MHz und 32 Bit. Taktgenaues Programmieren ist bei den modernen Strukturen mit unterschiedlichen internen Bussen und Caches sowieso nicht möglich. Die überschüssige Power, die moderne µCs haben, setze ich für saubere
-
Thread
RS-485 Datenprobleme - immer nur das letzte Gerät geht
cable length >3m, RS485 interface is recommended. Default Settings: RS232/COM1: 115200 bps, 8N1 (8 bit - no parity - 1 stop bit) RS485: 9600 bps, 8N1 (8 bit - no parity - 1 stop bit) Setze mal für RS485 die einstellungen so nicht das andere Einstellung nur die RS232 aktivieren
>3m, RS485 interface is recommended. >> >> Default Settings: >> RS232/COM1: 115200 bps, 8N1 (8 bit - no parity - 1 stop bit) >> RS485: 9600 bps, 8N1 (8 bit - no parity - 1 stop bit) >> >> Setze mal für RS485 die einstellungen so nicht das andere Einstellung >> nur die RS232 aktivieren >> >>
-
Thread
AVR Studio - Simulator - Statusregister automatisch setzen
man nicht dem Sim sagen, er soll diese Zeile einfach überspringen? Oder er soll doch gleich das SPIF-Bit selbst setzen... Wie macht man das, damit der Sim auch durchlaufen kann? Ich möchte nicht hunderte Male ein Bit setzen, nur um zu sehen, obs läuft.... :) Gruss Mario
Bekannte_Probleme >Wie macht man das, damit der Sim auch durchlaufen kann? Ich möchte nicht >hunderte Male ein Bit setzen, nur um zu sehen, obs läuft.... :) Breakpoint setzen? MFG Falk
-
Thread
EleLa - Elektronik Lagerverwaltung V4.0
Sorry, ich kann die 32 Bit Version von EleLa erst am Montag erstellen.
Wenn der Client 64 Bit ist, dann ist die EXE für 64 Bit richtig. Dennoch sollte die SQLite SO geupdated werden.
-
Thread
AD-Wandlung + Power SAVE
(); // in den Schlafmodus wechseln WDTCSR |= (1<<WDIE);// WDT Interrupt Flag erneut setzen, damit kein Reset erfolgt if (GO==1) { SET_BIT(DDRB, DDB2); CLR_BIT(PORTB, PB2); // LED einschalten _delay_ms(1000); GO=
leuchtet kurz und hört dann wieder auf... jetzt nochmal abschließend: Mit WDTCSR |= (1<<WDIE) setz ich das Bit, damit der WD nach dem 2.Durchlauf keinen System Reset durchführt, stimmts? Und mit wdt_reset(); kann ich den 4s Timer wieder auf anfang setzen oder?
-
Thread
SPI Flash programmieren
Hast du vielleicht außerdem das Bit- und Byte Swapping von Xilinx vergessen?
Hier der Anhang mit dem *.py script für das Bit-File. Fazit: Der Done-Pin ist der Monitor das der FPGA Chip das Bit-Stream via ext. SPI-PROM akzepiert hat. (Bit-Stream-CRC). Du hast ja auch das Bit-File via Hilfe von Impact u.JTAG durch den
-
Thread
Wahl der richtigen µC-Familie Gesperrt
rauskriegen). Die n-dB werden über IR (normale Haushaltsfernsteuerung) vorgegeben. Das mit 8-Bit ? Viel Spass^^ /regards Andreas P.S: Verteh mich nicht falsch. Wenn es passt setze ich auch eher 8-Bit als 16/32 Bit ein. A.
ausufernde Systemarchitektur Und was heißt das jetzt? Dass man zum Interrupt enablen nicht 1 sondern 2 Bits setzen muss?
-
Thread
Wie programmiert man Grafiken "richtig" in C
> Macht man das so? Eher nicht. Üblich wäre vielmehr ein Satz "Kontextfunktionen", also z.B.: setze Position, setze Farbe, ggf. zusätzlich: setze Schriftart, setze Schriftschnitt, setze Schriftrichtung usw. usf. Und dann eine Funktion zur eigentlichen Zeichenausgabe, die als Parameter das auzugebende
mache also eine Tabelle pro Buchstaben Nein du machst eine Tabelle für den ganzen (5x7) font. bit font[0..255,0..4,0..6]; allerdings packt man bits gerne in bytes oder worte.
-
Thread
sizeof ergibt 2 für array mit 9 16bit werten
einiges zusammengekommen. Die +/-1 Geschichte in der Adresse hatte ich mir gedacht, um auch mit nem 16bit-Pointer 8bit Variablen ansprechen zu können.... dafür wäre dann wohl typcasting das richtige stichwort??
0xff // oberes byte x = (x & (~0xff<<0)) | ((wert << 0) & (0xff<<0)) // ersetes byte auf wert setzen x = (x & (~0xff<<8)) | ((wert << 8) & (0xff<<8)) // zweites byte auf wert setzen [/c]
-
Thread
FUSE BITS AVR
Ich will beim ATTiny26 den externen oszillator (Quarz) benutzen: jetzt soll mann irgendwie die Fuse Bits setzen. Kann mir ein er sagen wie ich sie einstellen muß ?
wählen 3. und stell unter [v] low-fuse auf (*) extern crystal oszillator 3. wähle Fuses [Jetzt Setzen] cu BT
-
Thread
? n-tes Bit in word setzen. n ist variabel.
C und ich muss wieder neu angelernt werden. :-( wie kann ich denn schnell und elegangt das n-te Bit ( n = 0..12 ) in C in einer 16-Bit breiten Variablen setzen ? n bekomme ich als uint8_t übergeben. muss ich das tatsächlich per for..next + shift machen ? Grüße, Stefan
-
Thread
Faktensammlung Buderus EMS
ja Zündung Bit3 = 0 Zubringer Bit5 = 1 0x25 => 00100101
müßte wie im der doku/wiki passen: Monitor WW - Typ 52 Offset 8 Art des Warmwassersystems 1. Bit = kein Warmwassersystem vorhanden 2. Bit = Durchlauferhitzer 3. Bit = kleiner Speicher 4. Bit = großer Speicher 5. Bit = Speicherladesystem -> ab Ver: 3.0 6. Bit bis Bit 8 = frei
-
Thread
PIC - "beliebtester"?
und vorher nur Assembler gewöhnt war). Da lobe ich mir doch mein PIC-Assembler, wo ich einzelne Bits einfach so setze: bsf PORTA,0 bcf PORTA,1
Hi >Da lobe ich mir doch mein PIC-Assembler, wo ich einzelne Bits einfach so >setze: >bsf PORTA,0 >bcf PORTA,1 Und ich den AVR-Assembler, wo ich einzelne Bits einfach so setze: sbi PortA,0 cbi PortA,1 MfG Spess
-
Thread
MMC SD library FAT16 FAT32 read write
schreiben will und dann einen bit zurück senden will wann der nächste gesendet werden soll
config.h eingebunden. nun habe ich dort das problem das er mir das hier anmeckert loop_until_bit_is_set(SPSR,SPIF); Error: mmc.c(418), included from: Neu.c: undefined symbol 'loop_until_bit_is_set' MFG: Andre
-
Thread
Fuse Bits / Taktprobleme
> lfuse:0X42 ? Das ist doch nach wie vor der interne RC-Oszillator /8. > Low Fuse Bit habe ich bereits ein wenig gespielt Das kann auch schnell schiefgehen.
morgen gemeldet, dann hätte ich mir viele Stunden suchen ersparen können ;) Den low Fuse auf F7 setzen hat geklappt. Nun funktioniert alles wie gewünscht, danke! Mein Problem war also, dass der Quarz zu früh angefangen hat zu schwingen?!
-
Thread
Pollin - Receiver-Mainboard mit Twin DVB-[T,C] Tuner, NXP PNX8950EH
compatible bus driver via PrAcc (JTAG part No. 1) start: 0x00000000, length: 0x20000000, data width: 8 bit start: 0x20000000, length: 0x20000000, data width: 16 bit start: 0x40000000, length: 0x20000000, data width: 32 bit [/code]
um zu schauen, was da über den I2C + GPIO zu dem µC läuft. gruß Laszlo [1] [code] bit5 ------ | | bit4 | | bit 0 | bit6 | ------ | | bit3 | | bit 1 | | ------ . bit 7 bit2 [/code]
-
Thread
Can Bus interface reagiert nicht. Was mache ich falsch?
, "CAN set CURVE_CONFIG (0x00B4) Bit 7 = 0 (0x0004), please power cycle NPB afterwards", ""); - platform: template id: bit7_enable name: Switch to Charger mode on_press: - canbus.send: canbus_id: can_mcp2515
danke, ich habe noch zwei "buttons" eingefügt zum EEPROM bit setzen in der SYSTEM_CONFIG: [code] - platform: template id: mw_eeprom_enable name: "${mw_name} enable writing to EEPROM (0x00C2)" on_press: - canbus.send: canbus_id
-
Thread
Mit STEP 7 Brötchen verdienen
Ausserdem sind 800 Bits/us auch 50 Worte(16bits)/us, was heisst, dass bei einem 16-bit-Parallelbus dazu eine Frequenz von (rel. unproblematischen) 50 MHz nötig wären, bei 32-bit-Parallelbus wären's nur 25MHz. Auch 8-bit-Parallelbus
>ei einem 16-bit-Parallelbus dazu eine Frequenz von (rel. >unproblematischen) 50 MHz nötig wären, bei 32-bit-Parallelbus wären's >nur 25MHz. Auch 8-bit-Parallelbus mit 100MHz könnte man realisieren Tja, nur leider
-
Thread
LED Blinker Multitasking Attiny 85
Fast. Du musst nur noch das Enable-Bit für Deinen Timer-Interrupt setzen (TOIE0 im Register TIMSK). >sei(); // enable timer interrupt "enable all interrupts" triffts eher. sei bewirkt die globale Interruptfreigabe, d. h. es lässt
Ein 8-Bit Timer und ein 16-Bit Timer kann doch unabhänig und gleichzeitig laufen (oder?) und unterschiedliche ISR aufrufen oder sehe ich das falsch ? oder ist nur eine ISR für Timer zugelassen die von allen Timern
-
Thread
Interrupt mittels Flag erkenne, kein jump an die Interrupt Vector Addr.
sei(); [/c] Das ich das EICRA beschreiben muss ist definitiv klar, aber muss ich auch die Bits im EIMSK setzen? oder bestimme ich damit das gesprungen wird? Ich möchte nur, dass das Flag gesetzt wird. Danke schonmal
); //INT0 und INT1 aktivieren Nö. FREIGEBEN darfst du die Interrupts nicht. Die Funktion zum setzen der Flags ist aber dennoch aktiv und kann per Polling gelesen und auch gelöscht werden. Siehe Datenblatt. >auch die Bits im EIMSK setzen? oder bestimme ich damit das gesprungen >wird? Ja.
-
Thread
Attiny2313 USART Baudrate stimmt nicht
setzen. Nein, es ist eben nicht der Befehl um ein *einzelnes* Bit zu setzen, sondern um *mehrere* Bits zu setzten. Der zweite Parameter ist daher auch keine Bitnummer, sondern eine Maske. sbr Rxx,0x81 : Bits 0 und 7 setzen sbr Rxx,(1<<UCSZ0) : Bit UCSZ0 setzen sbr Rxx,(1<<UCSZ0)|(1<<UCSZ1) : Bits UCSZ0 und UCSZ1 setzen So nebenbei: "sbr" ist nur ein Alias für "ori". PS: Außerdem kannst du dir dieses
-
Thread
Glühwürmchen in Rotkohlglas gefangen
Timeouts umgerechnet aus dem der Funktion übergebenen Timout Wert in WDT Ticks. Dazu dienen ja die WDP? Bits. Davon liegen 3 Bits im untersten Nibble aber das WDP3 Bit liegt eben pysikalisch woanders. Ergo Idx muß mit 0x07 maskiert werden und dafür das WDP3 Bit rein-ge-odert werden. Beim Setzen der verschiedenen
Allerdings muß man beim ersten Setzen des WTCRs die Kombination WDE + WDCE benutzen und beim zweiten Setzen des Registers darf dann das WDE Bit nicht mehr gesetzt sein. Das wäre aber bei der Maskierung mit 0x0F uU. aber der Fall. Warum
-
Thread
GPIO-Port via DMA-Transfer setzen
Geschwindigkeit ablaufen. Ich stelle mir den Ablauf so vor: - Die Sequenz liegt als Array von 32bit Werten im Speicher, wobei die unteren 16bit jedes Wertes den Registerbereich "BSRRL" und die oberen 16bit den Registerbreich "BSRRH" repräsentieren. (Das BSRR-Register dient dem Setzen/Rücksetzen der GPIO-Pins (untere 16bit für Setzen & obere 16bit für Rücksetzen.)) - Per DMA wird nun Wert für Wert aus dem Array transferiert und nacheinander das BSRR-Register entsprechend gesetzt. Auf diese Weise ergibt sich eine Sequenz
-
Thread
Verständnisfrage zu Assembler bei PIC und ATMEL
Jens M. schrieb im Beitrag #7880583: > PICs haben dafür 4 Nibbles "ID", die man setzen kann und auch mit > Protection noch auslesen. Diese Idee finde ich interessant. Wo finde ich diese Nibbles? In den sogenannten ConfigBits?
K. schrieb im Beitrag #7880596: > Jens M. schrieb: >> PICs haben dafür 4 Nibbles "ID", die man setzen kann und auch mit >> Protection noch auslesen. > > Diese Idee finde ich interessant. Wo finde ich diese Nibbles? In den > sogenannten ConfigBits? Es sind 4 x 7 Bit üblich, nach dem Programmspeicher
-
Thread
fuse bits.. hilfe...
ah mit externen takt geht es.. aber wie muss ich die fuses jetzt setzen das es passt.???
crystal oszillator. 3. Wenn du das AVR-Studio hast schau mal dort unter AVR-ISP wie man die Fuses setzen muss. Seb
-
Thread
AD Wandler welche Bits...
Teste gerade mein AD-Wandler-Programm auf AVR-Studio. Wenn die Konvertierung abgeschlossen ist, setze ich ADIF auf 1, um den Abschluß zu simulieren. Danach geht's weiter im Programm. ADIF wird dann wieder zu 0 gesetzt (über ADCSRA =!(1<<ADIF);) Dabei werden aber alle anderen Bits, ADEN, ADPS1,0
Müll kommt. Oder? Gibt es eine Möglichkeit, dies im AVRStudio zu sehen, ohne dauernd selbst die Bits setzen zu müssen? Gruß, Andreas
-
Thread
ATmega64 spinnt
ausgehen dass es auch nur ein Problem gibt. Dafür aber ein gravierendes. >Vielleicht mal das Parity-Bit und zwei stop-bits in der UART-Übertragung >setzen um zu sehen, ob der die falschen Daten unwissend oder mit voller >Überzeugung absetzt. Stimmt alles hundertprozentig von den Einstellungen her,
keine und UART verwendest du ja in deinem letzten Test auch nicht!! >>Vielleicht mal das Parity-Bit und zwei stop-bits in der UART-Übertragung >>setzen um zu sehen, ob der die falschen Daten unwissend oder mit voller >>Überzeugung absetzt. >Stimmt alles hundertprozentig von den Einstellungen her
-
Thread
Mit was in die Mikrokontrollerwelt einsteigen?
. Das ist einfach super. Vorallem spricht für mich aber das schlechtere Debugging gegen z.b. die 8-Bit Atmegas. Will ich meinen Code auf Fehler analysieren, ist es sehr hilfreich, einfach einen Breakpoint in der Entwicklungsumgebung setzen zu können und durch mit dem Mauszeiger über die Variable fahren
Anforderung den idealen Chip aus. NXP hat schon festgestellt, dass es wirtschaftlicher ist, nur noch auf 32Bit zu setzen. Und ein Microchip FAE hat mir mal erzählt, dass der eigentliche 32Bit Kern sehr klein ist (Siliziumfläche) im Vergleich zur Flash und dem Platz den die PIN-Treiber benötigen. Und bezahlt
-
Thread
24bit DAC der bis DC geht
@ Gerald G. (gerald_g) >> Ja, das sind "nur" 20 Bit, aber ehe DU einen Analogteil baust, der >> WIRKLICH 20 Bit Performance bringt, vergeht einige Zeit. >Ja, 20Bit haben eigentlich alle Hersteller. Doch 4 Bit mehr sind halt >einfach 16 Stufen mehr
damit nicht meine, 16 weitere Werte ausgeben zu können, sondern dass in jeder Spannungsstufe des 20Bit DACs beim 24Bit DAC 16 Spannungen ausgegeben werden können. Ansonsten skiziere ich mir mal eine Version mit dem Integrator. Also mit closed loop des Sensors, Offsets setzen usw. und schaue mal wie
-
Thread
Assembler und AVR
Das Ganze ist also äquivalent zu: [avrasm] $asm push r24 LDI R24, $79 ' WD auf 8 Sekunden setzen und starten STS 65, r24 STS 65, r24 pop r24 $end Asm [/avrasm] Für deine 2 Sekunden müsstest du den Timer auf 7 setzen: [avrasm] $asm push r24 LDI R24, $57 ' WD auf 2 Sekunden setzen
#5340469: > SRAM => Register, direkt LDS r1,k65535 > > Heisst das, dass das Zielregister 16 Bit hat? Nein, das Zielregister ist ja r1, das hat nur 8 Bit. Rechts steht dagegen eine /Adresse/ (von der die Daten im RAM gelesen werden sollen), und die hat 16 Bit.
-
Thread
Anfängerfrage STM32
oder will sie mich als Benutzer da nicht ranlassen? Aber das sieht jetzt gut aus mit GPIO_SetBits(GPIOD,(GPIO_Pin_13 << 16) | ((GPIOD->ODR & GPIO_Pin_13) ^ GPIO_Pin_13)); Was aber nach meinem Geschmack ist daß so das Setzen beliebig vieler Bits in einem Port atomar ist.
man dessen beide Hälften zusammen atomar schreiben kann. Eben deshalb sind die Ports der STM32 16 Bits breit, nicht 32 Bits. Nur mit dem vollständigen BSRR kann man mehr als ein Bit in einem Port atomar auf einen beliebigen Wert setzen: GPIOx->BSRR = mask << 16 | value; Aber nein, da musste der
-
Thread
SED1520: Lesen vom Display
X-Koordinate 0...121 // lcd_y: Y-Koordinate 0..31 // mode: 0=Pixel löschen 1=Pixel setzen // *********************************************************************** void draw_clear_pixel(byte lcd_x, byte lcd_y, bit mode) { byte code mask_bit_tab[] = { 0x01, 0x02, 0x04, 0x08, 0x10
rechts write_lcd_command(0xB8 + lcd_y/8,1); // Zeile/Page 0...3 linke Hälfte } mask_bit = mask_bit_tab[lcd_y]; write_lcd_command(0xE0,display_seite); // Read Modify ON read_lcd_data(display_seite); // Dumy-Read laut Datenblatt SED1520 if (mode) { // Pixel setzen write_lcd_data
-
Thread
Schneller Mikrocontroller
sitzt. Tja eine besserer uC hat dann schon FIFO etc im UART oder SPI Hardware. Wieder ein paar Bits in Registern die man richtig setzen/lesen muss.
#3735883: > Tja eine besserer uC hat dann schon FIFO etc im UART oder SPI Hardware. > Wieder ein paar Bits in Registern die man richtig setzen/lesen muss. Und trotzdem bringt dir das setzen deiner Bits nicht näher, wie ein uC funktioniert. wie gesagt als Beispiel für PIC: Work Register, Status Register
-
Thread
Mikrocontroller auslesen
den STM Controllern ist, das man die ReadOut Protection > auch innerhalb der Firmware testen und setzen kann (löschen hab ich noch > nicht probiert :) allerdings ist die Readout-Protection erfahrungsgemäß bei den meisten µCs weitestgehend wirkungslos, da man das zuständige Bit problemlos löschen
Schreiber schrieb im Beitrag #4039001: > stimmt so nicht, man kann das Bit löschen ohne den Flash zu löschen: Wie geht das?