-
Thread
avr asm per gcc: array?
lds r25, index ; ldi r28, lo8(buffer) ; Y = buffer[0] ldi r29, hi8(buffer) ; add r28, r25 ; Y= buffer[index] adc r29, r2 ; zero st Y, r24 [/avrasm] Doch da stellt sich gleich die erste Frage: _SFR_IO_ADDR
werden. Danke! (Aller AsmAnfang ist schwer...) Bitte: ich rede von gcc-asm (also .sx) nicht vom AVR-Assembler!
-
Thread
ATtiny85 - bei 3.5kB ist Schluss
ich: C:\DOKUME~1\Helge\LOKALE~1\Temp\build5088002893342191290.tmp>(x86)\Arduino\hardware\tools\avr\bin\avr-size" _04_tiny_computer.cpp.elf "\Arduino\hardware\tools\avr\bin\avr-size" _04_tiny_computer.cpp.elf" ist syntaktisch an dieser Stelle nicht verarbeitbar. Gruss, Helge
> C:\DOKUME~1\Helge\LOKALE~1\Temp\build5088002893342191290.tmp> > (x86)\Arduino\hardware\tools\avr\bin\avr-size" _04_tiny_computer.cpp.elf > "\Arduino\hardware\tools\avr\bin\avr-size" _04_tiny_computer.cpp.elf" > ist syntaktisch an dieser Stelle nicht verarbeitbar. Da fehlt noch was an der
-
Thread
welcher (analoge) Filter für FFT im Audio-Bereich?
Koeffizienten sind symmetrisch, spart nochmal Multiplikationen. Das bringt hier aber wenig, ein fmul am AVR geht eh in zwei Takten durch. Einige der Koeffizienten sind 0 (je nach Rundungstiefe), spart überhaupt Berechnungen. Wenn ich auf s.7 runde, sind 12 von 64 Koeffizienten 0, bleiben 52 Multiplikationen
funktioniert wunderbar, und sogar schnell genug! Ein paar (meiner Meinung nach eindrucksvolle) Details: AVR ATmega328P mit 12 MHz (mein Breadboard, die finale Version könnte 20 MHz kriegen) ADC Abtastfrequenz 20 kHz 8 bit FIR Tiefpass mit 64 (!!!) Bins, -30db zwischen 1 und 1.3kHz (!!!) Downsampling
-
Thread
40x SPI-Chipselect?
jeweils ein PT100 hängt an einem dieser ICs? Und Du willst alle 40 ICs dannn durch einen Master-IC (AVR?) steuern und jeweils die CS Leitungen vom Master-IC durchsteuern und die Messwerte dann per SPI auslesen? Mit einem Port-Extender (MCP23017 et al.) oder einem TQFP64 AVR (z.B. ATMega644 oder ATMega128
einen größeren uC nehmen oder aber mit einem 2. uC einen "Treiber" bauen. Müsste dann wohl ein TQFP64/QFN64 sein. Der muss ja ansich nichts können. Dem kannst du via SPI, I2C, UART oder auch 1wire sagen, welche Leitung er aktiv schalten soll. Es ginge natürlich auch mit 2 uCs in DIP28/SOIC28/SSOP28..
-
Thread
AVR braucht 7us-12us bis in Interrupts ausgelöst wird??
A. K. schrieb im Beitrag #4014977: > R2–R17,R28,R29 (18 Stück) müssen nur gesichert werden, wenn die ISR sie > selbst verwendet. Aufgerufene Funktionen sichern diese Register selbst. > https://gcc.gnu.org/wiki/avr-gcc#Register_Layout davon weiß
sehr viel länger als bei ASM und die Fehlersuche in ASM ist oft die Hölle. Mit C programmiere ich AVR, ARM (Cortex) und x86/x64 ohne etwas neu erlernen zu müssen. Meinen FAT Treiber habe ich für AVR geschrieben, aber nativ am PC getestet und debuggt. Aber der Punkt ist doch: ein Code der dasselbe leistet
-
Thread
USB-Microcontroller für universelle Verwendung, I/O
kannst Du keinen LF-Typen verwenden. Wenn Du einen 3.3V PIC nehmen kannst, empfehle ich einen PIC24FJ64GB002. Gibts als SDIP28. Dafür brauchst Du zwar einen Quarz für USB, aber es ist ein 16-Bit PIC und damit deutlich angenehmer zu programmieren. Das ist halt immer eine Abwägung zwischen Stückpreis (der
ist das flexiblere von Beiden. Außerdem sind diese Projekte mit Minimalaufwand auf so ziemlich jeden AVR mit genug Speicher portierbar. Grüße Oliver [1] http://www.obdev.at/products/vusb/index-de.html [2] http://www.obdev.at/products/vusb/prjdetail.php?pid=136 [3] http://www.obdev.at/products/vusb
-
Thread
I2C Kein ACK :-(
baud #define BAUDRATE ((F_CPU)/(BAUD*16UL)-1) #define SCL_CLOCK 100000 //100 kHz #include <avr/io.h> #include <util/delay.h> #include <util/twi.h> #include<stdbool.h> #include "USART.h" #include <avr/io.h> void I2C_sende(int daten) { TWDR = daten; TWCR = (1<<TWINT) | (1<<TWEN);
Joe M. schrieb im Beitrag #4013579: > Bekomme einfach kein ACK > > Mein TWSR ist 64 = 0100 0000 (Binär) falls du das meinst. Dann schau doch mal in deine <util/twi.h> und schau nach was die 64 (oder 0x40 als hex) bedeuten. Vielleicht wird dir dann klarer was dir A.K. sagen
-
Thread
Minisolarzelle mit Stepup + Akku zur Versorgung von Attiny
- nach 1 Minute wacht der AVR auf, sendet seine Daten, pumpt den Kondensator nochmals auf und schläft dann wieder. (mag sein, daß der AVR auch während des Datenversands schon pumpen muß - das ist aber auch nicht weiter
bis Akku leer. Das heißt: hier kommt gar kein separater Step-Up zum Einsatz - das erledigt der AVR selber. Viele Grüße Igel1
-
Thread
Sammelbestellung IoT & IoE "unsinniger donnerstag"
AVR development board core board minimum system" ATmega88 M88 AVR Development Board Core Board Minimum System ATmega128M128 AVR Development Board Core Board Minimum System ATmega168 M168 AVR Development Board Core Board Minimum System ATmega324 mega324 AVR Core Board Learning Board Development Board "Arduino ATmega328 AVR Development Board Core Board Minimum System" ATmega8535 mega8535 AVR Core Board Learning Board Development Board ATmega64 mega64
-
Thread
Projekt: CNC Fräse eigenbau
Such mal GRBL. Ist für so eine einfache cnc ein schöner controller auf avr-basis.
_shared_media/08_media_library/01_publications/schaeffler_2/manualmountingoperation/downloads_7/mon28_de_en.pdf Dann bekommst du eine ungefähre Vorstellung.
-
Thread
Raspberry Pi 2 ist laaaaaangsam
genau diese Nische als Gerät gedacht, das sich zudem jeder leisten kann und das man - wie damals den C64 - einfach an den Fernseher anschließen kann.
von ARM nicht ganz so sinnvoll, man hätte beim 26-Bit Modus bleiben sollen. Für Mikrocontroller sind 64 MB reichlich, und OS nutzen ohnehin die MMU und damit logische Blöcke < 64 MB. Und bei ARM 64-bit ist ohnehin alles anders.
-
Artikel
Pollin Funk-AVR-Evaluationsboard
Motivation. Auf dieser Seite geht es um Erfahrungen eines Einsteigers mit dem Bausatz Funk-AVR-Evaluationsboard v1.1 von der Firma Pollin und um die C-Programmierung mithilfe des Boards und AVR-GCC/WinAVR. In den Beispielprogrammen wird nach Möglichkeit ein ATmega8 mit 12 MHz Quarz Taktquelle
wenn er von seiner Taktquelle angetrieben wird. Die Taktquelle für den TIMER0 kann die Taktquelle des AVR sein oder ein durch den sog. Vorteiler (Prescaler) von 8, 64, 256 oder 1024 geteilte CPU-Takt. Welcher Vorteiler verwendet werden soll, wird im Register TCCR0 eingestellt. Wenn der Endwert 255 (8-Bit
-
Thread
Modulplatine für zentrale Haussteuerung - Feedback
Beim ATtiny*61 gibt Atmel ±1mA an, beim ATtiny87/167 ±5mA, in der App.Note AVR182 reden sie auch von ±1mA und schließen einen ATmega16 über 1MOhm direkt an 230V an(!). Der Rest scheint geheim zu sein. Für die klassischen 74HC-Chips gibt NXP +20/-14mA an, für den 74HC4851 sind
verkleinern: die ist gerade mal so hoch, wie die Hutschiene und nebeneinander bekomme ich auf 10 cm 64 Ein-/Ausgänge mit 8 Modulen.
-
Thread
Problem mit Micro-SD-Karte
2952: 0f 93 push r16 2954: 1f 93 push r17 2956: cf 93 push r28 2958: df 93 push r29 295a: ec 01 movw r28, r24 295c: 8b 01 movw r16, r22 BYTE token; Timer1 = 20; 295e: 84 e1 ldi r24, 0x14 ; 20
Funktion zurückgegeben werden kann. Einen In Circuit Debugger hab ich auch nicht, nur das gute, alte AVR ISP MK II 8-0
-
Thread
Raspberry Pi 2 mit Quad-Core ARM Cortex A7, 1 GB RAM
4503.7 IOPS] Random Write 4KB (QD=32) : 7.160 MB/s [ 1748.0 IOPS] Test : 100 MB [C: 54.2% (15.3/28.2 GB)] (x1) Date : 2014/03/01 8:34:16 OS : Windows 8 [6.2 Build 9200] (x86) 64GB Class 10 UHS-1 microSD: Sequential Read : 23.673 MB/s Sequential Write : 15.861 MB/s Random Read 512KB : 23.350
auf PowerPC. Man darf halt nicht vergessen daß die Codebasis der Windowsapplikationen für x86 (32/64bit) ist.
-
Thread
China SUPER Bauteile-Schnäppchen Thread [V2] Gesperrt
oder? Kann man dann auch so etwas verwenden? http://de.aliexpress.com/item/Free-shipping-USBASP-AVR-download-cable-AVR-programmer-51-ISP-the-downline-lines-programming-AVR-ISP/1886190857.html Torsten C. schrieb im Beitrag #4155333: > Nun hatte ich die STM8S103F3P6 Module ja bereits bestellt und
STM32F103RCT6 in Einzelstücken für 2.10$ Cortex-M3, 256kb Flash, 48kb Ram, LQFP-64 http://www.ebay.com/itm/1PCS-MCU-ARM-IC-ST-LQFP-64-STM32F103RCT6-STM32F103RCT6TR-/271505510162
-
Thread
Codeansicht für *.ino ?
wenn Nicht-Arduino-Anwender mit einem Klick den C-Code sehen können, den ich in der Regel zuvor mit AVR-Studio erstellt habe. (Der Arduino Editor ist schlicht unbrauchbar.) Auch wenn beide Dateien bis auf die Endung identisch sind, teste ich die .c-Datei mit AVR-Studio und die .ino-Datei mit der Arduino-IDE
Wenn man .ino in .c umbenennt ist der Arduino-C-Code auch unter AVR-Studio zum Laufen zu bringen. https://www.mikrocontroller.net/topic/344073 Am besten entfernt man anschließend alles Arduino-spezifische um dann reinen C-Code zu haben der nur die avr-libc nutzt
-
Thread
ESP8266 hängt bei gleichzeitigem senden/empfangen
0x61,0x05,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x15,0x12,0x00,0x00,..................,0xA3,0xB0,0x8C,0xC2,0x32,0x0A,0xCB,0x28,0x2C,0xA3,0xB0,0x8C,0xC2,0x32,0x0A,0xCB,0x28,0x2C,0xA3,0xB0,0x8C,0xE2,0x8A,0x64,0x80,0x5F,0xB8,0xE3,0xB1,0xFA,0xCE,0xDB,0x5B,0x1E,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82}; [/c]
nochmals ich :P. [code] AT+CIPSEND=4,256<\r><\r><\n> > 3,CONNECT<\r><\n> <\r><\n> +IPD,3,341:GET /28.png HTTP/1.1<\r><\n> Host: 192.168.4.1<\r><\n> Connection: keep-alive<\r><\n> Accept: image/webp,*/*;q=0.8<\r><\n> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like
-
Thread
LED Blinker Multitasking Attiny 85
Attiny 85, mit folgendem Code in C [c] /* * GccApplication25.c * * Created: 14.01.2015 22:24:28 * Author: mb_win 7 */ #include <avr/io.h> #define F_CPU 8000000UL //Taktfrequenz 8MHz #include <avr/io.h> #include <util/delay.h> int main(void){ DDRB |= (1 << PB0);
einigen Schwierigkeiten hat es funktioniert. Hier das Beispiel. [c]avr.device = atmega32 //Controller-Typ festlegen avr.clock = 8000000 //Dem Compiler mitteilen mit welcher Taktrate der Controller läuft avr.stack = 64 //Den Programmstack einstellen #define
-
Thread
Daten mit Wiz550io als TCP Client versenden
Die Befehlsfolge beim Start: -IP des Wiz550io ändern // {0x00, 0x0F, 0x04, 0xC0, 0xA8, 0x0A, 0x64} -Modus von Socket 1 auf TCP ändern // {0x00, 0x00, 0x2C, 0x01} -Destination IP übertragen // {0x00, 0x0C, 0x2C, 0xC0, 0xA8, 0x0A, 0x01} -Destination Port übertragen // {0x00, 0x10, 0x2C, 0xEC,
aufgebaut. Mit dem Debugger in LABWindows CVI lässt sich das (im Gegensatz zu AVR Debugger) sehr komfortabel verfolgen und man muss nicht dauernd einen neuen Code in den Controller laden. Weil das alles so gut ging habe ich mir in einem weiteren Schritt das Vergügen gegönnt
-
Thread
Zeigt her eure Kunstwerke (2017-2019) Gesperrt Bilder
LED-Controller Boards sind erst mal unabhängig von dem Wecker entstanden und besitzen jeweils einen AVR. Und der ATTiny ist mit dem Abspielen von 64kHz Stereo Audio bei 8 Bit pro Sample von SD-Karte bei 8MHz komplett Ausgelastet. ;-) > Nen Mega64 hat 6 16Bit PWMs, damit hätten sich 3 Atmegas zu einem
Gezeigt hier ist ein einfacher ICSP Programmier-Adapter für ATMEL 28 und 40-pin AVRs wie ATMEGA32-1284 und 328 u.a. Anschlüsse für AVR-ISP MK2 und Serial USB Adapter für avrdude Bootloader sind vorgesehen (Arduino). Quarz Beschaltung bis auf 24MHz getestet. Den Quarz
-
Thread
LON Bus Windhager mitlesen/steuern
request with command 8, APDU Destin&Type = 0x68, the response I get has the APDU Destin&Type = 0x28 This is then an application message, not a network message, and the thing is, the '2' in 0x28 is then part of the command. Which makes the response command = 0x28 (40), but it should be 8 See following
and the Response NPDU's, excluding CRC [code] 19 01 fe 01 bc 54 01 68 02 19 01 bc 01 fe 54 21 28 01 00 4f [/code] So, my question is, where does the 2 in 0x28 response Destin&Type come from? It seems to me the response command is 0x28, not 8. But that is not consistent with the protocol specification
-
Thread
ATmega8: Das Buch
/AVR" zum freien Download bereit (auf der Homepage ist kein Link auf '/AVR'). Der Username ist "AvrBuch" und das Passwort "ATmega8" (Schreibweise beachten!). Von der dann erscheinenden Seite kann man
Ich muss mich noch einmal zu Wort melden. Es gibt schon ein sehr gutes Buch und eben für moderne AVR. Das AVR Kochbuch.
-
Thread
Conways Game of Live zu langsam auf Z80
setup/loop-Funktionen auf eine main()-Funktion umschreiben, wenn man die Serial-Ausgabe über andere AVR-Serial Routinen macht.
#0x00 4B5C 252 00105$: 4B5C CB 7A [ 8] 254 bit 7, d 4B5E 28 04 [12] 255 jr Z,00109$ 4B60 16 17 [ 7] 257 ld d,#0x17 4B62 18 0D [12] 258 jr 00110$ 4B64 259 00109$: 4B64 3E 17 [ 7]
-
Thread
I2C programmierung lernen
bin auch für die Lösung der Zentralen Steuerung und gegen "parallele" Schaltwege. Schnapp dir einen AVR der als Gehirn den Zustand deiner Aktoren überwacht und bei Bedarf jedem der will Auskunft gibt. Bus ------> |AVR| ---> Relais Schalter -> |___| Gruß deathfun
gefunden: http://www.ethersex.de/index.php/Ethersex_(Deutsch) Auszug: unterstützt Atmega 8,16,32,64,128,644 und viele mehr nutzt den Ethernet-Controller ENC28J60 leicht anzupassen und zu erweitern um deine Anforderungen zu erfüllen Protokolle: TCP/IP IPv4/IPv6 OpenVPN Software USB stack RFM12
-
Thread
Anfänger in C und welcher PIC (evtl. uno32) ist geeignet ?
zu PICs gesehen, die nicht gelöst werden konnte, auch wenn hier 10 mal mehr AVR Leute unterwegs seien sollten. Axel Schwenke schrieb im Beitrag #3922524: > Das ist sicher nicht verkehrt. Auf jeden Fall wirst du zu AVR hier mehr > Hilfe bekommen als zu PIC Wie gesagt würde
/hilfreich/ ansiehst. Aber ich sehe hier nirgends ein PIC-Äquivalent zum [[AVR-Tutorial]] oder [[AVR-GCC-Tutorial]]. Und Leute wie PeDa oder Johann L. scheint es in der PIC-Fraktion auch nicht zu geben. Ich lese da immer nur Spinner, die jaulen als ob ich sie persönlich beleidigt
-
Thread
C lernen / suche passendes Buch
spezielle Controller einzugehen, letzteres ist speziell für Atmel AVR Controller. Und nicht zu vergessen: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
seiner Doppelbedeutung (keine geniale Idee der Entwickler): http://en.wikipedia.org/wiki/Static_%28keyword%29
-
Thread
8 Bit Berechnung schnell, schneller am schnellsten
Implementation einer 3D Rotation mit perspektivischer Projektion in 6502 Assembler: http://codebase64.org/doku.php?id=base:3d_rotation AVR-Assembler ist für Anfänger, kann ich dazu nur sagen...
also 3 Takte mehr. Es müssen >> ja nur beide Faktoren vertauscht werden. > > Ja, stimmt. Aus den 28 Ticks werden dann 32. Hier noch die AVR-Version mit den 32 Ticks und ohne Restriktionen an die Parameter, wie oben gemäß avr-gcc ABI aber etwas mehr kommentiert. Die Berechnung verwendet [math
-
Thread
Galvosteuerung mit PWM
damit du dann noch > 256 Bit unterbringst, muss der PWM-Zähler mit 512MHz zählen... 16 MHz / 64 / (180+1) = 1381.2Hz wäre meine maximal Frequenz, allerdings kann ich in dem Fall nur Kanal B nutzen. 16 MHz / 64 / 256 = 976.5625Hz ist die maximal Frequenz für A und B gleichzeitig oder liege
I/O-pins. Ein Beispiel findest du in der MiniDDS-Schaltung von Jesper: http://www.myplace.nu/avr/minidds/
-
Thread
[V] USB-AT(X)MEGA- und STM32-Boards im Dual-In-Line-Format
braucht. Nicht mehr und nicht weniger! Es gibt folgende Module: U2DIL: AT90USB162 oder ATMEGA32U2, 28-polig U4DIL: ATMEGA32U4, 40-polig U6DIL: AT90USB1286, 64-polig X4DIL: ATXMEGA32A4U oder ATXMEGA128A4U, 40-polig X3DIL: ATXMEGA256A3U, 64-polig B1DIL: AT32UC3B1256 (AVR32), 40-polig B0DIL: AT32UC3B0512 (AVR32), 64-polig S64DIL: STM32F103RGT6 (ARM Cortex-M3) oder STM32F405RGT6 (ARM Cortex-M4), 64-polig Darüber hinaus gibt es noch den "AVR-Stick", einen AT90USB162 oder ATMEGA32U2 in einem kompakten USB-Stick-Format
-
Thread
Mikrocontroller mit PC via HID
Hallo, folgendes Problem.. Ich bin gerade dabei, eine große Anzeige mit 64x8 LEDs zu realisieren, als Projekt in der Schule zu Lernzwecken. Ich möchte nun eine Datenkommunikation zwischen dem µC (Atmega644) und dem PC herstellen, hierfür habe ich auf der Platine einen MCP2200
Empfang des nächsten Datensatzes wieder frei. Beispiel: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Der_UART#Empfangen_.28RX.29 Gruß Dietrich
-
Thread
AVR-Mikrocontrollertechnik-Kursus in Assembler besprechung Gesperrt
hI >Ist der Simulator vom AVR-Studio 4.19 Build 730 mal wieder Bugy, ... Ja, ist er. Vor allem , was Hardware-Module angeht. Näheres dazu findest in der AVR-Hilfe unter 'Known Issues'. MfG Spess
wird das H-Flag gesetzt. Das trifft die Sache besser : http://www.mikrocontroller.net/articles/AVR-Tutorial:_Vergleiche#Half_Carry_.28H.29 Für die Subtraktion werde ich mir das so merken, das dies sich invertiert zur Addition verhält. Beim addieren komme ich mit dem H-Flag irgendwie besser zu
-
Thread
C++ auf einem MC, wie geht das?
pue; // PUEx pull up enable }; Und definiere dann meine Ports als Konstante . #ifdef __AVR_ATmega16__ constexpr AvrPortRegsTyp1 PORTA = {0x19,0x1A,0x1B}; constexpr AvrPortRegsTyp1 PORTB = {0x16,0x17,0x18}; constexpr AvrPortRegsTyp1 PORTC = {0x13,0x14,0x15}; constexpr AvrPortRegsTyp1 PORTD = {0x10,0x11,0x12}; #endif // __AVR_ATmega16__ #ifdef __AVR_ATtiny1634__ constexpr AvrPortRegsTyp2 PORTA = {0x0F,0x10,0x11,0x12}; constexpr AvrPortRegsTyp2 PORTB = {0x0B,0x0C,0x0D,0x0E}; constexpr AvrPortRegsTyp2 PORTC = {0x07,0x08,0x09,0x0A
-
Thread
Richtiges C++ hardwarenah
Von atmega32 auf atmega64 portieren ist auch portieren :-)
billig ... da ist kein ct übrig für ein Wiznet oder anderen fertigen LAN chip .. hmm was nun ? AVR+ ENJ28? zusammen leider teurer als ein Cortex M3+phy ... und ebenso zu langsam ... denn im PH steht vorgabe : datenrate xxMbit/s damit bleiben nur die total unnötigen 32bitter übrig ... also
-
Thread
1000 Leds an Atmega32
hängen an jedem Anodentreiber 64 LEDs, also muss der, wenn jede LED 5 mA braucht, mit 5 x 64 = 320 mA belastbar sein. Geht nicht mit 2981. Georg
Georg schrieb im Beitrag #3886357: > So beschaltet hängen an jedem Anodentreiber 64 LEDs, also muss der, wenn > jede LED 5 mA braucht, mit 5 x 64 = 320 mA belastbar sein. Geht nicht > mit 2981. Wieso soll der UDN das nicht aushalten ? Max. 350mA bei 33% Duty Cycle, also 1/