-
Thread
USART RS485 Daten empfangen über ISR
avr/io.h> #include <avr/interrupt.h> #define USART0_BAUD_RATE(BAUD_RATE) ((float)(F_CPU * 64 / (16 * (float)BAUD_RATE)) + 0.5) void uart_init() { USART0.BAUD = (uint16_t)USART0_BAUD_RATE(9600); USART0.CTRLA = (1 << USART_RXCIE_bp) /* Receive Complete Interrupt */
ATtiny 25, 45, 85 14 Pins: ATtiny 24, 44, 84 20 Pins: ATtiny 261, 461, 861 28 Pins: ATmega 48, 88, 168, 328 40 Pins: ATmega 164, 324, 644, 1284 [/pre] Bei Chip45 gibt es kannst du das Crumb644 Board kaufen (https://www.chip45.com/atmega644-usb-rs485-modul.html?language=de). Es
-
Thread
Hilfe bei der Programmierung eines Adventskalenders
über die Zeit und der Temperatur. Ist er stabil genug, dann kann man das Feintunig der Zeit über den 16-Bit Timer machen. Da es bis zum Advent noch ein paar Tage sind, sollte der TO es einfach ausprobieren.
Beitrag #6609567: > beim MM5450 Wenn es schon ein großer Käfer sein soll, dann doch gleich einen ATmega32 o.ä., der genug freie Ausgänge für LEDs hat. Ich hätte dafür auch eine Schaltung, die ich aber nicht zeigen darf ;-)
-
Thread
AVR Assembler, Macro, Conditional mit Register
soll mit fetch_byte <irgendein Register> verwendet werden. [avrasm] .macro fetch_byte .if @0==r16 rcall read_byte .else push r16 rcall read_byte mov @0,r16 pop r16 .endif .endm [/avrasm] Die Subroutine read_byte liefert ein Byte in r16 zurück, wurde das Macro mit fetch_byte
mehr nicht. Z.B. mit scheint es viel bequemer, ldireg r7,0x1234567898765432 zu schreiben als ldi r16,0x32 mov r7,r16 ldi r16,0x54 mov r8,r16 usw.
-
Thread
Linux geht es noch antiquierter?
Linux-Kernels über Fehlverhalten in einer Load-Balancer-Funktion für die kommende Kernel-Version 3.16 informierten, warf Linus Torvalds selbst einen genaueren Blick auf die verfügbaren Daten. Denen ließ sich entnehmen, dass der verwendete Compiler (GCC 4.9) den Fehler verursachte, ... Die Compiler
was Faul. Man kann nichts anklicken. Naja das soll ja jetzt hier nicht das Thema sein. Mit Ubuntu 16.xxLTS hat jedenfalls noch alles funktioniert. Super 2 Stunden für nichts.
-
Thread
Atmega8A 1000ms != 1s ?
Hallo Forum, ich muss zum ersten mal nun einen Atmega8A selber programmieren.. Bisher nur PIC oder eigentlich nur Linux.. Nun mein Problem: 1. Ich hab den Code mit MPLABx geschrieben und wollte das dann mit meinem USBASP flashen.. Schonmal blöd
GPSDO.X.production.hex -U lfuse:w:0xBF:m -U hfuse:w:0xC9:m -U lock:w:0xFF:m -pm8 Zur Hardware: Es ist ein Atmega8A in einem BG7TBL GPSDO in dem ich das Fake Chine GPS Modul gegen ein original NEO-9N getauscht habe und daher nun den Atmega8 ebenfalls tauschen und neu programmieren muss. Der original war gelocked
-
Thread
Chipkiller-Schaltung: AT328-AU nach 4-6 Wochen instabil
Verschaltung darstellen soll, faul und unübersichtlich. Aber auch ohne Widerstände sollte der Atmega überleben. Ich frage mich eher warum AREF an VCC geht, den Fehler sieht man oft. Er hat einen Schaltregler drin, ob das bei den paar Milliampere die der Atmega zieht nicht kontraproduktiv ist
tatsächlichen echten Umsetzung. Insbesondere würde mich auch das tatsächliche Verhalten des Treibers im ATMega32 interessieren wenn die Ausgangsspannung nicht definiert auf dem 0 oder 1 Pegel liegt, sondern irgend wo dazwischen.
-
Thread
ATMEGA 32u4 Verbindungsprobleme ISP
Quarz ist folgendes verlötet: https://datasheet.lcsc.com/szlcsc/1811091415_HELE-Harmony-Elec-HSO321S-16MHZ-3-3V-40-85_C160456.pdf
Quarz ist folgendes verlötet: >https://datasheet.lcsc.com/szlcsc/1811091415_HELE-Harmony-Elec-HSO321S-16MHZ-3-3V-40-85_C160456.pdf Das ist kein Quarz sondern ein Quarzoszillator. Damit ist deine Schaltung falsch. Anschluss nach der Tabelle auf S.4. Der ATMega muss dann auf externen Takt gefused werden
-
Thread
ATmega4809 Temperatursensor
Hallo. Der ATmega4809 hat einen Internen Temperatursensor. Ich habe nun mehrmals im Datenblatt gesucht um Werte wie die Toleranz oder ein Diagramm bei wie viel Grad welche Spannung ausgegeben wird aber nichts gefunden
Exemplare, TU= 13.0 °C, 20 Messungen im 5 s-Abstand, vorkommende Werte: 1.: 15.0, 15.5 2.: 15.5, 16.1, 16.7 3.: 14.2 4.: 12.3, 12.9, 13.5
-
Thread
uin16_t ist/wird negativ bei 0x8000.
, Ich bin im Moment etwas ratlos, ich arbeite momentan daran mein altes Projekt auf Basis eines ATMega1284P auf mein neuen Prozessor (ATMega2560) zu "importieren". Im Moment teste ich mein 16 Bit ADC auf der Platine. Als ADC kommt ein ADS1115 zum Einsatz, welcher direkt als IC auf die Platine gelötet
Behr schrieb im Beitrag #6601993: > Der Format Specifier für unsigned int ist %u! Und für uint16_t ist er PRIu16.
-
Thread
Win10, WinAVR-20100110 und msys-1.0.dll
Allerdings stimmt was mit den defines für die AVR-CPU nicht. Soweit ich weiß, ist z.B. __AVR_ATmega324P__ oder __AVR_ATmega168P__ im avr-gcc hinterlegt. Compilieren tut es auch richtig, also wenn ich im makefile 'atmega324p' oder 'atmega168p' wähle, compiliert es auch für den entsprechenden Prozessor
verfrachtet. Hat auch funktioniert (mit den kleingeschriebenen Definitionen -> MCU mit Variable atmega324p z.B.). So habe ich das auch mal kennengelernt. Und jetzt allerdings reicht's mir schon wieder mit der SCHEISSE. Der Präprozessor funktioniert nämlich so wie gedacht, wenn man den __AVR_ATmega16
-
Thread
libvmcu - Virtual MCU Library
); return EXIT_SUCCESS; } [/c] [c] Output: SFR ID: 0 xref from 0x0112 (out 0x01, r16 ; IO[addr] <- R16) xref from 0x011c (out 0x00, r16 ; IO[addr] <- R16) SFR ID: 33 xref from 0x011f (in r16, 0x31 ; R16 <- IO[addr]) SFR ID: 38 xref from 0x0152 (out 0x3d, r28 ; IO[addr]
---- 0x0006 .... 0000 nop ; no operation true -> 0x0007 .... 0127 eor r16, r17 ; r16 <- r16 ^ r17 -------------------------------------------------------------------------------- 0x0007 .... 0127 eor r16, r17 ; r16 <- r16 ^ r17 -------------------------
-
Thread
Attiny2313 Timer16 Bit, Normal Mode, unsauber
das ansonsten machen könnte. Vorab gefragt, ist AS4 gleich A4 in der Rechnung? Weil ich wenn dann 16MHz habe. [c] #define F_CPU 10000000UL const uint16_t ICR = 256; const uint16_t PWM = F_CPU/ICR; const uint16_t A4 = 440; uint16_t A4_Phasendelta = 782; // (AS4/PWM*65536) uint16_t Phase; [/
#6600182 */ // Arduino Mega2560 #include <avr/io.h> #include <avr/pgmspace.h> const uint16_t ICR {256}; //const uint16_t PWM {F_CPU/ICR}; // 16MHz const uint16_t PWM {8000000UL/ICR}; const uint16_t TonA4 {440}; uint16_t A4_Phasendelta {(uint16_t)(65536UL*PWM/TonA4)}; uint16_t
-
Thread
Was ist L1 für ein Bauteil?
Markus M. schrieb im Beitrag #6595501: > Wenn es die QFN-Version vom Atmega ist (Endung -MU in der Beschriftung) > wird das (Aus-)Löten ohne Heißluft nicht so einfach sein. Laut Schaltplan ist es ja ein ATMEGA16U2-MU. Heißluft hab ich da nur woher krieg ich das Programm
noch benutzen lässt, nur eben über USB nicht mehr. Wenn ich es richtig verstehe, haben doch alle Atmega16U2 ab Werk schon einen Bootloader den man über USB nutzen kann. Somit müsste der TO doch "nur" einen frischen Atmega16U2 einlöten und - wenn er Glück hat - wird dieser dann bereits über USB wieder
-
Thread
MCP23017 funktioniert erst wie er soll nach Reset des µC
. Ein simples Testprogramm (s. main.c) führt bereits zum Fehlerfall: Ein flashen des ATMega führt dazu, dass bei Ausführung des main.c Programms keine LED leuchtet (normalerweise sollten alle 16 LED´s hintereinander kurz aufblinken). Nachdem ich den ATMega per Taster resette funktioniert
die Spannungsversorgung trenne und erneut anschließe, funktioniert auch nichts mehr - bis ich den ATMega wieder resette. Für den Fall, dass der ATMega mit Spannung versorgt ist, aber noch nicht resettet ist, habe ich mal einen LogicAnalyzer angeschlossen und die Kommunikation auf dem I²C Bus mitgeschnitten
-
Thread
USB-Serial Programmierboard für Atmel uC
ISP Firmware befindet sich also doch im Lieferumfang. Ja schon, aber damit machst du nicht den Atmega16U2 zum ISP Adapter, sondern den ATmega328.
dass der ATMega16U2 da so was besonders ist, dass das nicht geht?
-
Thread
Frage zu Externes SRAM(XMEM) und Atmel Studio 7
kurzen eine neue Platine anfertigen lassen um mein bestehendes Projekt auszuweiten wechsele ich vom ATMega1284P auf den ATMega2560. Der ATMega2560 ist auch auf der neuen Platine verbaut. Da der ATMega2560 nur über 8K SRAM anstatt wie sein kleiner Bruder über 16K und ich jetzt bei knapp 6,3 kB SRAM verbrauch
mit normalen Variablen testen da ich nicht so viel gebrauch von malloc mache. Also habe ich 3 uint16_t Arrays jeweils mit einer Größe von 4000 anlegt. Auch wieder werte zugeweisen und ausgelesen tat alles wenn ich zwischen zwei Arrays mal eins der anderen Highbits(A16-A18) auf HIGH sitze kommt für das
-
Thread
BME680 Berechnung Temperatur Luftfeuchtigkeit Druck Gas Fragen Initialisierung Assembler ASM ATmega8
Dieser Therm sieht in C ganz einfach aus: ((int32_t) temp_adc >> 3) in Assemler für eine 16Bit Zahl: LSR R17 / :2 ROR R16 LSR R17 / :2 ROR R16 LSR R17 / :2 ROR R16
Temperatur in der Integer Version heißt - welche Überraschung - calc_temperature() und liefert einen int16_t-Wert zurück.
-
Thread
RIP AtmelStudio
Strombegrenzung und LCD Backplanespannungen für Multiplex, ordentliche SigmaDelta ADC, hat AVR nie bekommen (Atmega169 obsolete).
Axel S. schrieb im Beitrag #6597800: >> Hier sind dann XC8 aund XC16 zu finden: >> https://www.microchip.com/development-tools/pic-and-dspic-downloads-archive > > Wo siehst du da den Quellcode? Der XC16 ist auch ein gcc und den Source gibts irgendwo.
-
Thread
Bleiakku bei geringer Spannung abschalten
geeignet, warum nicht die interne Referenz des ATmega nutzen (ok, 10% ungenau) oder einen LD2950A-5 nutzen.
io.h> #include <avr/interrupt.h> #include <avr/sleep.h> volatile unsigned char zaehler; uint16_t adc_read() { uint16_t adc_measurement; ADCSRA |= (1 << ADSC); //Startet Konvertierung while(ADCSRA & (1 << ADSC)){ }; //Wartet bis Konvertierung fertig ist
-
Thread
Bosch Athlet 25,2 V Akku 7 Stück Tauschen
Testpunkten unter der Schutzbeschichtung den Atmega mal ansprechen. Die Firmware für den 25V gibt es auch,....
warte auf einen Blitz, was ist das U6-System, kein Strom am Eingang des 7812-Stabilisators, Q15, Q16 war kurzgeschlossen und ich habe ersetzt Q8, es war übrigens gut, ich habe den Atmega verbrannt
-
Thread
OLED128x128 SSD1351 RGB Initialisierung Color Farbe bunt SPI 3.3V AVR ATmega8 ATmega328p Assembler
durch Bitstretching Bitverdopplung aus einem 8x8 Zeichensatz, ADC und Timer. Font-0 8x8 Font-1 8x16 Font-2 16x16 Font-3 32x32 Bild "B3" Zeit für OLED.clear *103ms* bei MHz µC Takt, viel schneller geht vermutlich nicht :( Im Bild "B4" wird die Zeit für den Bildaufbau angezeigt, ca. 70ms
noch flotter.. > > Gruß Steffen Im double-speed Modus max. Fclk/2, also 4 MHz auf einem 8 MHz-ATmega328 und 8 MHz SPI-Takt auf einem 16 MHz-ATmega328. Bernhard S. schrieb im Beitrag #6586311: > Sehr seltsam, real habe ich bei 8MHz µC Takt 101ms > und bei 16MHz 51ms gemessen, warum diese große
-
Thread
Tasten entprellen per Software
Debounce_Time_1 ; Überwachungszeit laden CPI R16, 0 ; prüfen, ob Inhalt schon 0 BREQ Chk_T9 ; ja, weiter Prüfung 2.IO-Ebene DEC R16 STS Debounce_Time_1, R16 ; herunterzählen CPI R16, 0 BRNE Chk_T9 ; nicht 0, Prüfung
LDS R16, Debounce_Time_2 ; Überwachungszeit laden CPI R16, 0 ; prüfen, ob Inhalt schon 0 BREQ End_IO_Debounce ; beenden Prellzeitüberwachung DEC R16 STS Debounce_Time_2, R16 ; herunterzählen
-
Artikel
Liste von FPGA Eval boards
, 7seg Digilent Atlys 399 (acad.: 199) XC6SLX45 16 (Cellular RAM) 16 (parallel) + 16 (SPI) 3x: USB prog. USB Host USB UART 10/100/1000 Marvel PHY 1x (virtueller COM-Port über USB) ... (USB HID Host) 5 Taster, 8 Schalter, X LEDs, Programmierbar über JTAG
Progr. & Versorg. über USB oder über Netzteil (5V-15V), VGA Digilent Nexys 3 180 (acad.: 108) XC6SLX16 16 (Cellular RAM) 16 (parallel) + 16 (SPI) 3x: USB prog. USB Host USB UART 10/100 Ethernet PHY 1x (virtueller COM-Port über USB) PIC24FJ192 (USB HID Host) 5 Taster, 8 Schalter, 8 LEDs, USB Maus/Kbd.
-
Artikel
Konzept für einen ATtiny-Bootloader in C
ATtiny-Bootloader in C = Die ATtiny-Mikroprozessoren unterstützen das Prinzip des Bootloaders der ATMega-Prozessorreihe eigentlich nicht. Dafür fehlen den ATtinys folgende Merkmale: Fehlende Fuses für einen definierten und geschützten Bootloader-Bereich Fehlender Resetvektor exklusiv für den Bootloader
der Codesammlung belegen: ATtiny Bootloader "Bootloader" für ATtiny2313 UART Bootloader ATtiny13 - ATmega644 Jedoch sind diese Bootloader allesamt in Assembler realisiert, denn nur hier hat der Programmierer alle Freiheiten, die er braucht, um die Speicherverwaltung im SRAM (und auch im Flash) selbst zu
-
Artikel
MCURSES
nämlich 1-6 auf STM32F4xx, 1-3 auf STM32F10x. Der Wert wird für andere Mikrocontroller - wie z.B. ATmega - ignoriert. #define MCURSES_UART_NUMBER 0 // UART number on STM32Fxxx (1-6), else ignored Die Anzahlen der Zeilen und Spalten sind fest eingestellt, nämlich auf Standard-VT200-Größe: #define MCURSES_LINES
Ist die eigens geschriebene mcurses-Anwendung dann irgendwann fertig, kann man sie leicht auf den ATmega portieren - im Allgmeinen ohne jegliche Änderungen. Mit dem Aufruf make -f Makefile.unix wird ein Binary namens demo erzeugt, welches man mit ./demo ausführen kann. MCURSES Tutorial. Das erste Programm
-
Thread
ATMEGA 8515-16 lässt sich brennen- mehr nicht
begonnen mich Microcontroller zu befassen. Aus einem anderen, nie beendeten, Projekt habe ich mehrere ATmega 8515-16. Inklusive allem was man drum herum benötigt. Ich habe mich durch viele Seiten gelesen und ihn entsprechend mal aufgebaut. Als Programmer nutze ich einen Arduino UNO mit der dazu gehörigen
/bootloaders/atmega8515/16000000L/optiboot_flash_atmega8515_UART0_115200_16000000L_B0.hex: avrdude: input file C:\Program Files (x86)\Arduino\hardware\MajorCore-master\avr/bootloaders/optiboot_flash/bootloaders/atmega8515
-
Thread
AVR C Programmierung unter Linux
der Linker ab. Fehlermeldung: [c]"E:\\Programme\\arduino/portable/avr-gcc/avr-gcc-10.0.0_2019-12-16_-mingw32/bin/avr-gcc" -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p "-Wl,-Map,E:\\temp\\Arduino/sketch_feb10b.ino.map" -o "E:\\temp\\Arduino/sketch_feb10b.ino.elf"
Support für ein paar Devices hinzuzufügen. Betroffen sind: ATtiny202/04/12/14, ATtiny402/04/06/12/14/16/17, ATtiny804/06/07/14/16/17, ATtiny1606/07/14/16/17, ATtiny3214/16/17, ATmega808/09, ATmega1608/09, ATmega3208/09 und ATmega4808/09. > Wer kümmert sich darum oder wer sollte sich darum kümmern?
-
Thread
arduino pro mini alternative
ATMEGA328P - genuine or counterfeit? https://www.youtube.com/watch?v=eeDC1m7ANJI
zu beschalten. > Und der Quarz ist erforderlich wenn man mit Arduino arbeitet, das > braucht 16MHz Das stimmt nicht. Der TO hat sich bereits für 8 MHz entschieden. Arduino unterstützt das. Hier ist eine Schritt-Für-Schritt Anleitung dazu: https://www.hackster.io/techmirtz/arduino-without-external-clock-crystal-on-atmega328
-
Artikel
Akku Tester
der OP RailToRail Ein- und Ausgänge hat. Software. Kann man auch einen anderen Controller als den ATmega32 verwenden? Ja, aber auf keinen Fall einen Mit AT90Sxxxx oder ATMega8515 da bei denen die SD-Routinen nicht mehr funktionieren. Auch muss man darauf achten, dass der Controller mehr als 1 kB RAM hat
09_15_V1.2.zip Software. C-Source Code für AVR-GCC 4.3 und die vorkompilierte HEX Datei für einen ATmega32 sind hier: AkkuTester_SW_2012_02_16_V1.8.zip Die Fusebits müssen folgendermassen eingestellt sein: HFUSE 0x17 LFUSE 0xe4
-
Thread
Debugger für ATmega32
Hallo, ich habe vor Jahren in einem Praktikum eine Mikrocontrollerschaltung mit ATmega32 aufgebaut. Zum Debuggen wurde die JTAG-Schnittstelle und ein Atmel JTAGICE verwendet. Nun würde ich gerne mehr mit Elektronik machen, nicht nur, aber evtl. auch mit dem ATmega32. Welcher Debugger
will, dann gibt es hier auch Selbstbaulösungen für einen JTAG Programmer/Debugger auf Basis eines ATmega16. https://scienceprog.com/build-your-own-avr-jtagice-clone/ https://amtek.wordpress.com/2011/07/20/make-your-own-avr-jtag-debugger/ http://www.aquaticus.info/jtag/ Den hatte ich mir mal
-
Thread
Mikrocontroller und PHP
Ich meine nicht einen in der Größenordnung vom Raspberry Pi oder ESP32, sondern etwas in Richtung ATmega328 oder meinetwegen auch einen Boliden wie den STM32F4.
auch schon ein bisschen "Dampf unter der Haube" braucht, also meines Wissens mindestens 256k Flash, 16k RAM, und einen 32-Bitter (man korrigiere mich, wenn das nicht stimmt). Möglicherweise, eventuell und vielleicht ließe sich auch ein PHP-Interpreter in einer ähnlichen Weise abspecken und mit ähnlichen
-
Thread
Leistungsmessung mit MSP430
Erst mal zum grundsätzlichen Aufbau: Das Gerät soll jeweils einen 400 V/63 A, 400 V/32 A und 400 V/16 A sowie 3x 230 V/16 A EIngangstecker haben, welche ich manuell aktivieren muss (nur einer gleichzeitig möglich). Als Ausgänge sollen jeweils ein 400 V/32 A und 400 V /16 A sowie insgesamt vmtl. 15x
Phillip S. schrieb im Beitrag #6576954: > (einer hat 16 ADCs, wobei ich A10 und A11 noch nicht gefunden > hab) Der hat mit Sicherheit keine 16 ADCs der hat vielleicht einen mit 16 Kanälen, von denen du laut Datenblatt 14 extern benutzen kannst. Was bedeutet
-
Thread
ATtiny212: Externe Referenz für ADC/DAC
gefunden. https://raw.githubusercontent.com/SpenceKonde/megaTinyCore/master/megaavr/extras/ATtiny_x16.gif
gefunden. > https://raw.githubusercontent.com/SpenceKonde/megaTinyCore/master/megaavr/extras/ATtiny_x16.gif Danke dafür. Hat das mal jemand tatsächlich ausprobiert? Allerdings steht PA5 bei den 8-Pin-Versionen leider nicht zur Verfügung.
-
Thread
[AVR] externer Speicher
Hallo, und zwar geht meinem ATmega2560 langsam der Speicher aus, da ich ein paar Bilder habe die am Display angezeigt werden. Jetzt wollte ich einen externen Flash einbauen (W25Q16JV) der die (Bild-)Daten speichern soll, damit am uC
S. R. schrieb im Beitrag #6578588: > Ein Atmega2560 besitzt nur AD[7:0] und A[15:8]. Wenn ich mich nicht > verzählt habe, sind das 16 Adressleitungen für einen 64 KB Adressraum am > XMEM. Ja. >Darum ging es hier. Nein. Es ging dem OP
-
Thread
Auswertung mehrerer Drehencoder
brauchst keine 800kHz Abtastrate. Man könnte es auch in einen AVR mit ausreichend Pins auslagern, z.B, ATmega64. Aber auch das ist eine Beleidigung eines 32 Bit Prozessors. ;-) 16 Drehgeber sind 3x16=48 Pins (incl. Taster). Die kann man per Schieberegister ala 74HC165 einlesen und gut.
keine 800kHz Abtastrate. Man könnte es auch in einen AVR mit ausreichend > Pins auslagern, z.B, ATmega64. Aber auch das ist eine Beleidigung eines > 32 Bit Prozessors. ;-) Völliger Quatsch! > 16 Drehgeber sind 3x16=48 Pins (incl. Taster). Die kann man per > Schieberegister ala 74HC165 einlesen
-
Thread
uC from Scratch
meine Anforderungen zusammen: - 8 Analoge Inputs mit 12 Bit Auflösung. Messinterval ca. 10 us - 16 Digitale Outputs für die NMOS Driver (im Blockschaltbild sind nur 8 erwähnt, aber mit 16 habe ich noch Spielraum für Status-LED und einzelne Schalter, die ggf. noch dazu kommen.) - 3x I²C Bus (1x
man dort auch doppelte Funktionen wie strcpy() für RAM->RAM und strcpy_P() für Flash->RAM. Bei den 16-Bittern versteckt der XC16 Compiler das sehr gut (da wird ein Teil des Flashes in den RAM-Adressraum eingeblendet (PSV)), und bei 32-Bit hast Du das gar nicht - da gibts nur einen einzigen Adressraum