-
Thread
Reset Deaktivieren
. - benutze keinen Watchdog (Fuse nicht setzen, nach Poweron WDRF-Bit löschen, danach Watchdog disablen). Peter
Full-Swing. > - benutze keinen Watchdog (Fuse nicht setzen, nach Poweron WDRF-Bit > löschen, danach Watchdog disablen). > > > > Peter Ich weis nicht wie sehr du dich mit assembler und AVR-Studio auskennst aber ich wäre dir da sehr verbunden, wenn
-
Thread
Amateurfunk CW Reichweite
Aber wer will kann ja immer noch CW CW ist die älteste digitale Betriebsart, An aus, ja nein, Bit=1 Bit=0. Oder bist du anderer Meinung?
im Einsatz > sind, ganz zu schweigen. Oder den ganzen Handgeräten die für RX auf SDR technik setzen.
-
Thread
Datenlogger mit SD Karte, hoher Samplerate und 12-Bit ADC
herumgetrieben, aber nichts passendes gefunden. Den ATmega32 gibt es fertig am Board, hat aber nur 10-Bit und ich weis nicht, ob jedes ATmega 2Bit Oversampling schafft. Leider finde ich auch keinen Vertrieb für diese Boards. Der ATxmega hätte 12-Bits, aber leider finde ich dazu kein Board? Ein weiteres
#2864661: > Alternativ, wenns unbedingt ein AVR sein soll muesstest du hald auf > einen externen ADC setzen. Die neuen (USB) Atxmegas haben nun (nicht verbugte) 12bit ADCs.
-
Thread
AtTiny25 Status zurücksetzetn
[c]bit oldstate; // Merker void main() { DDB0_bit = 0; // Setze Eingang DDB1_bit = 1; // Setzte Ausgang DDB2_bit = 1; // SEtze
[c] bit oldstate; // Merker void main() { DDB0_bit = 0; // Setze Eingang DDB1_bit = 1; // Setzte Ausgang DDB2_bit = 1; // SEtze
-
Thread
STK600 8bit LED-Logik?
ich mittels Bit-schifting und einer Zählvariable samt for-Schleife. Daraus folgend- Wenn ich nun auf den Port ein Bit setzen möchte muss ich immer negativieren, um das gewünschte Muster zu erzeugen (sonst geht die
YES!!! Thanks... Nun habe ich es endlich erstmal geschafft, dass die LEDs pro erhöhten Bit ansteigend angehen und an bleiben. Das geht nun von rechts nach links an und anschließend auch in selbige Richtung wieder aus. Danach wird das ganze von links(höchste Bit) nach rechts (kleinste Bit)
-
Thread
msp430, 8 bit bus aufteilen
bei dem 8 bit breiten bus habe ich 256 versionen du meinst sowas? switch (x) { case 0: ... ....hier ports setzen ... break; case 0: ... ....hier ports setzen ... break; case 0: ... ....hier ports
Bit 7 gesetzt... }
-
Thread
Resourcenwahnsinn beim PC, warum?
beachten muss ist, dass Win 3.1 auf dem 286 er laufen musste. Die Zeigeradressen sind also nur 16 Bit groß, das speichert ein klein wenig RAM. Gleiches Spiel bei 32 Bit vs. 64 Bit.
mit einer Warnung ("dies ist ein Windows 2-Programm und läuft evtl. fehlhaft"), die man aber durch Setzen eines Bits im Header der .exe ausknipsen konnte. Danach war das Programm von einem mit dem Windows 3 SDK gebauten kaum noch zu unterscheiden. - Diese Programme waren aufgrund der Beschränkungen
-
Thread
Daten übertragen
zum Slave irgend einen Wert zb. nur 0 und somit empfange ich den Wert vom Slave. Wenn im Slave 8 Bit enthalten sind, wie wird das zum Master geschickt. Der Master empfängt ja einzeln 8 Bit. Was befindet sich im SPDR. Ist im SPDR ein BIT als char, somit 8 Bit gespeichert. MfG
diesen Übertragungstakt kann der Slave sein Byte loswerden. > Der Master empfängt ja einzeln 8 Bit. Was befindet sich im SPDR. > Ist im SPDR ein BIT als char, somit 8 Bit gespeichert. Nein. Die Hardware setzt die 8 Bit wieder zu einem Byte zusammen.
-
Thread
µC für "Anfänger"
slstk2020a/entw-board-efm8bb10f8g-busy-bee/dp/2469338?ost=SLSTK2020A Ansonsten gleich einen ARM 32-bit nehmen ...
Diskussion PIC vs AVR zu beenden: http://dangerousprototypes.com/2012/03/29/running-linux-on-a-8bit-avr/ ;-)
-
Thread
FTDI oder CP2102?
selbst mit dem Uralt Analogscope für 30 Euro. Schaut man sich ein komplettes ASCII-Zeichen an (also 10 Bit meist), sieht man Start und Stop Bit sowie die Polarität. Damit ist dann alles vorgegeben!
LETZTEN Bit des Bytes 50% der Bitdauer nicht überschreiten, sonst sampelt man ein anderes Bit! Ist das Byte inkl. Start und Stopbit 10 Bit lang, darf der Fehler also nicht 5% überschreiten! Wenn Sender und Empfänger
-
Thread
ATmega16 mit Timer0 will nicht
hab mich verschrieben, statt der 1 die 0 setzen
Zuweisungsoperator nimmt man nur, wenn das Register bereits konfiguriert wurde, und man zusätzlich ein Bit setzen will. Wenn das Register dagegen das erste Mal beschrieben wird, dann ist sogar ein "=" besser, denn das sorgt für einen definierten Anfangszustand.
-
Thread
Free-Running and Compare Match A Auto-Triggering AD-Wandler
Interrupt-Routine wird angerufen, aber das Bist ADSC wird nicht mehr gesetzt. Ich habe probiert, das Bit ADSC manuell zu setzen. In diesem Fall läuft der AD-Wander mit falscher Free-Running Funktion, weil manuell das Bit setzten muss. In diesem Fall würde ich Single Conversion Mode verwenden, da die gleiche
mehr >gesetzt. Warum auch? Wird nur für die erste Wandlung gebraucht. >Ich habe probiert, das Bit ADSC manuell zu setzen. In diesem >Fall läuft der AD-Wander mit falscher Free-Running Funktion, weil >manuell das Bit setzten muss. In diesem Fall würde ich Single Conversion >Mode verwenden, da
-
Thread
RS232 mit AT91SAM7S256
init_usart0: // ----------------------------------------------------------- // Basisadresse setzen LDR r0, =PIO_BASE // zu schreibender Wert LDR r1, =BIT5 | BIT6 | BIT21 | BIT22 // Wert an Basisadresse + Offset schreiben STR r1, [r0, #PIO_PDR] // zu schreibender Wert
// Basisadresse setzen LDR r0, =USART_BASE LDR r1, [r0, #USART_US_CSR] AND r1, r1, #BIT1 CMP r1, #BIT1 BNE ready probiert, aber leider funktioniert das auch nicht. Hat jemand einen Tip? Kann es
-
Thread
Bitweise auf PORT Ausgeben
Maskierung freistellen. Um 6 Positionen nach unten schieben. PORTB einlesen, PB0 und PB1 definiert auf 0 setzen. Die vorher geschobenen beiden Bits mit einem Oder drüberschreiben. Das Resultat wieder auf PORTB ausgeben. -> die Lösung mit cbi/sbi dürfte einfacher sein. Vor allem das Schieben um 6 Positionen
or temp, count3 out PORTB, temp [/avrasm] Es fehlt einfach der richtige Befehl :( (Bit setzen in Abhaengigkeit eines anderen Bits oder sowas :P ) Danke fuer eure Hilfe!
-
Thread
Anfängerfrage: MSP430F2274
auf ein Mal! Ein Port heißt beim MSP430 immer Pa.b z.B. P1.2 für Port 1, Pin 2. Du kannst z.B. Bit 2 nur setzen, wenn du den ganzen Port neu setzt. Nachdem du ja nur einen Pin der 8 setzen willst, musst du die anderen wieder so setzen, wie sie vorher waren, also die Werigkeit des Pins zu dem aktuellen
dazuodern. Ausführlicher geschrieben passiert da Folgendes: [c] P1OUT = P1OUT | 0x04; //setze Port1.2 auf high [/c] Der Port ist binär codiert, jedes Bit hat eine Wertigkeit: Bit0 0x01 Bit1 0x02 Bit2 0x04 Bit3 0x08 Bit4 0x10 Bit5 0x20 Bit6 0x40 Bit7 0x80 Rücksetzen
-
Thread
If Bedingung
Hallo, ist es in C möglich mehrere UND Bedingungen hintereinander zu setzen? Im Internet finde ich immer nur Beispiele mit zweien. Ich habe mir das wie folgt gedacht: [c]if ((g_counter==ONE_H_WAIT) && (bit_is_clear(PINB,PB5)) &&(bit_is_clear(PINB,PB2))) [/c] {
{ if ((g_counter==ONE_H_WAIT) && (bit_is_clear(PINB,PB5))) { ... } if ((g_counter==DAY_WAIT) && (bit_is_set(PINB,PB5))) { ... } } [/c]
-
Thread
automatischer Vorschub für Drehbank
kleines 20x4 hier. Das werde ich dieses WE mal testen. > Ansonsten ist das Ansprechen mit dem 16Bit > breiten Port ein Traum. Das sowieso - und noch wichtiger ist hier die 32-Bit-Arithmetik :-)
hättest Du effektiv 9 Bit, und kannst bis zu 255 Schritte registrieren).
-
Thread
Fuse bit verstellt - defekt?
@ Peter R.: Muss ich ausser SPIEN noch etwas setzen? Jetzt geht schon viel mehr, aber (WARNING: Fuse bits verification.. FAILED) es kommt immernoch eine Fehelrmeldung.
Kontroller noch in Ordnung sein. Da fällt mir ein : Vielleicht ist der Programm-Leseschutz (security-bits) aktiviert worden. Versuche einmal, die Signatur des Bausteins zu lesen.
-
Thread
8-Pin µC (Tiny45/85 o.ä.) Projekte/Spielerien
Equinox Uhr mit 60 Attinys und je 3 x 12 Bit PWM (8 Bits hard, 4 Bits soft)
Frank M. schrieb im Beitrag #6100582: > Equinox Uhr mit 60 Attinys und je 3 x 12 Bit PWM (8 Bits hard, 4 Bits > soft) Da gab es wohl noch keine WS2812?
-
Thread
Globale Variable im Interrupt u. Daten an PORT ausgeben?
noch mal genau nachlesen ob der AT90CAN128 die Interrupts > abschaltet oder nicht. /Alle/ AVRs setzen beim Sprung in den Interrupt-Vektor das I-Bit im Statusregister zurück und setzen es beim Rücksprung ins Hauptprogramm wieder!
Timerinitialisierung gab, die nicht so funktioniert hat wie gewünscht, war deine vielgepriesene Syntax mit Bit-Setzen über Hexzahlen (oder noch schlimmer: Dezimalzahlen) im Spiel. Mal wurde ein Vorteilerbit vergessen, mal das falsche Bit gesetzt und der falsche Interrupt ausgelöst, etc. > und zweitens, sprichst
-
Thread
Probleme mit Can Hausbus
Slaves zum Master gesendet werden. Alternativ könntest du auch versuchen das Ganze über das RTR Bit zu lösen. Das ist eigentlich für so was vorgesehen. Der Master schickt dann einen Frame mit der ID, die zum Sensorwert (oder Slave) passt, um dessen Werte anzufordern. Das RTR Bit ist dabei rezessiv
kann jeder das ACK setzen. Sollte aber in deinem Fall kein Problem sein. Bei "Dauerfeuer" schafft es keiner das ACK Dominant zu setzen. software würde ich ausschließen. Leitung und Terminierung definitiv auch bei der Geschwindigkeit
-
Thread
SPS Betriebssytem
Akku 1 R6 Zeitimpulse/System R7 VKE Bit 0 = aktuelle Klammerebene
sein, muß aber immer die benötigte Reaktionszeit garantieren. 4. Es müssen vom Betriebssystem Zeit-Bits zur Verfügung gestellt werden. Ich setze ein Bit und mit einer Einschaltverzögerung von x (x= 20ms .. 600 s) wird das Ausgangs-Bit nachgeführt. In der Bit-Verarbeitung könnte es für den AVR gut sein
-
Thread
LCD-Display an ATMega8 funktioniert nicht
temp1) { unsigned char temp2 = temp1; LCD_PORT |= (1<<LCD_RS); // RS auf 1 setzen temp1 = temp1 >> 4; temp1 = temp1 & 0x0F; LCD_PORT &= 0xF0; LCD_PORT |= temp1; // setzen lcd_enable(); temp2 = temp2 & 0x0F; LCD_PORT &= 0xF0;
// RS auf 0 setzen temp1 = temp1 >> 4; // oberes Nibble holen temp1 = temp1 & 0x0F; // maskieren LCD_PORT &= 0xF0; LCD_PORT |= temp1; // setzen lcd_enable
-
Thread
Anfängerproblem Assembler 8052
next3 ; springe zu next3, wenn button3 nicht gedrückt ANL TIMECON, #0FDh ; Clear TIEN bit to stop the counter ANL TIMECON, #0FEh ; Clear the TCEN bits to clear the registers(hour,min,sec) mov hour, #0 ; hour auf 0 setzen mov min,#0 ; min auf 0 setzen mov sec,#0
Datenblatt: [[http://www.analog.com/static/imported-files/data_sheets/ADUC832.pdf]] (tabelle S65) BIT | Name | DISCRIPTION [6] | TFH | Twenty-four hour select bit. Set by the user to enable the h our counter to count from 0 to 23.
-
Thread
zugreifen auf einzelne Bits eines unsigned char
[code] unsigned char variable = 0x00; variable |= 0x04; (Bit 2 setzen) variable &= ~0x04; (Bit 2 löschen) variable ^= 0x04; (Bit 2 togglen 0->1 1->0) [/code] oder besser lesbar [code] variable |= (1<<2); (Bit 2 setzen) variable &= ~(1<<2)
bzw #define BIT0 (1<<0) #define BIT1 (1<<1) #define BIT2 (1<<2) ... variable |= BIT2; variable &= ~BIT2; variable ^= BIT2;
-
Thread
Modelbau
nicht mehr verkaufen als Baugruppe. Nicht böse gemeint....... Sarkasmus !!! So denn. Laßt ein Bit übrig
So denn. Laßt ein Bit übrig hihi, der dicke Mann vonm WDR. Wie hieß der doch gleich?
-
Thread
Bitanweisung Wert überschreiben
[c] uint8_t val = 0; uint8_t status = 1; val &= ~(1<< 0); // 0. Bit löschen // 0. Bit ist 0. wurde geloescht val |= status << 0; // 0. Bit setzen // 0. Bit ist 1. wurde gesetzt status = 0; val &= ~(1<< 0); // 0. Bit löschen // 0. Bit ist 0. wurde geloescht val |= status << 0; // 0. Bit setzen // 0. Bit ist 1. wurde NICHT gesetzt [/c]
-
Thread
Buch: Realtime C++
C++-Kompiler wirft den Fehler "reg_set REG_PLL_MULT out of bound", weil er für die PLL-Multiplier-Bits den Wert 60 ermittelt hat jedoch der von dir oben so verschmähte reg_set() wusste, dass nur 4bit für die PLL-Multiplier-Bits vorgesehen sind. Ist nicht schlimm, Benutzter Fehler halt 960MHz anstatt
-Kompiler wirft den Fehler "reg_set REG_PLL_MULT out of bound", > weil er für die PLL-Multiplier-Bits den Wert 60 ermittelt hat jedoch der > von dir oben so verschmähte reg_set() wusste, dass nur 4bit für die > PLL-Multiplier-Bits vorgesehen sind. Dann erklär mal, wie das mit dem von dir "gezeigten
-
Thread
Modulo 60 Zähler
Vollpfosten schnell wieder Geschichte. Also: entweder umsatteln auf BWL oder auf den Hosenboden setzen und lernen.
> Muss für eine Laborübung einen Modulo 60 Zähler „entwerfen“, indem ich > einen vorgegeben 4 bit Zähler extern beschalte (siehe Foto im Anhang)! Tipp: Da steht nirgends, dass du nur /einen/ 4-Bit-Zähler verwenden darfst. Als ersten Schritt könntest du überlegen, wieviele von diesn Zählern
-
Thread
Atmega32 16x2 LCD
veränderst du auch die anderen Steuerpins Gleiches gilt hier auch für den RS-Pin: Du schaltest mit der Bit-Zuweisung den kompletten Port und damit alle anderen Steuerbits. Das ist, gelinde gesagt, eine ganz dumme Angwohnheit. Bits in einem Register/Port setzt man so: [c]Register |= (1 << myBitToSet);[
nicht wieder mit der Rundumschlagmethode! Du willst die 3 Pins auf Ausgang setzen. Die 3 und nur die 3. Die restlichen Bits im DDRB bleiben unangetastet!
-
Thread
Zwei gleiche Codeschnipsel = volkommen verschiedene Ergebnisse
drehrichtung identisch aber direktion bit falsch / direction bit setzen setbit(ho_status,1); if(TCNT3 < OCR3B && checkbit(PINA,PA4) && checkbit(ho_status,1))// wenn Drehrichtung anders herum und direktion bit gesetzt / direction Bit
drehrichtung identisch aber direktion bit falsch / direction bit setzen setbit(az_status,1); if(TCNT1 < OCR1B && checkbit(PINA,PA3) && checkbit(az_status,1))// wenn Drehrichtung anders herum und direktion bit gesetzt / direction Bit
-
Thread
Suche Mitwirkende für Universal-FPGA board
Verzerrungen haben, müssen sie mit der gewünschten Auflösung wachsen. Für ein einfaches Audiosystem in 12 Bit ist die Genauigkeitsgrenze durch die Bits definiert, später - bei 20 Bit aufwärts - wird die Abtastfrequenz selber zum Problem. So genau bekommt man das garnicht mnehr hin, dass man von 24 Bit sprechen kann. Und: Die pipeline-tiefe wächst, mehr Bits bedeuten mehr Multiplier etc. Ein 16 Bit-System bekommt man ein paar mal in einen FPGA- das 24er lässt sich im Grunde gar nicht bauen.
-
Thread
C 'Zeitsteuerung', µS - 24h. Bitte mal ansehen
- Impuls ausschalten (egal ob er an war) - OVF-ISR: - Synchronisations-Flag für Mainloop setzen - Impulspausenzähler runterzählen, bei 0: - Impulspausenzähler auf Startwert setzen, - Impuls-Pin setzen, falls Servo-Stromversorgung aktiv ist - Mainloop: - Synchronisations-Flag
reagiert darauf sowie verändert die entsprechenden Variablen (hochzählen, runterzählen, auf Startwert setzen). ...
-
Thread
Probleme mit 74ACT573
wäre ein Oszilloskop sehr nützlich. Zur Nit muss man sich halt ohne vortasten. Z.B. mit einzelnen Bits, die HIGH oder LOW sind, dann sieht man ggf ein. Fehlersystem.
> Und wenn man einen ATmega324 nimmt, kann man eine der UARTs als SPI > nehmen und dann immer 16Bit auf einmal reinschreiben und die > Übertragungszeit (32 CPU-Zyklen) anderweitig nutzen. Ich habe sehr viele ATmega32, deswegen wollte ich gern bei ATmega32 bleiben. 16 Bit auf einmal reinschreiben
-
Thread
Mit Arduino und Schieberegister 74HCT595
von IC2 verbinden? Vergibt der IC dann so eine Art Busaddresse Versteh ich das richtig? Ich setz den DataPin HIGH. Clock- Takt "wackeln. Jedesmal wenn ich am Clock Takt wackle wird ein BIT mit "1" wenn der DataPin HIGH ist bzw. ein BIT mit "0" hineingeschoben? Beispiel mit einem 8-Bit Schieberegister
Latch DS = Daten Q7' >> DS vom nächsten OE/ fest an GND MR/ fest an Vcc Am Takt wird bei jedem Bit gewackelt, am Latch einmal, wenn alle Bits raus sind. 8 Bit = 8 Takte + 1 Latch 16 Bit = 16 Takte + 1 Latch. usw. mfg.
-
Thread
1-Wire und DS1820 Testprog
Hallo, ich darf den pin nie auf high setzen? du meinst, ich setze immer nur low, die high kommen vom pullup? Die Symbole muss ich mir nochmal angucken. Bei den Delay meinst Du: ldi a1, 480 * xtal / 1000000 / 7 ? allerdings läuft
nächsten Devices benötigt wird. Hast Du mehr als 128 Byte RAM, dann must Du die Routine auf 16-Bit Z-Pointer erweitern. Peter
-
Thread
Brauche Hilfe bei der Auswahl des Timers
); //insert your functional code here... } [/c] In der main brauchst du nur die PWM-Werte setzen. Es gibt jedoch schönere Verwendungen für einen 16 Bit-Timer. gruß avr
wie wärs mit prescaler und nem 8 bit timer?? reichen 8 bit Auflösung?
-
Thread
Interrupt an PIC16F886
call write_ports > >aus dem Interrupt raus nimmst? Vergiss das. Wieso so umständlich? Setz PB7 doch direkt.
Hilfe. Das write_ports benutze ich, weil ich immer Probleme mit meinen Ports hatte. Wenn ich die Bits des Ports einzeln setze, werden die anderen immer genullt. Ich habe nun aber den angehängten Code ausprobiert. Da wird in dem Interrupt kein write_ports mehr aufgerufen und es wird stattdessen gewartet
-
Thread
eigenes Z80 Mainboard - geht das so?
Push-Pull-Treiber, die 20mA sowohl nach VCC als auch nach Ground treiben können. Zudem hat er zwei 8 Bit Ports, d.h. Du brauchst nur zwei von diesen Bausteinen. DRAM würde ich nicht als Steckkarte ausführen, sondern mit auf die Hauptplatine setzen, und zwar dicht an den Prozessor. Denke auch daran,
gefunden und wollte die nicht vergammeln lassen. Ob die passen? Die DRAM für den Z80 müssen einen 8-Bit-Refresh haben. Oder haben deine DRAM einen eigenen Refresh-Generator? Die ...X4 hatten fast alle einen 7-Bit-Refresh. Nimm SRAM.
-
Thread
Port wechseln für LCD-Display
|= (data>>(4-LCD_DB)); // Bits setzen lcd_enable(); } //////////////////////////////////////////////////////////////////////////////// // Sendet ein Datenbyte an das LCD void lcd_data(uint8_t data) { LCD_PORT |= (1<<LCD_RS); // RS auf 1 setzen lcd_out(data); // zuerst die oberen, lcd_out(data<<4); // dann die unteren 4 Bit senden _delay_us(LCD_WRITEDATA_US); } ////////////////////////////
-
Thread
VT100-Terminal (VGA+PS2)
Attribute und Farben. Diese wurden pro Zeichen in einem separaten Byte gespeichert, nämlich 1 Bit für Unterstreichen 1 Bit für Fett 1 Bit für Blinkend 1 Bit für Invers 1 Bit für Rot 1 Bit für Grün 1 Bit für Gelb 1 Bit für Weissichnichtmehr Mit 3 Bit für die
. Für sonstige Attribute hätte man dann noch 4 Bit.
-
Thread
Brown out Detection Fuses im Code setzen
Hallo, folgende Frage: Ist es möglich die Brown out Fuses und das Detection Level im Code zu setzten / löschen oder funktioniert das nur über den Programmer? Würde das gern im Programm machen, weil ich dann nicht jedes Mal das Gerät öffenen muss und man das dann auch im Feld mal ändern könnte. Controller ist ein ATXMEGA128A3. Danke und Grüße, Alex
-
Thread
Interrupt stört Programmablauf und umgekehrt?
korrekt initialisiert hast sollte der auch im Simulator ausloesen. Ansonsten kannst du das entsprechende Bit das den Interrupt ausloest auch in den Perepherieregistern von Hand setzen.
woanders beschrieben sind beim Steppen die Interrupts ausgeschaltet. Also: BP an den Beginn einer ISR setzen und dann Go!
-
Thread
Arduino oder Mikrocontroller - Was ist besser?
tägliche Arbeit (Java Web Services). Für mich ist das einfach ein interessanter Kontrast. AUf der Arbeit setze ich ständig fremde Codes ein, von denen ich nur einen Bruchteil nachvollziehen kann bzw. will. Zu Hause würde ich am liebsten die Bedeutung von jedem einzelnen Bit kennen. Daher auch mein Interesse
DDRB = 0xff; while(1) { PORTB |= (1<<PB1); //Bit setzen _delay_ms(500); // halbe sekunde warten PORTB &= ~(1<<PB1); // Bit loeschen _delay_ms(500); // halbe sekunde warten } return 0;
-
Thread
Hilfe bei Programmierung in Mplab
MAIN CALL ADC ;Schleiferspannung des Poti in Binaerwert CALL DIV16_8 ;(16Bit : 8Bit Ergebnis 8Bit) movf f_divlo,w ;nomierten ADC-Wert kopieren movf PulseWidth ;ISR-Vergleichsvariable fuer Pulsbreite CALL Out_7Segment ;Duty Cycle 0-99 in LED-Anzeige
> CALL ADC ;Schleiferspannung des Poti in Binaerwert > CALL DIV16_8 ;(16Bit : 8Bit Ergebnis 8Bit) > movf f_divlo,w ;nomierten ADC-Wert kopieren > movf PulseWidth ;ISR-Vergleichsvariable fuer Pulsbreite > CALL Out_7Segment ;Duty Cycle 0-99 in LED-Anzeige
-
Thread
ATtiny43U und Reset als IO
8MHz und den 1-Wire Mode an PB0. Und über http://www.engbedded.com/fusecalc/ die richtigen Fuse-Bits setzen. Ich verwende avrdude zum programmieren.
Sorry, der RC Oszillator läuft mit 8MHz schauf auf die Fuse Bits !
-
Thread
C-Prog. (ATmega16) für IR-Sender
Bit setzen: PORTC |= (1 << PORTC0); Bit löschen: PORTC &= ~(1 << PORTC0); Für dein Vorhaben müsstest du jedes der 8 Bits des Registers UDR nacheinander auf dem untersten Bit (PORTC0) des PORTC ausgeben
Tim T. wrote: > Bit setzen: PORTC |= (1 << PORTC0); > > Bit löschen: PORTC &= ~(1 << PORTC0); > > Für dein Vorhaben müsstest du jedes der 8 Bits des Registers UDR > nacheinander auf dem untersten Bit (PORTC0) des
-
Thread
atomic-lib für stm32
Da der AVR nur 8 Bit hat und ein int 16 Bit sind Operationen wie int i++ nicht atomar da sie 2 Speicher Zugriffe erfordern. Der STM32 (ARM) ist ein 32 Bitter und ein int hat 32 Bit und somit ist int i++ atomar. Außerdem
das sieht allles richtig gut aus. Wie muss man das schreiben, um die BASEPRIO temporär zu setzen? Danke und Grüße, Adib.