-
Thread
Neue AVR Familie - AVR-DA
es gibt eine neue AVR-Familie: AVR-DA. Mehr dazu: http://www.microchip.com/wwwproducts/en/AVR128DA28
S.R. schrieb: > Also wird's ein AVR ... (In meinem Fall ein > Atmega1284P, wegen der zweiten UART.) Da wäre dann, um auf das ursprüngliche Thema zurückzukommen, vielleicht ein Blick ins Datenblatt des AVR128DA28 lohnend, mit seinen 3 USARTs und 2 SPIs.
-
Thread
Suche Mikrocontroller mit 16Bit ADCs und DACs
Serienersatzschaltbild ). Deshalb könnte ich mir gut vorstellen, dass man das Kennlinienproblem auch mit einem Atmega328 lösen könnte. Hier mein erster Versuch mit einem Arduino Uno und 6 x Hühnerfutterbauelementen. Das Ding muss man vielleicht noch etwas kalibrieren ...
c-hater schrieb im Beitrag #6245219: > Nein, gibt es nicht. Doch. Beispiele: PIC24FJ128GC006 STM32F3
-
Thread
[V] LIDL Multimeter, OpenWRT Board, Mediatek LinkIt Smart + Duo (Arduino Yun) und Dreamcast VMU
OVP. Mediatek MT7688 CPU mit 580 MHz. GPIO, I2C, I2S, SPI, UART, PWM und Ethernet. 32MB Flash und 128MB RAM. Läuft auf Linux-Basis. 5) Mediatek LinkIt Smart 7688 Duo: 22€ Neu in OVP. Wie 4. aber mit eingebautem ATmega32U4. Dieses Board ist meines Wissens nach kompatibel zum Arduino Yun. Ich
OVP. Mediatek MT7688 CPU mit 580 MHz. GPIO, I2C, I2S, SPI, UART, PWM und Ethernet. 32MB Flash und 128MB RAM. Läuft auf Linux-Basis. 5) Mediatek LinkIt Smart 7688 Duo: 20€ Neu in OVP. Wie 4. aber mit eingebautem ATmega32U4. Dieses Board ist meines Wissens nach kompatibel zum Arduino Yun.
-
Thread
AVR Ausgang nach Impulszeit Ausschalten
Multitasking"-Version ähnlich wie millis() (Blink without Delay) bei der Arduino IDE. Verwendet wird ein atmega328P. Das Problem bei Arduino war, das das ganze sehr Speicherintensiv wurde. 128 unsigned long Variablen brauchen nunmal ihren Platz von 512Byte. Also 1/4 des Verfügbaren Speichers. Die Libaries
Ste M. schrieb im Beitrag #6241353: > Allerdings bräuchte ich dann doch auch wieder ein Array mit 128 > Variablen, da die Ausschaltverzögerung ja jeweils für alle 128 Ausgänge > autark sein soll. Richtig. Man braucht für 128 *unabhängige* Zeiten auch 128 Speicherzellen (Variablen). Der Mikrocontroller
-
Thread
DOGM163S-A Schnäppchen bei Pollin
Joe G. schrieb im Beitrag #62556 > Beitrag "Re: Noch ein Taschenrechner auf ATMega Basis" Der ist cool. Danke. Mal sehen ob es einen Komponententester gibt. Der große Transistortester.
Transistortester. Da ist ein Grafikdisplay aber passender. Selbst der "kleine" Transistortester nutzt ein 128x64 Grafikdisplay. Und die schematische Darstellung des Bauteils ist ein echter Mehrwert.
-
Thread
Atmega 1284P ADC-Multiplexer
Guten Tag und hallo, ich benötige Hilfe. Ich nutze bei einem Atmega 1284P alle 8 ADC-Kanäle. An ADC 0 und ADC 1 habe ich jeweils einen Sharp IR-Distanzsensor geschaltet. Die Daten vom ADC 1 sind plausibel, von ADC 0 werden die Werte addiert und laufen somit in meinen
<<ADSC); } // Starte den ADC // Aktiviere ADC Konvertierung im Einzelschritt Modus mit F_CPU/128 ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0) | (1<<ADIE) | (1<<ADSC); ADMUX = REF_VCC; [/c]
-
Thread
atmega328 - arduino bootloader flashen - doppelt belegte Pins
Einwürfe oder Verbesserungen oder > erkannte Fehler auch mehr als dankbar. nehme doch dann einen ATmega1284p 2 UART einer zum flashen über Bootloader, ein UART für CAN weiterer Vorteil, mehr flsh 128KB und mehr SRAM 16KB ist angenehmer in der Entwicklungsphase, der Mehrpreis für den Chip ist bei
der Vorteil gegenüber dem atmega328p ist ja doch gewaltig!
-
Thread
Anfänger Schieberegister Probleme
gebaut die in der Anzeige nur aus LED's besteht. Das Programm dazu habe ich in Assembler für den ATmega8 geschrieben. Nachdem die Stunden und Minutenanzeige nun fertig ist und funktioniert, möchte ich gerne einen Sekundenkreis der aus 60 LED's besteht implementieren. Hierzu möchte ich das Schieberegister
müssen ausgegeben werden Schiebe_1: rol temp1 ; 1,2,4,8,16,32,64,128 bis Carry Flag brcs Schiebe_One ; Carry gesetzt? -> weiter bei Schiebe_One cbi SCHIEBE_PORT, SIN ; PB3 eine 0 auf PIN 14 (serieller Dateneingang) vom 595 rjmp Schiebe_Clock
-
Thread
Kann man die I2C Adresse Dynamisch ändern (ATmega128)?
Bausteine wo man mittels High und Low die I2C Slave Adressen ändern kann. Geht das mit einem z.b. ATMega128 auch? Also könnte man z.b. 2 Jumper machen und wenn der Jumper dann z.b. gesetzt ist, und der PIN dann auf LOW ist, hat der ATMega die I2C Adresse 1 und wenn der High ist dann die Adresse 2..
Bausteine wo man mittels High und Low die > I2C Slave Adressen ändern kann. Geht das mit einem z.b. ATMega128 auch? > > Also könnte man z.b. 2 Jumper machen und wenn der Jumper dann z.b. > gesetzt ist, und der PIN dann auf LOW ist, hat der ATMega die I2C > Adresse 1 und wenn der High ist dann die Adresse
-
Thread
Testplatine für ATmega 2560 - Kondensatoren an jedem VCC/GND Paar ?
www.issi.com/WW/pdf/61C256AL.pdf und einem HC573 https://scienceprog.com/adding-external-memory-to-atmega128/ Dann hättest Du 40k. Ports A, C und G wären dann schon belegt und bräuchten nicht mehr nach draußen. fchk
Bit-Adressen nicht mehr ansprechen und entsprechende Verrenkungen sind nötig. Das fängt bereits beim 128er an; da reicht ein 16-Bit Programcounter noch (wegen Word-Adressen), aber Daten im Flash brauchen bereits 24-Bit-Adressen. Meiner Meinung nach sind die AVR bis 32kB Flash (möglichst mit im Datensegment
-
Thread
ADC channel via ADMUX ändern?
ADCSRA |= (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); // Activate ADC with Prescaler 128 --> 8Mhz/128 = 62.5kHz ADMUX |= (1<<REFS1) | (1<<REFS0); // Interne Vref beutzen ADCSRA |= (0<<ADLAR); // left aligned = 1 } void ADC_read(char
ATMEGA 328? Änderungen an ADMUX wirken sich erst bei der nächsten Konvertierung aus, wenn bereits eine Konvertierung läuft, sonst erst bei der übernächsten. Wenn ADMUX geschrieben wird, landet das erst
-
Thread
Sekunden-Task mit CTC-Timer (Atmega88)
Hallo zusammen, bestimmt habt ihr eine Idee, was ich hier falsch mache: Ziel: Auf einem Atmega88 mithilfe des Timer0 im CTC-Modus jede Millisekunde einen Compare Match - Interrupt auslösen und somit die Basis für zyklisch aufzurufende Funktionen bilden. Der Interrupt jede Millisekunde klappt
Das macht er doch längst so! foobar schrieb im Beitrag #6211809: > Insb bei Zeiten unterhalb 128 > Timercounts kann man atomar das LSB des Timers lesen und braucht nicht > mal cli/sei. Damit kann er TO nichts anfangen, weil er 1000 Millisekunden braucht. Die passen in das LSB nicht rein.
-
Thread
Ampelschaltung PORTC
Welchen AVR hast Du eigentlich genommen? Bei den größeren AVRs (ATMega32 z.B. und aufwärts) ist standardmäßig JTAG auf PortC aktiviert und belegt dort ein paar Pins. Wenn man die verwenden möchte, muß das erst abgeschaltet werden.
for(int i=0; i<=7; i++) { PORTD ^= 0x80; _delay_ms(Zeit_2); } PORTD &= ~(128); PORTB |= (1<<2); _delay_ms(Zeit_1); PORTB &= (0<<2); } return 0; }[/c]
-
Thread
Datei auf SD-Karte via AVR auf Computer übertragen
einen Levelshifter für RxD/TxD. Steht aber alles HIER: NEO-7_DataSheet_(UBX-13003830)-1.pdf und ATmega8U2/16U2/32U2 - Complete Datasheet
und da: W25Q128JW_RevB_11042019-1761358.pdf das Flash darf auch nur 3V3 ("W25Q128JVSIM")! Das alles mit Levelshiftern vollzukleistern ist aber sicher nicht zielführend: also darf VCC nur 3V3 sein. Was dann
-
Thread
WD-Reset und Reset Pin erzeugen nicht das selbe wie Power off
Guten Abend, ich habe ein für mich unerklärbares Phänomen. Ich habe einen AT90Can128 auf dem ich einen CanopenStack laufen habe. Nun wenn ich ein Reset Node empfange und mittels Endlosschleife den WD zubeißen lassen will dann Startet der MC nicht mehr.Das selbe wenn ich den Reset Pin
nicht zurücksetzt. Durchaus möglich! Wobei ich mir aber recht sicher bin, dass es keinen AT90Can128 Arduino gibt.
-
Thread
ATmega328 CLKDIV8 geht nicht
weniger Leistung als 16 MHz und den Quarz brauche ich nicht für die Genauigkeit. Wenn ich den 128 kHz Oszillator auswähle, geht mein Tackt auf die 128kHz runter, aber auch hier geht der CLKDIB8 nicht. Also auf 16kHz geht der Pin nicht runter. Auch meine PWM Timer ändern ihren Tackt nicht, egal
Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.4.351\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" [/code]
-
Thread
Arduino Uno / Atmega 328P Sinus PWM
, 128, 147,}; int lookUp2[]= {128, 202, 249, 249, 202, 128, 53, 6, 6, 53, 128, 202, 249, 249, 202, 128, 53, 6, 6, 53, 128, 202, 249, 249, 202, 128, 53, 6, 6, 53, 128, 202, 249,
202, 128, 53, 6, 6, 53, 128, 202, 249, 249, 202, 128, 53, 6, 6, 53, 128, 202, 249, 249, 202, 128, 53, 6, 6, 53, 128, 202, 249, 249, 202, 128, 53, 6, 6, 53, 128, 202, 249, 249,
-
Thread
AVR Library für 128x64 GLCD
Hallo, es geht um die Ansteuerung eines 128x64 GLCD (vermutlich ST7920, habe keine Doku*) durch einen ATmega328P (auf Arduino Nano Board), also so eines: https://www.ebay.de/itm/5V-128x64-12864-LCD-Display-Modul-Blau-Hintergrund-Grafik-Matrix-fur-Arduino
Fabian schrieb im Beitrag #6192074: > es geht um die Ansteuerung eines 128x64 GLCD (vermutlich ST7920 ... > Trotz der Suche nach einer passenden C-Library bin ich im Netz nicht > so richtig fündig geworden. Da du nicht weißt, für welchen Controller die Library sein
-
Thread
STM32 Echtzeitproblem
vollständig innerhalb der ISR. Hallo Walt, hier noch einmal etwas anschaulicher mit Pseudo-Code für Atmega328P (Arduino Nano). [c] void timer0_init_fastpwm(void) { DDRD |= (1<<DDD6); // OC0A = pin PD6 PORTD &= ~(1<<PORTD6); TCCR0A=0b10100011; // fast pwm mode (COM0A1=1, COM0A0=0
BOTTOM, (inverting mode).) TCCR0B=0b00000010; // prescaler - 8 (results in 8kHz) OCR0A=128; // duty cycle 50% for OC0A = pin PD6 TIMSK0 = 1 << OCIE0A; // OCIE0A: enable Interrupt by timer compare } void timer0_invert_mode_fastpwm(void) { /* switch PWM on OC0A between
-
Thread
Toochain bauen avr-gcc-x.x mit binutils-2.34 funktioniert nicht
atmega128rfa1 atmega128rfr2 atmega1284rfr2 at90can128 at90usb1286 at90usb1287 atmega2560 atmega2561 atmega256rfr2 atmega2564rfr2 atxmega16a4 atxmega16a4u atxmega16c4 atxmega16d4 atxmega32a4 atxmega32a4u
/atmega1284 avr/lib/avr51/atmega1284p avr/lib/avr51/atmega128rfa1 avr/lib/avr51/atmega1284rfr2 avr/lib/avr51/atmega128rfr2 avr/lib/avr51/at90can128 avr/lib/avr51/at90usb1286 avr/lib/avr51
-
Thread
Welchen uC als ws2812b i2c Controller?
den man per i2c ansteuern und natürlich beschreiben kann. Bisher habe ich das immer mit einem atmega8 16au gemacht.. Versorgung, 16mhz Quarz, i2c und ein pin für die LEDs... Da ist ein atmega echt eine Verschwendung... Was wäre da eine gute Alternative?
Also ich habe ja einen ATMega128 als Hauptcontroller. Aber je nachdem was der macht.. ja.. hat man hier nen interrupt.. da nen nop und ja.. dann fing ich an einfach jedesmal einen atmega8 dafür zu nutzen. Habe die Routinen, I2C
-
Thread
ATtiny25 - EEPROM - Write ohne Verschleiß
Marcus H. schrieb im Beitrag #6166517: > Der ATtiny25 hat 128 Byte EEPROM... Ja, wieso ?
Beim Tiny25 hast du 128 Byte EEPROM, die du 100.000 mal mit ändern darfst, bis das MHD vielleicht zuschlägt. Deine Änderungen von je 100 Byte führen im besten (!) Falle dazu, dass du 128.000 mal 100 Bytes ändern darfst
-
Thread
Modernes "Z80 Klein-Computer"-Analogon für Jugendliche/Kinder?
wirklich einen Z80 haben willst, kannst Du den https://github.com/WestfW/4chipZ80 bauen: Ein ATMega32 als IO-Knecht und ROM (das Programmieren ist dann viel einfacher), Massenspeicher mit zwei EEProms. Da laeuft dann CP/M drauf. Ich habe das mal auf dem Steckbrett gebaut, Turbo-Pascal funktioniert
Bare-Metal-Z80 wäre das Ding hier: https://github.com/jmacarthur/zeta256 Oder ebenfalls mit ATMega für die Interfaces: https://hackaday.io/project/159973-z80-mbc2-4ics-homemade-z80-computer
-
Thread
Arduino IDE, Atmega328p mit internem Takt
breadboard-1-6-x.zip Beim kompilieren bekomme ich folgende Warnung: "Warning: Board breadboard:avr:atmega328bb doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA328BB" Hat jemand eine Vermutung, woran es liegen könnte?
p.s. Datenblatt ATmega328 im Kapitel /9.2.1 Default Clock Source/: "The device is shipped with internal RC oscillator at 8.0MHz and with the fuse CKDIV8 programmed, resulting in 1.0MHz system clock."
-
Thread
Einfacher ARM für den Einstieg und Linux Toolchain
Frontplatte für ein Gerät, wo du folgendes drauf hast: - ein monochromes (billiges) Grafik-LCD mit 128x64 Pixeln - einen Drehgeber - zwei Tipptasten - und alle anderen Controller-Anschlüsse sind an Pins oder Steckverbinder geführt. Der 2. Schritt wäre, daß du dir die Referenzmanuals deiner ausgesuchten
bei STM die das erst mal entknoten muß. Die programmieren sich so einfach und straightforward wie ATMega, sogar noch einfacher weil noch logischer und geordneter. Er hat auch explizit nur verlangt daß die Toolchain unter Linux läuft, und die ist ja gleich für alle ARM Cortex. Nur noch ein möglichst
-
Thread
Arduino über AVRdude.
Markus schrieb im Beitrag #6151656: > avrdude -p atmega328p -P usb -c avrispmkII -V -U flash:w:main.hex Hast du einen avrispmkII? Oliver
20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no
-
Thread
Toolchain neuere AVRs
at90can64 at90pwm161 at90pwm216 at90pwm316 atmega32c1 atmega64c1 atmega16m1 atmega32m1 atmega64m1 atmega16u4 atmega32u4 atmega32u6 at90usb646 at90usb647 at90scr100 at94k m3000 atmega128 atmega128a atmega1280 atmega1281 atmega1284 atmega1284p atmega128rfa1 atmega128rfr2 atmega1284rfr2 at90can128 at90usb1286 at90usb1287 atmega2560 atmega2561 atmega256rfr2 atmega2564rfr2 atxmega16a4 atxmega16a4u atxmega16c4 atxmega16d4 atxmega32a4 atxmega32a4u
-
Thread
ATMega8 ADC Interrupt - lesen mehrerer Eingänge liefert Schrott
Mit einem ATMega8 soll eine Phasenanschnitts-Steuerung unter Beachtung des Ausgangssignals realisiert werden. Dafür wird aus der Wechselspannung ein Trigger-Signal hergestellt, welches hier mit einem Oszilloskop dargestellt
bei meiner ersten > Anwendung ganz ähnlich wie du umgesetzt. Der folgende Code war für einen > Atmega16: > > [c] ... > [/c] > > So funktioniert das jedenfalls tadellos, nur eben nicht freilaufend. Ein prinzipieller Unterschied ist zu dem Code für den ATMega8 nicht zu sehen. Dennoch ist
-
Thread
Arduino Kondensatormotor Drehzahlsteuerung
. [c] int lpin = 5; // atmega pin 11 int hpin = 6; // atmega pin 12 int l; int h; int per = 20; //Periodendauer in ms void setup() { } void loop() { l = 128 +126 * sin(micros() * 6.2832 / per / 1000);
wird ja besser als gedacht. :) Hier noch der Sketch 20200216e dafür: [c] int enlppin = 2; // atmega pin 4 int enlnpin = 3; // atmega pin 5 int enhppin = 4; // atmega pin 6 int lpin = 5; // atmega pin 11 int hpin = 6; // atmega pin 12 int enhnpin = 7; // atmega pin 13 int l; int
-
Artikel
WebRadio Clients
Multifunctional Alarm Clock. Alternativ: PIC PIC24FJ64 STA013 ENC28J60 OLED Display Net Radio. AVR ATmega64 128KB SRAM VS1002 Xport Display OpenMCP. AVR ATmega2561 128KB SRAM ENC28J60 VS1011 Shoutcast/ICEcast with infotag supported STM32 Internet Radio. (Chinese) (Chinese) Source Code: ARM Cortex-M3 STM32F10x DM9000A USB Display MP3 + WMA Software Decoding Webradio aus der Codesammlung. AVR ATmega644 VS1053B ENC28J60 MMC/SD-Karte WIZnet WIZ-iRadio. ARM7 STR710FZ2T6 VS1033C WIZnet W5100 Display WMP3 --> nicht mehr verfügbar. Alternativ: AVR ATmega128 STA013 wlan (PCMCIA card) Display ----
-
Artikel
AVR Eclipse
man bereits das AVR-Target ansprechen, um z. B. die Fuses auszulesen: avarice -j /dev/ttyUSB0 -P atmega128 -r -j: Gibt das Gerät an, mit dem das Target verbunden ist. -P: Zielarchitektur -r: Read Fuses Dazu ist die Manpage von avarice zu empfehlen: man avarice Als nächstes muss gdb-avr heruntergeladen
Debuggen mit Eclipse unter Windows findet ihr unten bei den Links. simulavr. simulavr -g -p 1212 -d atmega16 -P simulavr-disp startet den Simulator. avarice. avarice -j /dev/ttyS0 -P atmega128 :1212 startet einen Server, der auf Port 1212 lauscht und das OnDeviceDebugging übernimmt. Eclipseeinstellungen