-
Artikel
AVRDUDE
muss die lib-usb bzw. lib-usb-win32 installiert sein. Download von AVRDUDE. Ab v7.0: Bis v7.0: Die folgenden Dateien werden für die Intallation gebraucht: Windows MSVC 64 bit: avrdude- -windows-x64.zip Windows MSYS2 mingw 64 bit: avrdude
. Unter 64-Bit-Windows-Versionen kann das Parallelport zunächst nicht benutzt werden, da der mitgelieferte 32-bit-GiveIO-Treiber nicht funktioniert. Es gibt seit 2015 eine 64-Bit-giveio.sys. Der Treiber ist zertifiziert
-
Artikel
CAN
welches u.a. auch Anwendung in der Automatisierungstechnik findet. Mikrocontroller mit CAN. Atmel AVR. AT90CAN. Atmel AVR Controller mit CAN-Schnittstelle (ein Kanal) Speicher: (FLASH,EEPROM,RAM) AT90CAN32 -> 32KB 1KB 2KB AT90CAN64 -> 64KB 2KB 4KB AT90CAN128 -> 128KB 4KB 4KB 15 CAN "Message Objects"
Stickprobenumfang 1 - sollte schon funktionieren, auskommentiert bis nochmals belegt - mt] --> ATmega16M1/32M1/64M1. modernisierte Version der AT90CAN128 Serie inkl. LIN, PSC und DAC not sampled AT32UC3C. 32bit AVR mit zwei CAN controllern bis zu 512k flash, 64k RAM DMA, USB, Ethernet MAC, 2Msmps 12bit ADC,
-
Artikel
AVR-GCC
nachinstallieren. Danach erneut configure aufrufen. Um die Toolchain für Windows zu bauen brauchen wir noch mingw32 (aktueller Name in den meisten Paketquellen: mingw32-w64-gcc oder gcc-w64-mingw32). Eventuell findet sich das in den Paketquellen eurer Distribution, sonst kann ich auf diese Seite verweisen. Vorbereitungen
und make. Diese kann man entweder seperat downloaden oder aus einer WinAVR-Installation kopieren. Die Versionen davon spielen keine Rolle. Entwicklungsumgebungen. Win32: AVR-Studio: ab Version 4.12 mit WinAVR-Unterstützung, integrierter Simulator, Debugger, rudimentäre Projektverwaltung
-
Artikel
Miniwebserver
Kreditkartengröße Versorgung über Micro-USB mit 1000 mA div. Gehäuse erhältlich Weitere Webserver. Avr Webserver mit Wiznet WIZ810MJ Einfacher und billiger Webserver mit AtMega32 Arduino Uno (ca. 24 EUR) mit Ethernet Shield (ca. 35 EUR) oder Arduino Ethernet (ca. 48 EUR) private Projekte. avrETH1. winzige
ENC28J60 IO-Webserver. Platine: 74.9mm x 74.9mm Microchip ENC28J60 Ethernetcontroller Atmel Atmega32 oder Atmega644 uC Software kompatibel zum AVR Net-IO von Pollin Div. Erweiterungsboards mega-eth. Platine 100mm x 80mm Microchip ENC28J60 SD/MMC-Slot FTDI USB/RS232-Wandler ATmega128 mit 64kBytes SRAM
-
Artikel
AVR-GCC-Tutorial
1 unsigned char uint16_t align="right"| 16 0 ⋯ 65535 0 ⋯ 2 16 −1 unsigned short , unsigned int uint32_t align="right"| 32 0 ⋯ 4294967295 0 ⋯ 2 32 −1 unsigned long uint64_t align="right"| 64 0 ⋯ 18446744073709551615 0 ⋯ 2 64 −1 unsigned long long Neben den Typen gibt es auch Makros für die Bereichsgrenzen
Zugriff auszuführen ist und entsprechend länglicher und langsamer wird der erzeugte Code. Siehe auch: AVR-LibC: Data in Program Space Datenzugriff jenseits 64 KiB. Normale Zeiger beim avr-gcc sind 16 Bit breit, können somit also nur 64 KiB Datenspeicher adressieren. Darauf sind auch die avr/pgmspace.h Funktion
-
Artikel
AVR In System Programmer
AVRISPmkII kompatiblem Programmer (AVR Studio, Linux, MacOS) JTAGICEmkII kompatibler AVR Programmer (AVR Studio, Linux, MacOS) (keine AVR32, kein Xmega) OpenOCD Interface (sehr viel ARM Controller, PLD´s, FPGA´s) STK500v2 kompatiblem Programmer
vorgenommen haben, ist das kein Problem, da der Programmer über eine Takterzeugung verfügt, mit der man den AVR wiederbeleben kann. Auch wer mit niedrigen Taktraten arbeitet (z. B. 32kHz), kann einen ATmega64 in ca. 4,8 Sekunden programmieren und vergleichen. Darüber hinaus kann mit geeigneten Makros die Programmausführung
-
Artikel
AVR
Butterfly AVR Raven AVR JTAG-ICE AVR-ISP-Stick RN-Control C-Control PRO (AVR32) myAVR Board Pollin-Starterkit aTeVaL-Board – Nachfolger des bekannten Pollin Evalboards. ISP-mkii-Klon & Seriell/USB-Wandler via USB
und AVR32 Fuse-Bits – Das Setzen der Fuse-Bits ist ein berüchtigter Fallstrick bei den AVRs; vor dem Rumspielen damit unbedingt diese Hinweise lesen! AVR In System Programmer – Programmierhardware Pony-Prog
-
Artikel
Avr-gcc Bugs
.. 2.23 12742 mingw32 and --enable-lto in Canadian cross build 2.23 12161 Unconforming ELF file causes SIGSEGV in avr-ld 2.23, 2.22.x avr-libc 57114 Do not #define abs / labs 57071 57071 Fix math.h and function names that
attributes address , io and io_low 13.3, 12.4 107201 -nodevicelib not working together with -mmcu=avr* devices 13.3, 12.4 109650 Wrong code with -Os (cc0 → CCmode fallout) 13.2, 12.4 105753 ICE: in add_clobbers, at config/avr/avr-dimode.md:2705 13.2, 12.4 99184 Wrong rounding in double to 32-bit and
-
Artikel
Linksammlung
fuer AVR von Imagecraft. Assembler. Atmel AVR ASM Site tavrasm - Toms Linux (Atmel) AVR Assembler gavrasm - Gerds Linux/Win/DOS AVR Assembler avra - avra ATMEL AVR Assembler für Linux, FreeBSD, AmigaOS und Win32
viewer of binary files with built-in editor in binary, hexadecimal and disassembler modes. It includes AVR/Java/i86-i386-AMD64/ARM-XScale/PPC64 disassemblers, russian codepages convertor, full preview of formats - MZ, NE, PE, NLM, coff32, elf partial - a.out, LE, LX, PharLap; code navigator and more over
-
Artikel
Gleitkommazahlen
style="text-align:right"| 11 bit double precision Achtung: Abweichend vom Standard sind double beim AVR-GCC und der avr-libc auch nur 32 Bit! long double style="text-align:right"| 80 Bit style="text-align:right"| 1 bit style="text-align:right"| 64 bit style="text-align:right"| 15 bit extendend precision
bei Rechnungen solche Fehler Hinweise. Bei alten (und oftmals heute noch genutzten) Versionen des avr-gcc (<10) wird sowohl float, als auch double mit 32bit gespeichert und gerechnet. Damit verhalten sich diese älteren avr-gcc-Versionen nicht Standard-konform, sparen aber auch Speicher und Rechenzeit
-
Artikel
AVR Arithmetik
RAM 2 3 Bytes dynamisch, 0 Bytes statisch Laufzeit 265 310 Ticks (inclusive Zeiten für CALL+RET) sqrt32.S (sqrt32_round) Abrunden. Siehe auch AVR-LibC 2.3 sqrtu16_floor sqrtu32_floor sqrtu64_floor sowie die sqrt Funktionen in . + Ressourcen-Verbrauch, Abrunden Flash 60 Bytes RAM 2 3 Bytes dynamisch, 0
in VHDL ebenfalls VHDL 32 Bit in C 16 und 32 Bit C und AVR-Assembler Assembler für AVR-GCC bis 256 Bit 2 hoch x , wenn x kein Integer ist schnelle dezimale Division auf AVR & Co. Sinus und Cosinus. siehe AVR Arithmetik/Sinus
-
Artikel
STM32
STM32F0 (2013) ARM Cortex M0 bis 48 MHz STM32C0 (2022) ARM Cortex M0+ bis 48 MHz - billig STM32G0 (2018) ARM Cortex M0+ bis 64 MHz STM32F1 (2007) ARM Cortex M3 bis 72 MHz - die älteste STM32 Serie STM32F3
JTAG und SWD (Serial Wire Debug) Interface LCD Treiber für bis zu 8x40 Segmente TFT Treiber bei STM32F429/STM32F439 STM32F469/STM32F479 und vieles mehr ... Struktur der Dokumentation. Die Dokumentation der STM32 ist im Vergleich zur AVR-Familie umfangreicher und komplexer. Sie teilt sich in mehrere Dokumente
-
Artikel
Festkommaarithmetik
Zwischenergebnissen keine arithmetischen Überläufe auftreten, also genügend grosse Variablen benutzen (16/32/64 Bit Integer) Achtung!: Ein klassischer Fehler ist die Benutzung zu kleiner Variablentypen für den Multiplikationsfaktor oder andere Variablen. Das geht schief, weil C dann nur mit dem kleinen Zahlentyp
Größe: In der Zeile ergebnis = adc * (long)k setzt der Compiler das Unterprogramm 16 bit × 16 bit = 32 bit ein, und nicht das nächstgrößere 32 bit × 32 bit = 32 bit. Man sollte mindestens eine Variable auf der rechten Seite genauso groß deklarieren wie das Ergebnis auf der linken Seite oder einen Cast
-
Artikel
AVR - Die genaue Sekunde / RTC
, wenn irgendein Timer mit einer Überlauf-Interruptfrequenz > 1Hz arbeitet. Dann kann die ISR eine 32-bit-Konstante auf einen 32-bit-Akkumulator addieren; bei Überlauf ist eine Sekunde vergangen. Zugegeben, es gibt "lange" und "kurze" Sekunden, aber der Fehler summiert sich nicht, und der Code ist sehr
multipliziert wird. Der Faktor sollte so gewählt werden, dass: Das Ergebnis actual_value immer in 32 Bit hineinpasst. Die Multiplikation durch Schiebeopertionen ersetzt werden kann, weil der Faktor eine 2-er-Potenz ist. (Das erledigt avr-gcc) Immer wenn tsdaytim_calibrated() erkennt, dass eine Sekunde
-
Artikel
Wanderkiste (Widlar)
, mal schauen was sich ggf. noch findet... S: Retro-Home-Computer ICs (Atari/Amiga/C16,C116,Plus4,C64,VC20), STM32 Controller/Boards, praktische ICs, neue Bauteile ((FE)T,R,C...) mal schauen was so dabei ist. 7 Hobby B. 25.02.2023 06.03.23 003404344200652675 12,7 kg 8 Martin S. 45xxx S. VFD Display,
02017172001696 Hermes 3 Stefan V. 10xxx 22.01.2024 07.02.2024 02038150017171 Hermes 18,3kg B: Orange Pi Zero, PY32F00x, STM32F030K6, ESP8266 Module ESP-01/12, SMD Speicherdrosseln, SMD (Power)LEDs, ENC28J60 Module 4 Benedikt M. Süd-DE 10.02.2024 12.02.2024 02043127007598 Hermes, 20.2 kg S: Orange Pi, Pi Pico, SMD
-
Artikel
FIFO
Diese FIFOs sind auf so ziemlich allen Plattformen nutzbar, entwickelt wurde sie jedoch auf einem AVR. Daher ist im FIFO im Moment auch noch eine Begrenzung der FIFO-Größe auf 64kiB vorhanden, welche aber leicht per typedef in fifo.h abgeändert werden kann. Ebenso kann die Größe der FIFO-Elemente eingestellt werden (8, 16, 32 Bit, ebenfalls structs). Alle FIFO-Funktionen sind interruptsicher aufgebaut, d.h. die kritschen Zugiffe auf die FIFO-Kontrolldaten erfolgen atomar. Damit ist der Einsatz im Hauptprogramm und in Interrupts