-
Thread
RP2040 RPI Pico - Frequenz erzeugen
nicht perfekt, aber irgendeinen Tod muss man sterben ;) Ich habe ein Bild von der Architektur der 16-bit-Timer angehängt. Daraus ergibt sich ja diese Formel (aus RP2040 Datenblatt Seite 530). [math]f = \frac{125MHz}{(TOP + 1) \times(DIV\_INT + \frac{DIV\_FRAC}{16})}[/math] [code] Wertebereiche
Sicherheit noch beliebig optimieren. Die Frage ist nur, ob es den Aufwand (und Lesbarkeit) bei 256+16 Durchläufen rechtfertigt.
-
Thread
UART eines Atmega8, kann nichts senden..
Hallo zusammen, Ich habe ein kleines Board mit einem Atmega8, dieses soll über ein HC12-Funkmodul ein paar Bytes verschicken. Der UART gibt jedoch nichts raus, bzw der TX-Pin (D1) bleibt '0' / 0V. Eventuell habe ich ihn falsch konfiguriert oder nutze ihn
ich folgenden Code: Zuerst die Konfiguration: [c] void UART_FT232_Init() { /* UCSRA-Config Atmega8 7654 3210 0010 0000 = Reset-Config |||| |||-MPCM R/W Enable multi processor communication |||| ||--U2X R/W Double the Speed in async Communication |||| |---PE R Parity Error in receive
-
Artikel
DDS
Universell programmierbarer Funktionsgenerator HF-Meßplatz: Einfache Schaltung: 6 Drehschalter - PIC16F84 - AD9833 Berechnung des Frequency Tuning Words Praktische Umsetzung DDS Sinuserzeugung verbesserte DDS, basierend auf Jesper DDS, mit verschiedenen Modulationsarten. Signalgenerator, Grenzen eines Atmega8 SPWM auf Atmega8, bitte um Feedback hinsichtlich Optimierung DDS mit AM Modulation Grundlagen Sinus mit DDS Nicht-Sinus DDS Sinustabelle mit 2 Geschwindigkeiten DDS AD9851 Synchronisierung Zwei 45kHz-Signale
-
Thread
si5351 AN619
Bleib mal auf dem Teppich. Bei meinem Wobbler (der vom Funkamateur) steckt ein AD9951 und ein PIC16 drin. Der Flaschenhals ist hier die serielle Strippe, die die Verbindung zwischen Wobbler und PC macht. Da ist es nötig, sich Gedanken zum Übertragen der Ergebnisse zum PC zu machen. Dennoch reicht die
Einschwingzeit benötigen. Allerdings ist der PIC in Assembler programmiert. Um bei sowas einen PIC16 oder einen ATmega zu überfordern, muß man sich schon ziemlich dämlich anstellen. W.S.
-
Thread
Auswahl geeigneter Hardware nach langer Auszeit
entdeckt. Die IDE heißt jetzt anscheinend MPLAB X und da steht etwas von 60 Tage Testversion für C16. Muss man danach zahlen oder gibt es auch eine kostenlose Version, wenn man das wie ich nur als Freizeitbeschäftigung betreibt? Die Antwort gilt dann vermutlich auch für den ATMEGA4809, für den es ebenfalls
entdeckt. Die IDE heißt jetzt anscheinend MPLAB X > und da steht etwas von 60 Tage Testversion für C16. Muss man danach > zahlen oder gibt es auch eine kostenlose Version, wenn man das wie ich > nur als Freizeitbeschäftigung betreibt? Die Antwort gilt dann vermutlich > auch für den ATMEGA4809, für
-
Thread
Mainboard Dell defekt durch Arduino
Kondensatoren untersucht, die gleich neben dem eingekreisten USB sind. Der Kondensator direkt daneben (47nF 16V) hat 2 Ohm. und der 10 mm weiter ebenfalls 47nF 16V hat ne offene Leitung. It das normal?
Schaltplan hab ich gepostet am 08.08 um 16:08 Uhr
-
Thread
[V] Netzteil nostalgisch leicht defekt
für die höheren Spannungen kleiner Transformator für 5V / 12V Anzeige erfolgt mit einem Atmega8 auf 2 x 16 LCD Warnton bei Kurzschluss 0 - 30V ca. 3A mit regelbarer Strombegrenzung * 0 - 30V ca. 3A mit regelbarer Strombegrenzung 12V konstant mit 7812 5V konstant mit 7805 12V an Cinchbuchse
Dasselbe gibt es auf einer anderen Plattform schon für 29€ zzgl. Versand. Wenn es den Quellcode zum ATMega gibt, wäre ich vielleicht interessiert.
-
Artikel
AVR Transistortester
Eigenschaft, wie sie von Markus Frejek entwickelt wurde. Die wichtigsten Eigenschaften: Arbeitet mit ATmega8, ATmega168, ATmega328 oder auch ATmega644 und ATmega1284 Prozessoren. Anzeige der Messergebnisse auf ein LCD mit 2x16 oder 4x20 Zeichen. Statt dem 2x16 Zeichen LCD kann auch ein graphisches Display
Frejek. J'aimerais citer ici les caractéristiques les plus importantes : Utilisation des processeurs ATmega8, ATmega168, ATmega328 ou alors ATmega644 et ATmega1284. Affichage des résultats mesurés par un afficheur LCD de 2x16 ou 4x20 caractères. Au lieu d'un afficheur LCD à 2x16 caractères, on peut aussi
-
Thread
Sind das Blitzeinschläge im Wasserfalldiagramm?
Kann auch mit einem AtMega detektiert werden: https://www.ramser-elektro.at/blitz-o-shield-der-gewitter-detektor/
MaWin schrieb im Beitrag #7153013: > AtMega ist hübsch, geht aber sicher auch mit einem Vorsatz an der PC-Soundkarte, zB Direktmischer oder umfunktionierter DCF77-Empfänger.
-
Thread
ADC-Spannung korrekt berechnen?
Analogie ergibt sich nur, wenn man das Runden mit üblicher Integer-Arithmetik betrachtet Wenn ich 16 8-Bit-Werte addiere und durch 16 Teile, dann runde ich immer ab. * Beispiel A: 15*2 + 1*1 = 31. 31/16 = 1, nicht 2 * Beispiel B: 15 * 200 + 1^*199 = 3199. 3199 / 16 = 199,nicht 200 Darum
schlecht bleibt. Das analogon hierzu ist jedoch schwerer zu verstehen und betrifft auch nicht die 16, sondern die 8 Bit: Das Ergebnis (die Summe) mit 256/255 multiplizieren (spreizen). Aus 31/16 wird dann 31*256/(16*255) = 7936 / 4080 = 1. Aus 3199 / 16 wird dann 3199*256/4080 = 200. Ds ist
-
Thread
32 Bit MCU gesucht
ist. Kann mir jemand vielleicht MCUs empfehlen, die von der Peripherie her das gleiche wie der Atmega328 haben (oder mehr) und sich ähnlich einfach handhaben lassen?
Sekunde benoetigst du ? Mehr als 3 pro Sekunde sind sowieso zu nervoes fuer den Benutzer. Bleib beim ATMega. Allenfalls nicht blockierend programmieren, dann wird's auch schneller.
-
Thread
Widerstandsmessung 0-24000 Ohm
genau (auf 0.1 Ohm), darüber reichen mir theoretisch 100Ohm Schritte. Der AD-Wandler hängt an einem Atmega128-16AU und der widerum an meinem LCD-Display. Da ich mein Konstrukt recht häufig nutzen werde soll es auch was abkönnen, also bei -20°C und bei +60°C(wenns mal im Auto liegen bleibt) funktionieren
-
Thread
Einplatinencomputer mit Linux für Heizungssteuerung und mehr
Lohnt Raspi etc überhaupt? Ist das wirklich einfacher als alles direkt mit einem ATmega oder STM32 zu machen? ICh habe noch nicht mit Rasberry und co gearbeitet, aber irgendwie auch gar nicht das Verlangen danach. Daher eine ernstgemeinte Frage
das aufteilen: die eigentliche Heizungssteuerung (Brenner, Mischer, Pumpe) mit so etwas wie einer UVR16x2, alles andere mit Raspi/NUC/was auch immer. Oliver
-
Thread
Diskettenlaufwerk ansteuern
für dich behalten. Entscheidend ist doch immer, dass es funktioniert. Dazu vielleicht noch einen 16C50 von GI.
lesen und schreiben geht mit einem AVR Prozessor ohne grösseren Handstand. Ich hatte damals einen Atmega1284P genommen, weil der hat genug RAM und läuft auch mit 20MHz. Später fand ich dann heraus 16MHz reichen völlig und man könnte es sicher auch mit weniger RAM machen (habe ich dann nicht mehr ausprobiert
-
Thread
Hilbert Transformation im uC berechnen
to 4. Block i1 =allpass(delay_i0,31418,delay_i1); // coeff = ( ( 0.6923877778065 ) ^ 2 ) << 16 i2 =allpass(i1, 57434,delay_i2); // coeff = ( ( 0.9360654322959 ) ^ 2 ) << 16 i3 =allpass(i2, 64002,delay_i3); // coeff = ( ( 0.9882295226860 ) ^ 2 ) << 16 *i_out=allpass
,48040,delay_q2); // coeff = ( ( 0.8561710882420 ) ^ 2 ) << 16 q3 =allpass(q2 ,61954,delay_q3); // coeff = ( ( 0.9722909545651 ) ^ 2 ) << 16 *q_out=allpass(q3 ,64920,delay_q4); // coeff = ( ( 0.9952884791278 ) ^ 2 ) << 16 } [/
-
Thread
2112 RAM für SC/MP Reparatur gesucht
hocken und eingelötet sind > > Dabei könnte etwas Schleiferei helfen. Ich musste bereits einen ATmega32 > kürzen, weils sonst nicht passte. Der 2112 ist in DIP-16, der 2114 in DIP-18.
H. H. schrieb im Beitrag #7140275: > Der 2112 ist in DIP-16, der 2114 in DIP-18. Und?
-
Thread
AM2320 und I2C
Hallo Leute, ich habe hier einen AM2320 Temperatur&Feuchte-Sensor an einem ATMEGA88. Ich bring den Sensor einfach nicht zuverlässig zum Laufen. Sporadisch hat es schon geklappt, daher glaube ich, dass es nur an einer Kleinigkeit liegen kann. Ich vermute, dass es am WakeUp-Befehl
ansetzen kann, dass ich SCL und SDA vom Timing auch so hinbekomme?? Beim Adruino klappts auf einem ATMEGA328 mit dem Timing ja auch. Da sollte um ATMEGA88 nicht so viel anders sin.
-
Thread
autonomes fahren tesla vs andere
vllt. nur nach vorne kucken. Dann noch mal das gleiche für links und rechts und hinten. Das wäre dann 16 Kameras und sicher gibt es noch dabei Bereiche, die noch nicht erfasst werden, also vllt. kommen da noch 10 dazu. Eins darf man bei den Kameras nicht vergessen, eine Belichtungszeit von einer Sekunde
ist). Gut abgesehen von Deiner Argumentation, die ist so vorhersehbar die kann ich mit einem ATmega8 nachbauen.
-
Thread
Atmega32 16Bit PWM oder 10 Bit?
Ich hatte es bislang immer ao verstanden, das der Atmega 32 ein 16Bit PWM hat. Ich nutze die fertige LIB von Mikroe und kann nur Werte von 0-1023 nutzen, darüber hinaus startet er wieder bei 0. Sollte der Wert nicht bis 655xx gehen? ODer bedeutet es
KArl Fred M. schrieb im Beitrag #7134334: > Ich hatte es bislang immer ao verstanden, das der Atmega 32 ein 16Bit > PWM hat. Er hat zwei 16-Bit-PWM-Kanäle über Timer1. Sprich: gleiche PWM-Frequenz, aber getrennte Dutys für die Kanäle. > Ich nutze die fertige LIB von Mikroe Scheiß' auf "
-
Thread
Schieberegister ersetzen
Falls der AVR die 1MHz selber erzeugen darf, ginge auch die UART als gepufferter SPI-Master (ATmega88).
aber Mr. AVR meint, das wäre in ASM einfach. Ich bezweifle, daß man es überhaupt hinbekommt, auch mit 16 MHz CPU-Takt.
-
Thread
Modellbauservo 3,5V zu 5V Steuersignal
Mit einem Atmega168 ;) Ich würde einfach mal probieren, ob das Servo nicht auch mit 3,3V am PWM-Eingang klarkommt. Oliver
Danke für den Schaltplan! Ich habe hier diese beiden NPN Transistoren rumliegen: BC 547A und BC 337-16, welchen sollte ich dafür an besten nehmen?
-
Thread
Messender für Radioreparatur gesucht
OpV zum Bilden des Ausgangssignals) - zwei HF-Detektoren, einer logarithmisch, einer linear - PIC16 (zum Ansteuern) - Interface zum PC über eine Serielle Im Original hat das Ding nur einen Meßeingang und der hat 50 Ohm Impedanz. Kann man aber mit Tastköpfen anders machen. W.S.
dir beispielsweise uSDR an – ich bin außerordentlich erstaunt, wie viel SDR man in einen simplen ATmega328 bekommen kann.
-
Thread
Was macht diese Lichtorgel Schaltung genau?
Beat-Detektor realisieren? Das geht sogar ziemlich einfach: http://www.sprut.de/electronic/pic/16bit/dsp/fft/fft.htm#phasenmessung ADC etwas übertakten und gleichzeitig als Systemtakt für die 'main()-Schleife' nehmen. Ich hatte vor ein paar Jahren für vier Kanäle einen ATmega8 dazu verwendet
-
Thread
PIT bei ATMEGA4809 macht nicht was ich gerne hätte
Hallo Leute, Ich bau grad ne lorawan Platine mit ATMEGA4809, RFM95 und 2 wasserfesten ds18b20 um Bodentemperaturen zu messen. Ich nutze die mcci lmic library und deswegen Arduino. Dabei gehe ich gerade die gesamte Software durch um die Wachzeit des uC
//Rx read 9 bytes for (int i = 0; i < 9; i++) { data[i] = ds.read(); } int16_t convert = (data[1] << 8) | data[0]; float convertToFloat = ((float)convert) / 16; return convertToFloat; } [/c]
-
Thread
Wechsel von ATmega8 zu ATmega88 Probleme beim PWM
Hallo zusammen, wir haben eine Motorsteuerplatine, bei er jetzt der ATmega8 durch einen ATmega88 ersetzt wurde (wegen Kosten / Verfügbarkeit). Durch den Wechsel wird ein Programmupdate notwendig sein. Von dem alten Program haben wir den BASCOM-Code, aber keinen BASCOM
sollte: - BASCOM herunterladen - BASCOM installieren - Quelltext nach Änderung für den neuen Atmega88 compilieren - Datei auf den neuen Atmega88 übertragen - einschalten - freuen! MfG von der Spree Frank
-
Thread
ungewollte komische interne-Verspätung von dem Microcontroller ATMEGA32A
Vielen Dank für die Umfangreiche Webseite. Ich benutze einen ATMEGA32A mit einem 16MHz extern Oszilattor für ein Projekt für meine Bachelorarbeit. Das Projekt ist ein Schaltung entwürfen, um ein extern-Signal zu lesen und später drauf antworten zu können(Simulationsgerät
HIGH Pegel erreicht, geht es auf Low. Saad Y. schrieb im Beitrag #7124235: > Ich benutze einen ATMEGA32A mit einem 16MHz extern Oszilattor für ein > Projekt für meine Bachelorarbeit. Warum benutzt so ein uraltes Modell?
-
Thread
AVR128DA28 9600Baud mit 24MHz
24000000UL #define BAUDRATE0 9600 //Baudrate #define USART0_BAUD_RATE ((float)(F_CPU * 64 / (16 * (float)BAUDRATE0)) + 0.5) void init_uart(void) { //UART0 PORTA.DIR &= ~PIN1_bm;//RXD PORTA.DIR |= PIN0_bm; //TXD USART0.BAUD = (uint16_t)USART0_BAUD_RATE; USART0.CTRLB |= USART_TXEN_bm
NARX schrieb im Beitrag #7122598: > Auf meinem ATmega4809 funktionieren 20MHz mit 9600b, möchte das später > auch mal probieren. Ob die Kommunikation funktioniert hängt von der Gegenstelle ab, die ja auch einen rechnerischen Fehler bei der Baudrate
-
Thread
Arduino DMX Dimmer
Arbeitsweise. Das geht am einfachsten mittels Timer und dazu passendem Interrupt. Nimm Timer1, der ist 16 Bit und frei. In deinem zero-Cross Interrupt legst du fest, nach welcher Zeit der Timer1 einen anderen Interrupt (Output compare) auslösen soll. DORT wird dann der TRIAC mit einem kuzen Puls gezündet
, also RARs öffne ich nicht. Und "einem Arduino", wie schön, dass es nur einen gibt. Offenbar Atmega2560 an 5V, das teuerste was es gibt und gnadenlos überdimensioniert für die simple Aufgabe. 2 Sketche zusammenzukopieren nennt man übrigens nicht programmieren, sondern copy&paste. Die Schaltung
-
Artikel
MMC- und SD-Karten
/MMC Seite) Holger Klabundes FAT16/32 mit Beispielen für AVR MMC/SD und CF, LPC2k mit SPI libfat aus dem devkitpro-Projekt u.a. LFN-Unterstützung. MMC-Ansteuerung mit FAT16 von Ulrich Radig DOSFS Free FAT12/FAT16/FAT32 Filesystem "DOSFS
Floppy Emulator von Retromaster (PIC32 @ 80 Mhz, 16 Mb SDRAM) Weblinks. Difference-between-slc-mlc-tlc-3d-nand
-
Thread
Wieso spricht man bei den 8 Bit-AVRs von RISC?
ziemlich gelungen und hatte noch nie ein größeres Problem damit. > Die neueren AVR128Dx kommen nun mit 16kB. 16kB bekommt man auch im bastelfreundlichen ATMega1284. > Welche Deiner AVR Anwendungen braucht warum wirklich mehr? Es gab z.B. Entwicklungen eines Webservers auf Basis eines ATMega644. Der
mal auf dem Dreirad angefangen, Schlechter Vergleich! Ben B. schrieb im Beitrag #7119648: > 16kB bekommt man auch im bastelfreundlichen ATMega1284. ... der vom Gehäuse allerdings viel größer ist und dem auch sonst viele interessante Features der Neuen fehlen. Ben B. schrieb im Beitrag #7119648
-
Thread
(V) Aufräum Aktion
. Willem Eprommer (teil)defekt. 24C64 ok. 27C256 NICHT! 10€ 3. TL866CS (teil)defekt. 24LC64 + ATmega328p ok. 27C256 NICHT! 10€ (Hardwaretest liefert Fehler!) 4. PC Duino in OVP. Ubuntu 12.04 installiert. 16GB uSD für Datenaustausch ist dabei. 15€ 5. Eproms 27C256/512 (ca. 24 Stk). 25€ 6.
-
Artikel
8051 Timer 0/1
starten schreibt man also einfach: Beim Überlauf (im 8-Bit Mode nach 2^8 = 256 Maschinenzyklen, im 16-Bit Mode nach 2^16 = 65536 Maschinenzyklen) wird das Überlauf-Flag TF0 bzw. TF1 gesetzt. Damit erkennt man, dass der Timer überglaufen ist. Bei der Bearbeitung muss man das Flag zur Bestätigung löschen
Tu_Was(); kommt jetzt also P2_0 = ~P2_0; hin. Wie groß ist jetzt die Blinkfrequenz? Der Timer läuft im 16-Bit Mode. Also ist die Zeit zwischen 2 Überlaufen 2^16 Maschinenzyklen. Der dauert bei den meisten 8051-Controllern 12 Oszillatortakte. Mit einem 12MHz Oszillator kommt man also auf genau 1µs pro Maschinenzyklus
-
Artikel
OneBitSound
werden. Daher kann man im Vergleich zu den 16 Bit breiten Werten sagen, dass 0 bei der Ein-Bit-Klangerzeugung für steht, so wie 1 für . Man betrachte was mit einer Sinusschwingung geschieht, wenn diese mit einer Ein-Bit-Schwingung approximiert wird
Objects Noah Vawter Video zum Artikel. Video (Englisch) Siehe auch. 1-bit audio example program for Atmega Klangerzeugung
-
Thread
Arduino mit Pt1000 und 400°C Schaltung
schrieb im Beitrag #7117410: > Du brauchst einen externen A/D-Wandler, dann kannst du gleich einen 16 > oder 20 bit A/D nehmen und mit ihm einen 1k0.05% Vergleichswiderstand in > Reihe mit deinem Pt1000 vermessen. Ich bezweifle, dass sie in der Lage sein werden eine Schaltung aufzubauen, die 16
Da ist die "Hausinterne" Skalierung auf 16Bit beim Raspberry, bzw. Beim Phyton, damit die ADC-Lesefunktion auf allen Boards funktioniert, hat man das so gemacht. Statt der ADC-Read16 kann man wohl auch auch ne andere Routine bemühen, die tatsächlich
-
Thread
Von 12 auf 3,3 oder von 5 auf 3,3?
mal einen Ds18B20 zur Temperaturkontrolle neben einer 100W LED und eine Lüftersteuerung mit einem Atmega gemacht. Sensor und die per PWM angesteuerte Power LED teilten sich 1,5 Meter mehradriges Kabel. Nach einem Tag war der DS18B20 tot! Bis ich oben vorgeschlagene Verschaltung nachrüstete ;-)
nicht benötigst, dann kannst du dessen Verbindung auf der Unterseite auftrennen und mit den 3,3V an C16 verbinden.
-
Thread
Microchip SAMD (M0+) bzw. SAML10/11 (M23) Erfahrung
Ausserdem gibt es noch immer kein offizielles Arduino dafür oder? Stattdessen haben sie den ATMega4809 genommen der zuerst einen DAC haben sollte und nun doch keinen hat ...
horrenden Preis will, > legen die das eben mal wieder auf. Warum können sie dann aktuell keine ATMEGA2560 herstellen und bremsen alle SPS Hersteller aus: https://www.mouser.de/c/?q=atmega2560
-
Thread
i2c & LCD stellt sich quer :/
Datenblatt sein wenn die 3 A Pins offen sind) Offen?! > SCL und SDA sind an Port 4 & 5 des Atmega328p angeschlossen. > Beide Pins sind mit einem 4700k R gegen VCC beschaltet. Das sind 4.7 MΩ, ein bisschen viel.
daher kein Arduino-boy und programmiere seit Jahren die ATMEL AT89C,S Serie in Assembler und den ATMEGA8,16,32,168p sowohl in Ass als auch in C. Auch meine FernAnzeige (LCD mit PCF8574A) hatte bisher funktioniert. Erst mit dem Erwerb der sog. Arduino LCD Anzeige auf Basis des I2C-Adapters FC-113 macht
-
Thread
Füllstandsberechnung
leer, also 0%; bei Legionellenfkt. = 200% Wie würdet ihr sowas ausrechnen? Es sollte aber auf dem ATmega berechenbar sein. Danke für Vorschläge
0]. Sei die Temperatur des obersten Sensors t[7]. const uint8_t zahl=8; const uint8_t fakt=16; const int16_t limo=55*fakt; //880 const int16_t limu=35*fakt; //560 const int16_t fak2=((limo-limu)*zahl+50)/100; //hier: 26 int16_t t[zahl]; // in 1/16°C direkt vom DS18B20 ausgelesen
-
Thread
Floating point Geschwindigkeit
ausschliesslich Ganzzahlarithmetik, obendrein nur zu einstelligem MHz Takt. Da macht son Microchip ATMega doch eine ganz jute Fijur her.
zuerst auf 64 Bit > erweitert und dann multipliziert, mit der Folge, dass statt der > notwendigen 16 Multiplikationen 64 ausgeführt werden Welche Plattform, welcher Compiler?
-
Thread
Was macht der Compiler hier?
, wieso nutzt der Compiler kein LDS R24,0xBC bzw. LDS R24,TWCR? Warum der Umweg über Z? Kann der ATMega328 kein LDS? Das würde mich sehr wundern. Direkt mal ins Datenblatt geschaut, er kann LDS (load direct from SRAM).
> ich habe vor Kurzem angefangen Assembler mit einem ATMega328P zu lernen. Wozu lernt man heute noch diese Write-Only Programmiersprache?
-
Thread
Arduino / H Brücke L298N / 24V dc Motor brummt
B11111000 | B00000101; // 61Hz //----- PWM frequency for D9 & D10 ----- //Timer1 divisor = 2, 16, 128, 512, 2048 //TCCR1B = TCCR1B & B11111000 | B00000001; // 31KHz //TCCR1B = TCCR1B & B11111000 | B00000010; // 3.9KHz TCCR1B = TCCR1B & B11111000 | B00000011; // 490Hz (default) //TCCR1B
B11111000 | B00000101; // 30.6Hz //----- PWM frequency for D3 & D11 ----- //Timer2 divisor = 2, 16, 64, 128, 512, 2048 //TCCR2B = TCCR2B & B11111000 | B00000001; // 31KHz //TCCR2B = TCCR2B & B11111000 | B00000010; // 3.9KHz //TCCR2B = TCCR2B & B11111000 | B00000011; // 980Hz TCCR2B
-
Thread
Atmega8 PORTD7 Problem
SRAM-Grösse Okay, wenns nicht portabel sein soll, kann man das so machen. Besser wäre: >> ldi r16,high(ramend) ;Stack Init >> out sph,r16 >> ldi r16, low(ramend) >> out spl,r16 Das kann man auf jedem AVR Controller verwenden (mit mindestens 256 Byte RAM, die kleineren haben kein SPH-Register
[Interrupttabelle wenn man sie braucht] >> reset: >> [Hauptprogramm hier] >> lds r16,temp1 >> sts temp2,r16 >> deadloop: rjmp deadloop >> >> ;---[SRAM labels]--- >> .dseg >> temp1: .byte 1 >> temp2: .byte 1 >> buffer: .byte 256 > yy: > zz: > uu
-
Thread
ATMEGA32 ADC misst scheinbar nicht vollen Spannungsbereich
: 0 */ USART_init(); USART_putstring("Mainprogramm\n\r"); if (adctest) { uint16_t adc_value = 0; char buffer[5]; float voltage = 0.0; ADCSRA |= ((1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0)); // 16Mhz/128 = 125Khz the ADC reference clock ADMUX |= (1 << REFS0)
wählt, kann man auch einen 0,1µF an AREF hängen. Es sollte hier keine Rolle spielen, aber beim ATMega32 können 99% aller User auch JTAG abschalten, falls man mal Port C benutzen wollte.
-
Thread
Pin Change Interrupt wird nicht getriggert beim Microchip Studio
--------------+ +--------------------------------+ |; Initialisierung | | lds r16, PCICR | | ori r16, 2 | | sts PCICR, r16 | | lds r16, 0xff | | sts PCMSK1, r16 | | sei
isr .org INT_VECTORS_SIZE*2 PCINT0_isr: nop ; * Breakpoint reti ; ... lds r16, PCICR ori r16, 0b00001111 ; Einfach mal testweise alle PCINT anschalten sts PCICR, r16 lds r16, 0xff sts PCMSK0, r16 sei end: jmp end ; * Breakpoint [/code] Dennoch wird
-
Thread
BUZ11 parallel als regelbarer 200 Watt Widerstand bis 20V 10A
Panel bei BUZ11-Last) und I (Spannungsabfall über Source-R-BZ11), gemessen mit einem ADC des ATmega8. Die Steuerung der Gatespannungen (BUZ11 als Last) per PWM des AVR.
Bernhard S. schrieb im Beitrag #7101553: > gemessen mit einem ADC des ATmega8. Naja da ist der ADC vom ATmega8 nicht gerade so das richtige für das Vorhaben, da dieser nur einen 10-bit ADC hat. Hier mal ein paar Eckdaten wie man es machen könnte z.B. mit einem ADS1115