-
Thread
Versuch einer Millis Funktion für AVR
Ben S. schrieb im Beitrag #7940601: > 64bit in Mikrosekunden 64 Bit in Mikrosekunden... auf einem AVR? Oder bin ich hier im falschen Thread?
, nicht 16 Bit Variablen (im RAM).
-
Thread
ATTiny13A ADC - Was ist falsch im Code?
ADCWerte aus dem ADCH holen und damit arbeiten... muss ich dann jedes mal das ADC Start Conversion Bit setzen - würde das gehen? Viele Grüße Alex
mir dann etwas zum flag geschrieben haben!). Ob es dann ausreicht die Bits für den Trigger Select im ADCSRB zu setzen - oder eben auch noch interrupts zu enablen (könnte ja sein dass der free running mode so funktioniert, siehe text oben)- das weiß man nur, wenn man es eben
-
Thread
0-pointer in c
Die einzelnen Bits testen?
Daniel A. schrieb im Beitrag #5227938: > Bei PC Programmen setze ich mindestens das vorhandensein > eines OS und der meisten POSIX funktionen voraus. Dort ist der Wert eines Nullpointers immer "kein Bit gesetzt" und CHAR_BITS ist 8. Kannst du dich drauf verlassen
-
Thread
IIC Bus-Register setzen
das Prinzip mit dem IIC-Schnitstelle funktioniert. Jedoch verstehe ich nicht wie man ein Register setzen kann. Könnte mir jemand dies erklären? Wann sollte die Register-Adresse übergeben werden? Mfg, Webdesigner
IIC-Schnitstelle >funktioniert. WIRKLICH? > Jedoch verstehe ich nicht wie man ein Register setzen >kann. Das ist von jeweiligen IC abhängig, das macht jeder anders. Wenn gleich es Ähnlichkeiten gibt. > Könnte mir >jemand dies erklären? Wann sollte die Register-Adresse übergeben werden?
-
Thread
AVR Synthesizer mit ATxmega128A1
weniger Verzerrungen. Sinuston (12Bit und 8Bit) auf einem ATxmega128A1 mit internem 12Bit DAC http://soundcloud.com/rolfdegen/sinus_12bit_8bit Gruß Rolf
fFineByte) ) >> 8 + ( fPitch2 * (fFineByte) ) >> 8; [/code] Ich glaube C/C++ rechnet hier in 24bit, die Multiplikation aus 24bit mit 8bit ergibt allerdings 32bit und der Compiler convertiert das runter indem er die höheren (wichtigeren) 8bit weglässt. Das müsste irgendwie mit Typecasting lösbar sein
-
Thread
Zeigt her Eure Kunstwerke! Gesperrt Bilder
. klar das interface ist folgendermassen: -16 bit bus ueber rb0-15. -3 steuer leitungen. -um die adresse zu setzen. -daten zu schreiben/lesen -kommando leitung die unter anderen einstellt in welchen buffer geschrieben wird, welcher buffer
bit 3 wird 0x40 + 0x40 = 0x80 Timer-Counts dargestellt bit 4 wird 0x40 + 0x80 + 0x40 = 0x100 Timer-Counts dargestellt. Damit habe ich 8 Zeitscheiben die jeweils den 5 Bits zugeordnet sind und kann so
-
Thread
Tasten-Matrix entprellen
/Tastenmatrix.htm Ist in Tastenmatrix.c nicht noch ein Fehler drin? Ohne Dioden nur das DDRx Bit setzen dessen Reihe ausgewertet werden soll. [c] //uint8_t ROW[] = { 0x01, 0x02, 0x04 }; // low active uint8_t ROW[] = { KEYPAD_ROW_0, KEYPAD_ROW_1, KEYPAD_ROW_2 }; // low active
("nop"); column = KEYPAD_COL_PIN; // read column [/c] Mit Dioden alle PORTx Bit's setzen bis auf das Bit welches augewertet werden soll. [c] //uint8_t ROW[] = { ~0x01, ~0x02, ~0x04 }; // low active uint8_t ROW[] = { ~KEYPAD_ROW_0, ~KEYPAD_ROW_1, ~KEYPAD_ROW_2 };
-
Thread
Welchen Parameter muss ich nutzen, um mit Arduino und DS18S20 ein Relais zu steuern?
Manfred schrieb im Beitrag #5707673: > Schreibe einen einfachen Ablauf: > Definiere Port > > Setze Port high > Mache 2 Sekunden Pause > Setze Port low > Mache 2 s Pause > und wieder auf "Setze Port high" > > Wenn das Relais nicht schaltet, nehme das Meßgerät in die Hand und > ergründe die
Post oben. >Manfred schrieb: >> Schreibe einen einfachen Ablauf: >> Definiere Port >> >> Setze Port high >> Mache 2 Sekunden Pause >> Setze Port low >> Mache 2 s Pause >> und wieder auf "Setze Port high" >> >> Wenn das Relais nicht schaltet, nehme das Meßgerät in die Hand und >> ergründe
-
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
UP/Down Zähler Schaltung mit Hilfe von Mikrocontroller
billiger und kleiner der grossere mit DIP-40 . Um 32 kleine Platine zu adressieren brauche ich 5 Bits, für die UP/down Tasten brauche ich jeweils 1 Bit, und 16 Bits bleiben übrig, 1 bis 2 Bits braucht man um Bus- extender anzusteuern, und 14 Bits bleiben Übrig für die Datenlänge und Leuchtdioden. Das
Kawous S. schrieb im Beitrag #6545352: > Um 32 kleine Platine zu adressieren brauche ich 5 Bits Ja, aber das sind bei einem I²C Bus seriell übertragene Bits, nicht dedizierte Leitungen (bzw I/O Pins).
-
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
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
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
Bitte um Hilfe mit Verständnis, ISR von Timer usw.
oben demonstrierten Probleme beim Lesezugriff. Mmh. Auf dem ATMega1284 *sind* Zugriffe auf die 16-bit TCNTn-Register atomar: "16.3 Each 16-bit timer has a single 8-bit register for temporary storing of the high byte of the 16-bit access. [...] When the low byte of a 16-bit register is read by the CPU
for > temporary storing of the high byte of the 16-bit access. [...] When the > low byte of a 16-bit register is read by the CPU, the high byte of the > 16-bit register is copied into the temporary register in the same clock > cycle as the low byte
-
Thread
Assembler wo sind eigentlich diese ganzen Genies??
mir waren Mikrokontrolleranwendungen meistens sehr zeitkritisch. Da kann man um z.B. einen Port zu setzen, nicht noch "Abstraktionsschichten" drüberbasteln. Um ein Bit an einen Port zu schreiben, kann man sich oft diesen Arduino-Müll nicht erlauben: [c] void digitalWrite(uint8_t pin, uint8_t val) {
waren Mikrokontrolleranwendungen meistens sehr zeitkritisch. Da > kann man um z.B. einen Port zu setzen, nicht noch > "Abstraktionsschichten" drüberbasteln. > Um ein Bit an einen Port zu schreiben, kann man sich oft diesen > Arduino-Müll nicht erlauben:void digitalWrite(uint8_t pin, uint8_t val)
-
Thread
uC Programmiertechniken - Gibt es da Bücher?
alle Routinen in der State Machine ab, Mehrfachdurchläufe erzeugen keine doppelten Sachen, zb das Setzen von Power/Off Bits für die Sensoren. Alles ist gegeneinander verriegelt, ON gibt es nur wenn vorher ein OFF da war usw. Fixkomma habe ich überlegt aber da wird man malle bei wenn man sowas durchziehen
relevant ist oder nicht, wird er zusätzliche Befehle einbauen müssen um > bspw. eine Zahl in einem 32-bit-Register auf 8 Bit einzuschränken. Ok, ich nehme Dich beim Wort. Wird zwar ne Menge Arbeit aber dann werde ich (fast) alles lokale auf "int" bzw uint setzen.... Ne Durchlauf Analyse mache ich derzeit
-
Thread
Laufschrift Denkanstöße
0x04,0x32,0x21,0x43,0x43}; > glcdSetPixel(x,y); > Nun kann Ich ja mit "glcdSetPixel()" einen beliebigen Pixel setzen. > Die Anzahl von Pixel vom Buchstaben "A" müssten 5Bytes(8Bits) * 8 = 320 > Pixel sein. > Wie setze ich jetzt von jedem Byte von "A" gezielt die Pixel, wenn ich > bei der "glcdSetPixel()"
0x04,0x32,0x21,0x43,0x43}; >> glcdSetPixel(x,y); >> Nun kann Ich ja mit "glcdSetPixel()" einen beliebigen Pixel setzen. >> Die Anzahl von Pixel vom Buchstaben "A" müssten 5Bytes(8Bits) * 8 = 320 >> Pixel sein. >> Wie setze ich jetzt von jedem Byte von "A" gezielt die Pixel, wenn ich >> bei der "glcdSetPixel()
-
Thread
SCK durchgehend erzeugen
Stellt die Geschwindigkeit ein //SPI.setBitOrder(LSBFIRST); // Setzt die Bit-Reihenfolge Most-Significant-Bit, scheint Standart zu sein!!! Serial.begin(9600); } void loop() { digitalWrite(cs, LOW); delay(500); /
Für jedes bit das du sendest erzeugt der uC genau eine Taktflanke.
-
Thread
UV-Laserdrucker II
eine xpdfbin-win-3.04 Datei gefunden. Nach dem Entpacken sind da viele PDF.... auch pdftoppm 32 und 64Bit drin.Anhand der Größe ist deine wohl eine 64Bit Version, ich hab 32Bit, geht aber leider auch nicht. trotzdem danke Gruß Klaus
Bilde ich mir das nur ein, oder fehlt beim Belichten jede 8. Zeile? Das wäre ein Bit pro Byte.
-
Thread
Blutzucker-Messgerät Hardware OLED Display
Graustufen? http://home.arcor.de/wehrsdorf/Oled-Display-Recycling.html hat ein tool, das macht aus aus 4bit bmp einen header, den du einbinden kannst wenn du wissen willst, wie du zu einem 4bit bmp kommst -> Paint (das was zu jedem Windows gehört) speichern unter 16bit-Bitmap. oder du suchst die eine
@Q9: an CS, DC, SCLK und die Fuse-Bits hast du gedacht?
-
Thread
Arbeiten mit RS 232
du? Ja ich sprach vom Erweitern, wie weiters beschrieben, jedoch dachte ich daran die einzelnen bits über UND-Verknüpfungen wieder zusammenzufügen und je nach ausgegebener "zahl" also zum Bleistift 00000100 dann kurzzeitig den Ausgang 4 unter spannung zu setzen. Aber ich gehe mal davon aus, dass
> Ja ich sprach vom Erweitern, wie weiters beschrieben, jedoch dachte ich > daran die einzelnen bits über UND-Verknüpfungen wieder zusammenzufügen > und je nach ausgegebener "zahl" also zum Bleistift 00000100 dann > kurzzeitig den Ausgang 4 unter spannung zu setzen. So was macht man in Software
-
Thread
CarryBit - Wie und was
>...und wie kann man es beschreiben? CLR C Lösche das Carry-Flag SETB C Setze das Carry-Flag CPL C Invertiere den Inhalt des C-Flag ANL C,badr Das Carry-Flag wird überschrieben durch das Ergebnis der UND-Verknüpfung von Carry-Bit und dem
crazy horse schrieb im Beitrag #2434609: > im Fall von cjne ist es das zero-bit Nein, das Z-Bit ist eigentlich garkein richtiges Bit. Es ist direkt das NOR aus allen Bits des ACC. Peter Steiner schrieb im Beitrag #2434556: > Hier habe ich mir noch ein Beispiel für das
-
Thread
LCD Anzeige macht Probleme
Web rum, die fehlerhaft sind. An einer entscheidenden Stelle fehlt das Delay oder es werden zu früh 8Bit-Befehle statt 4Bit-Nibble gesendet. Manche Controller tolerieren das, manche aber nicht.
ausgedrückt: Die Daten werden bei E 'High' die ganze Zeit ins interne Register eingelesen. Warbei mir 8-Bit Modus, aber ich denke das gilt identisch auch für den 4-Bit Mode.
-
Thread
security bits im PIC nicht zurücksetzbar
z.B. 0x3FB9 lädt, so ergibt ein Auslesen des Configuration Words nach der Sequenz 0x02B9 (d.h. alle Bits ausser die Codeprotection Bits werden gesetzt). Weiterhin: Die Bits in den ID Locations lassen sich von 1 auf 0 setzen (beim Versuch das Configuration Memory zu programmieren gemäss Figure 3-4 in
bits via ICSP." Hat jemand bei sich Erfolg mit dem Setzen und Zurücksetzen der Security Bits beim PIC16F628 per Do-It-Your-Self-Brenner? Wenn ja, welchen Brenner und welche Software verwendet Ihr?
-
Thread
-
Thread
Diskretes "OTP-Bit" (Zustandsmerker)
E-Ink Kondensator 1 Bit eines antiken Magnetspeichers
die die Dinger angeblich halten. 2. Die Behauptung "unmöglich" halte ich für gewagt. Auch das Setzen eines einzigen Bits im EEPROM macht ein Rücksetzen unmöglich, wenn die Firmware es nicht erlaubt. Auch das Laden des Hexfiles ist ein Stück Software im Controller. Nur durch das Vorhandensein (mindestens
-
Thread
Daten vom UART am LCD ausgeben
Wie stellst du fest, dass nur 7 Bits ankommen? Bei üblichen Tasten auf dem PC ist das 8. Bit 0. Probiere mal öäü, wenn du ein gesetztes 8. Bit sehen willst.
einen ATMega8 also gibt's URSEL (steht ja auch im Datenblatt). Recht hast du. Bei ö, ä, ü sind 8-Bit vorhanden. Oder das 8-Bit ist gesetzt. Aber wieso wird das 8-Bit bei mir nicht angezeigt wenn es 0 ist? Wird das nie angezeigt?
-
Thread
Hat schon jemand den LPC810 getestet?
Sommer schrieb im Beitrag #3212899: > Warum eigentlich? Ausserdem sind bei solchen Zwergprogrammen Bit-I/O und I/O-Registerzugriff signifikant, und /da/ ist der Unterschied markant. Portbit setzen: AVR 2 Bytes, CM0 12-14.
A. K. schrieb im Beitrag #3212910: > Ausserdem sind bei solchen Zwergprogrammen Bit-I/O und > I/O-Registerzugriff signifikant, und da ist der Unterschied markant. > Portbit setzen: AVR 2 Bytes, CM0 12-14. Das stimmt sogar... Bei sukzessiven Zugriffen auf das selbe Register wirds
-
Thread
UV-Laserdrucker
low-Impulse der gewünschten Frequenz. Habe jetzt kurzerhand meinen ATTINY2313 auf ganz doof gestellt: Bit setzen, Bit löschen, 16 NOP's, relativer Sprung zum Bit setzen. Die damit erzeugte Impulsform (bei 20 MHz) führt zu einer stabilen (ganz wenig Jitter) Drehzahl knapp unterhalb des gewünschten Bereichs
Dieter Frohnapfel schrieb im Beitrag #4088036: > Die 32-Bit-Version für den Zähler habe ich auch schon angedacht - da > muss ich aber auch 32-Bit-Werte liefern und verarbeiten können (in > vertretbaren Intervallen). Mit einer 8-Bit-CPU AT... kann ich da wenig
-
Thread
Wittig(welec) DSO W20xxA Open Source Firmware (Teil2) Gesperrt
eine Fernsteuerung (für RS232) eingebaut, die es u.a. erlaubt, das RAM auszulesen, Variablen zu setzen etc. Damit habe ich bspw. das Bit gefunden, das das Scope für >50MHz unbrauchbar gemacht hatte. Und momentan bin ich dabei, die Darstellungsgeschwindigkeit etwa um den Faktor 5-10 zu verbessern.
der Austauschbarkeit von Geschwindigkeit und Messgenauigkeit geben die digitalen TP-Filter ein 16 Bit Signal aus! (ungleich 16 Bit Genauigkeit). Die Trigger-Messwerterfassung ist so aufgebaut, dass Sie entweder 4*8 Bit, 2*16 Bit oder 1*32 Bit mit 1 GS/s aufnehmen kann. Leider hat sich ein kleine
-
Thread
c18 Bit Verschiebung
bei C18 + PIC 18Fxxxx eig. nur das das PORTPIN 7 an PORT B ist .. ist quasi ein Macro, um einzelne bits / portpins zu setzen bzw. auszulesen Am PIC ist das physisch gesehen PIN 40 ... PORTB ist als change interrupt definiert
ich dachte immer, man muss die flag nach prinzip "interrupt aus -> flag löschen -> interrupt an" setzen ... thx 4 help
-
Thread
8086 Bitmanipulation
nichts darüber aus, ob hier mit Read-Modify-Write Cycle oder > mit direktem Zugriff auf die einzelnen bits gearbeitet wird/wurde Mal in die Details einer modernen CPU geschaut? Du kannst nur Bits setzen/löschen wenn der Register Wert durch die ALU gejagt wird.
> Mal in die Details einer modernen CPU geschaut? > Du kannst nur Bits setzen/löschen wenn der Register Wert durch die ALU > gejagt wird. ....nein.....
-
Thread
AVR 8Bit Einstieg: Fragen zu Entwicklungsumgebung
I2C, SPI, USART, LCD, ...) - einfache Hardware Plattform, darf durchaus "Luft nach oben" haben - 8Bit Umgebung reicht performancemässig völlig aus - Leiterplatten müssen nicht zwingend selbst geätzt sein, Controller-Module sind eine nette Sache (die Anfängerfehler sind schon raus...) - Programmierung
investieren. Ich möchte nicht ohne arbeiten! Damit kannst Du z.B. in zeitkritischen Anwendungen durch Setzen und Rücksetzen eines Portpins Laufzeiten messen und in (fast) Echtzeit debuggen (ich weiß allerdings nicht, wie echtzeitmäßig das Debuggen mit dem Dragon ist). Gruß Dietrich
-
Thread
Bit als Variable definieren in C (STM32)
. 8 bit.
Erwin D. schrieb im Beitrag #5557990: >> Das T-Flag beim AVR ist im Prinzip ein 1-Bit-Register. > Das ist falsch. Das T-Flag ist nur ein Bit im 8-Bit-Register 'sreg'. Im Gegensatz zu allen anderen Bits in SREG ist es frei setz- und löschbar, hat keine Sonderbedeutung und ändert sich
-
Thread
ASUS Eee PC 4G 701 Speichererweiterung
32-Bit-Systemen, bei so wenig Speicher wenig überraschend.
Speichercontroller mehr RAM adressieren kann und die CPU PAE* unterstützt. Oder das ist eh' ein 64-Bit-System, wobei dann die Frage ist, wieso man darauf unbedingt ein 32-Bit-OS laufen lassen muss. (Eine Begründung könnte eine auf PCs sehr, sehr seltene 32-Bit-UEFI-Firmware sein) Die Gurke aus
-
Thread
Arduino->WS2812B-> Arduino
blockieren. > Der Compiler wird so gut sein und die paar Befehle optimieren. Denk ich auch. Ein Bit ist 1,2us lang. Man pollt z.B. immer bis zur fallenden Flanke, wartet dann bis zur Mitte des Bits, und wertet dann den Portstatus aus. Oder man benutzt ICP1. Für ganz wenige Bits könnte man vielleicht
NeoPixel LED Rings zu sehen. Interessant dabei ist, dass die Neopixel scheinbar einen Buffer von 2 Bit haben, da das Signal am Ausgang des letzten Pixels um 2 Bit verschoben ist. [c] /* * * Sender for NeoPixel stripe * last LED is used as data container (24bit) * * 21.11.2021 chris_
-
Thread
I2C mit ATtiny 0/1-series (z. B. ATtin817)
Master-Read auch abschalten bzw. ganz außen vor lassen und sein ACK konventionell über die Command bits senden.
Naja wir sind hier nicht bei NXP oder AMD. Schau mal in die Erklärung des BUSERR Bits im Datenblatt!
-
Thread
PWM an atmega8
TCCR1B= ICNC1 ICES1 - WGM13 WGM12 CS12 CS11 CS10 Mit der Zusammensetzung der 4 WGM Bits setze ich den Modus. Wie also kann ich zwei verschiedene machen? > > Oder die eine setzt du auf y und die andere auf 255 - y > > Aber es muss sichergestellt sein, dass y auch wirklich im
Vielleicht doch mal das Datenblatt etwas genauer studieren? Das verstehe ich! Den Modus 10 oder 11 setze ich aber durch die WGM Bits und nicht durch COM1A1 oder COM1B1. Gruß
-
Thread
LED Treiber gesucht
und kommen trotzdem mit der WS2811-kompatiblen Übertragung von 8-Bit-Werten aus, weil sie direkt eine Gamma-Korrektur mit eingebaut haben. Diese mappt die 8-Bit-Werte auf entsprechende 12-Bit-PWM-Werte - unter Berücksichtigung der Helligemnpfindlichkeit des menschlichen
könnte sein, dass immer der volle Strom fließt, egal wie die LEDs leuchten. Und die Nutzung von 8 Bit Daten zur Steuerung der LED-Helligkeit über eine 12 Bit Kennlinie hat doch etwas.
-
Thread
Attiny85 anfänger
ein ATTiny4 mit max. 10% seiner Ressourcen. > > Du kannst kein dabla lesen. > Der hat keinen 32 Bit Timer! > Keine Ahnung aber mitreden wollen🤮 Und Du kannst generell nicht lesen. Wo schrieb ich etwas von einem 32-Bit Timer? Einen 32-Bit Zähler setzt man aus 4 8-Bit Registern oder auch aus Ram
" flags MCUSR = 0; // allow changes, disable reset, clear existing interrupt WDTCR = bit (WDCE) | bit (WDE) | bit (WDIF); // set interrupt mode and an interval (WDE must be changed from 1 to 0 here) WDTCR = bit (WDIE) | bit (WDP3) | bit (WDP0); // set WDIE, and 8 seconds delay
-
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
CGA und Byteaufteilung in der Darstellung mit Farben.
-------------------------------------------- #include <dos.h> int adr; char byte; void setze() { pokeb(0xb800,adr,byte); } void cga() { asm{ mov ax,04h int 10h } } main() { cga(); adr=32; byte=255; setze(); adr=8031; byte=255; setze(
wenn schon dann schon int main() und bitte keine globalen void setze(int adr, char byte) { pokeb(0xb800,adr,byte); } und dann setze(32, 255); setze(8031, 255); und zur besseren Lesbarkeit ax splitten void cga() { asm{ mov ah,0 mov al,4 /
-
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
Sekunden,Minuten zählen mit der Funktion Millis()
geht auch mit 32 Bit ;-)
#6520459: > Und jetzt jammer bloß nicht rum, daß man dazu eine extra Variable > braucht! Deine 64Bit Zähler sind auch nicht kostenlos, dort steckt die > Variable vier mal drin! Keine Angst, ich weiß sogar, dass ein 64 Bit Zähler doppelt so viel Platz braucht wie ein 32 Bit Zähler! > Wer mit
-
Thread
Wittig(welec) DSO W20xxA Open Source Firmware (Teil3) Gesperrt
16 bittig. D.h. doch nach meinem Verständnis, bei einem Range von -2,5...+2,5 dass bei - 14 Bit 0x0000 = -2,5V und 0x3FFF = +2,5V -> 0x1FFF = 0V - 16 Bit 0x0000 = -2,5V und 0xFFFF = +2,5V -> 0x7FFF = 0V oder andersherum bei Nullansteuerung des 14 Bit DAC (8191 = 0x1FFF) gibt der 16 Bit
sollten sich beide LTC26x2 absolut gleich verhalten, es braucht nichts verschoben zu werden. - 14 Bit 0x0000 = -2,5V und 0x3FFF = +2,5V -> 0x1FFF = 0V - 16 Bit 0x0000_ = -2,5V und 0x3FFF_ = +2,5V -> 0x1FFF_ = 0V der Unterstrich markiert 2 zusätzliche Bits, die bei 14bit egal sind, bei 16bit nicht
-
Thread
32-Bit-µC: Möglichst viel uint8_t verwenden?
Genau genommen tut es allerdings derjenige, der das Include-Files dazu schreibt, und bei einer 32-Bit RISC für int_fast8_t einen 32-Bit Typ einsetzt, bei 8-Bit AVR aber einen 8-bit Typ.
Auszug aus https://wiki.freepascal.org/Integer : The size of an integer is dependent upon the bit size of the target machine to which the compiler is to generate code (32 bit or 64 bit), the type of compiler (16-bit, 32-bit or 64-bit), and upon compiler switches in some cases. Ohne die flexible
-
Thread
LED blinken lassen funktioniert nicht wenn ich nur den entsprechenden Pin als Ausgang setze
DDRB |= 0xFF funktioniert es. aber warum funktioniert das nicht, wenn ich nur PINB5 als Ausgang setze? habe auch alle anderen probiert (einfach die zahlen von 0 bis 7 (aus iom328p.h)) aber nie fängt die an zu blinken.
Beitrag #4823930: > DDRB |= PINB5; Diese Zeile übersetzt sich zu DDRB |= 5; Setzt sich in Bits zusammen aus 0000_0101 Das Bit 5 das du setzen willst ist nun nicht dabei.... Ebenso verhält es sich mit Zeile PORTB |= PORTB5; Hier machst du es richtig, du benutzt PORTB5 zu shiften:
-
Thread
Attiny 4313 - Änderung des clock prescalers ohne Effekt
das ich zuerst CLKPS setzen muss und dann > CLKPCE. Also genau umgekehrt wie im ersten Post geschrieben. > Lasse mich aber gerne belehren. Übers.: "Das CLKPCE-Bit muss auf logisch 1 gesetzt werden, um die Änderung der CLKPS-Bits
der Prescaler auch nicht ändern) setzen und dabei muss, lt. Datenblatt, alle anderen Bits gleichzeitig 0 werden. da kommen die 0x80 her, das setzt nämlich nur das CLKPCE auf 1 und alle anderen zu 0. Dann hat man vier Zyklen Zeit den gewünschten
-
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
LEDs an PIC ausglimmen lassen
1<<0 => 1 , oder bit 0 ist on 1<<3 => 8 , oder bit 3 ist on INTCON = 1<<GIE|1<<T0IE ; -- INTCON = 0x84 -- oder 10000100b , also bit GIE und bit T0IE ist on, sprich die Zahl eins 7 mal nach links geschoben und 1<<T0IE
was du in led reinschreibst, wird auf den leds rausgeschrieben, ob mit direkter Zuweisung oder mit Bits setzen. Das fading ist automatisch, nachdem das Bit gelöscht wurde. Nur, das Register led wird alle 122µS gelesen, bzw aktualisiert. Also wenn du ein bsf led,0 machst, und dann ein bcf led