-
Thread
Einstieg(scontroller) in Ethernet Kommunikation mit STM32
angesteuert. -> Ethernetkabel -> -> Mainframe mit weiterer STM32 MCU, die über (SIPO) Power-Shift-Register Relais schaltet, deren "Zustände" denen der LEDs an der Remote entsprechen. Könnte natürlich ggfs. auch ein einfacher AVR sein, allerdings habe ich mich jetzt
AlterSack schrieb im Beitrag #6634003: > Ich bin bei ST bislang regelmaessig mit dem STM32F107 schon > gut zurechtgekommen. Klar, ein AVR reicht für's Bitklappern wohl auch.
-
Thread
Softwareversion im Flash hinterlegen.
Bootloader und die Anwendung einbauen und dann vergleichen [c] typedef struct hw_compat_struct { uint32_t rev : 5; // PCB-Revision, MBZ, außer im Bootloader (0, 'A'&31) uint32_t dash : 7; // Sachnummer (-01) uint32_t pcb : 20; // Sachnummer (100001 bis 999999) uint32_t part; //
Egal, hier ist eins von mir für ein Programm namens gps. Es ist etwas gekürzt und für einen STM32 (AVR kann ich nicht), aber im Prinzip funktioniert es so. [pre]/* gps.ld linker script */ MEMORY { /* STM32L412KBT (32 + 8K RAM, 128K Flash) */ hw_flash (rx) : ORIGIN = 0x08000000, LENGTH
-
Artikel
Word Clock Variante 1
32 Lötkontakte für die Ausgänge der vier Sourcetreiber (UDNs) auf +13,6 V liegen. Zum Anlegen der Testspannung eignen sich sehr gut Messkabel mit Prüfspitzen. Die Prüfspitze des Minuskabels wird dabei auf
: 1 All-On-One-Platine, 100 RGB-PLCC6-LEDs und 155 SMD-Widerstände Paket 5 (Uhr - STM32 Basis - WS2812) - nicht mehr verfügbar : 120 WS2812-LEDs als Stripe im Sonderabstand Paket 6 (Ambilight - STM32 Basis - WS2812) - nicht mehr verfügbar : 40 WS2812-LEDs als Stripe im Sonderabstand Es
-
Thread
Einsteigerfreundliches board für Roboter motion
Systemen > trigonometriefunktionen relativ langsam sind (kann auch mein > unzureichende weltbild von avr sein) Bereits "kleine" STM32G4 besitzen unter Anderem einen CORDIC zur Hardwarebeschleunigung. Stefan S. schrieb im Beitrag #6631735: > Die Schüler sollen dann einen Arduino, oder einen raspberry
auf einem F103 problemlos läuft. Warum auch nicht, das gibts sogar für 8 Bit Mikrocontroller wie AVR. STM32 gabs noch gar nicht als FreeRTOS entwickelt wurde... Stefan S. schrieb im Beitrag #6634980: > dass die can > Leitungen den Einsatz auf einer mobilen Roboter Plattform nicht so gerne
-
Thread
ATMega4809 EVSYS, total überfordert
Hallo Veit Devil, nun, dann will ich, als AVR-Studio 4.11 Nutzer (und für mich abschließend), noch eine gewisse Frustration loswerden: wo beim ATmega4809 noch ein 'EVSYS_USEREVOUTF' reichte, verlangt Microchip für die AVR-Dx 'EVSYS_USEREVSYSEVOUTC
> megaAVR0 ... Eventsystem EVOUTx Override ... Nun, wie bereits erwähnt, gilt das auch für AVR-DB (und hat dort den wohlklingenden Bezeichner 'EVSYS_USEREVSYSEVOUTx' (woran sich aber natürlich nichts mehr
-
Thread
STM32 HSE bypass mode
das liegen könnte? Anbei der Code der Clock Initialisierung [c] void Rcc_Init(void) { uint32 xStartUpCnt_u32 = 0; uint32 xStateHse_u32 = 0; uint32 xStatePll_u32 = 0; uint32 xSrcSysClk_u32 = 0; LL_RCC_HSE_EnableBypass(); /* Enable HSE */ LL_RCC_HSE_Enable(); /* Wait till HSE is ready and if Time out is reached exit */ do { xStateHse_u32 = LL_RCC_HSE_IsReady(); xStartUpCnt_u32++; } while((xStateHse_u32 == 0) && (xStartUpCnt_u32 != RCC_HSE_STARTUP_TOUT)); if (LL_RCC_HSE_IsReady()) { xStateHse_u32 = (uint32_t)0x01;
-
Thread
AD7177 SPI Kommunikation durch Schleifringe
beiden Geräte außer Takt und es geht nichts mehr. Löst du dann denn wenigsten mal einen Reset aus (64+ Clocks with DIN high)?
Entkoppelkondensator für den 74HC14 nicht vergessen! Ach so, der 74HC14 invertiert, also musst du im AVR einen anderen SPI-Mode einstellen (SCK invertieren). Wenn das nicht reicht, dann vielleicht noch einen RC-Tiefpass vor den 74HC14 mit vielleicht 100Ohm + 220pF.
-
Thread
Fremdlichtunterdrückung - Modulation vs. Subtraktion
Danke dir für die Hinweise, ich schau mal ob ich bzw. der AVR ADC es hinbekommen.
schonmal die nächsten Schritte angedacht (bitte korrigieren!): Momentan wird nur ein Rechteck mit 32 Pulsen "gesendet" (32, da 64 Werte gut in den Speicher passen). Um mehrere Sensoren gleichzeitig betreiben zu können, müsste ich im Idealfall Rauschen senden. Da Sender und Empfänger eine Einheit sind
-
Thread
ATmega8U2 Quarz
drin sind. Wenn Dir das nicht reicht, musst Du halt was moderneres nehmen. Ein PIC24F64GB002 geht auch bei 16MHz, ein PIC32MX250F128B läuft mit 50MHz, und so viel teurer sind die auch nicht. Bei denen läuft der Kern nur noch mit 1.8V, nur die IO-Treiber laufen mit 3.3V fchk
3V nur 8MHz drin sind. Wenn Dir das nicht > reicht, musst Du halt was moderneres nehmen. Ein PIC24F64GB002 geht auch Super danke für die Ausführliche Antwort dan ist alles klar. Danke
-
Thread
Windows 7 oder 10 installieren?
problemlos. > Bei 10 ist dann so gut wie Ende. Kaum ein generelles Problem von W10. Wenn du W10 32Bit nimmst, wird es sich installieren lassen.
michael_ schrieb im Beitrag #6651897: > Kaum ein generelles Problem von W10. > Wenn du W10 32Bit nimmst, wird es sich installieren lassen. Meine uraltes Corelpaint V11 läuft problemlos unter aktuellstem Win 10 64 Bit. Oliver
-
Thread
ATmega32U4: HS-Speed ISR(TIMER4_COMPA_vect)
und dann kam das raus, was hier in SHS00002.BMP zu sehen ist. aktuelles Programm [c]#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> void setCompareValue(uint8_t compareValue){ uint8_t sreg = SREG; cli(); TC4H = (compareValue >> 8); OCR4A = (unsigned char)compareValue
! Code das PLL ein. Erstmal ohne weiteren Pin. Nur dem Timer den PLL zuführen. [c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> void setCompareValue(const uint16_t compareValue) { TC4H = (compareValue >> 8); OCR4A = (compareValue & 0xFF); } int main(void
-
Thread
serieller TX mit delay in Software (AVR, UART)
angepasst werden. Ich hatte zuvor Schieben mit variablem i drin (d&(1<<i)), so sind's schonmal 32 Byte weniger (neues Timing noch nicht getestet, Takt 1MHz): [c] uint16_t d = 0b1000000000 | (c<<1); // stop, data LSB first, start for(uint8_t i=0; i<10; i++){ if( d & 1 )
- das ganze ist eben ein Weg aus der Computersteinzeit. Zuletzt habe ich das gesehen bei ZX80 und C64. Georg
-
Thread
USART RS485 Daten empfangen über ISR
Microchip MPLAB X IDE 5.45 Hier die Initialisierung der UART Schnittstelle: [code] #ifndef __AVR_ATtiny3217__ #define __AVR_ATtiny3217__ #endif #define F_CPU 3333333UL #include <avr/io.h> #include <avr/interrupt.h> #define USART0_BAUD_RATE(BAUD_RATE) ((float)(F_CPU * 64 / (16 *
noch nicht hin, ich komme einfach nicht weiter :( [code] #define F_CPU 3333333UL #include <avr/io.h> #include <util/delay.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)
-
Thread
Beta der Arduino IDE 2.0 verfügbar
eines Arduino Uno führte zur Einblendung einer Meldung, die zum Installieren des Arduino-Cores für AVR-Prozessoren aufforderte. Danach liess sich ein blink()-Programm zur Ausführung bringen. Interessant darin war, dass das Laden des nach wie vor im Examples-Menü zur Verfügung stehenden Beispiels nach
mag ja für die Mehrheit der Benutzer völlig egal sein, aber die neue IDE lässt sich nur noch unter 64-Bit Systemen betreiben. Da beim Download nur explizit von Windows10 die Rede ist könnte es sogar sein dass es unter Windows 7/64 auch nicht funktioniert. Ist für mich aktuell nicht nachprüfbar.
-
Thread
AVR Assembler, Macro, Conditional mit Register
Assembler. Cool. Falls man nur die Auflösung, aber keine große Dynamik braucht, kann man unter AVR-GCC auch int64_t benutzen. Die Winkelfunktionen fehlen dann natürlich. Der AVR-IAR kann auch 64Bit double.
4-6b ; outi16 @0 Ziel, @1 Data16, 4-6c, 8-12b ; outi24 @0 Ziel, @1 Data24, 6-9c, 12-18b ; outi32 @0 Ziel, @1 Data32, 12c, 24b ; outi40 @0 Ziel, @1 Data40, 15c, 30b ; outi48 @0 Ziel, @1 Data48, 18c, 36b ; outi56 @0 Ziel, @1 Data56, 21c, 42b ; outi64 @0 Ziel, @1 Data64, 24c, 48b ; ;====
-
Thread
Attiny2313 Timer16 Bit, Normal Mode, unsauber
Teil von: SLdt 210308 (Disclaimer: None. Sue me.) ATtiny2313: DDS 440 Hz Sinus */ #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #define F_CPU 10000000 #define ICR 256 #define PWM F_CPU/ICR #define A4 440 #define A4_Phasendelta 2684 // (A4/PWM*65536) #define
69, 68, 68, 67, 67, 67, 67, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65, 65, 64, 64, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 66, 67, 68, 69, 71, 72, 73 }; [/c]
-
Thread
Microcontroller Auswahlhilfe
des chips geht, ist ein kleiner Microcontroller schon von Vorteil. Hier spricht nichts gegen einen AVR, besonders wenn du damit schon Erfahrung hast. Wenn du dich aber gerne einmal in eine 32bit Mikrocontroller Familie einarbeiten möchtest, spricht nichts dagegen, das mit diesem Projekt zu machen.
µC Familien gearbeitet, kann also nicht sagen, wie diese im Vergleich zu STM32 sind.
-
Thread
Multicore embeddedsystem? Viele Fragen!
hätte Atmel damals einen sinnvollen Anwendungsfall für ein Multicore AVR System gefunden?
Was nimmt man denn als OS für ein 32Bit Multicore µC, wenn es am RAM für ein abgespecktes Linux fehlt?
-
Thread
DDR Schach-Computer Chess Master Diamond reparieren (Dauerton)
1ms, 5 V 37 M1 4,42 V, nach 43,2ms Takt für 42,5ms, 5 V 36 IORQ 3,80 V, nach 85,8ms 1,32 V 35 RD 3,92 V, nach 43,0ms Takt für 42,6ms, 1,32 V 34 B7 0,21 V, zackelig 33 B6 0,00 V 32 B5 0,04 V, wackelig mit Spitzen auf 1,2V 31 B4 0,04 V 30 B3 0 V
statisch und lässt sich verfolgen. Ich habe damals die Roms meines Chessmaster (ohne Diamond) mit einem AVR ausgelesen, CPU per BUSREQ gestoppt, Präzisionssockel von oben auf den Z80 gepappt und mit Flachbandkabel zum AVR-Board usw. Der alte Thread hilf ihm aber hier nicht weiter: https://www.mikrocontroller.net
-
Thread
segger J-Link EDU
und gewerblich sollte man sich einen 'guten' Segger leisten können. Mit BMP habe ich schon LPC, STM32 und nRF µC programmiert, das ist schon ein große Palette. Und Hobby ist heute ja nahezu only STM32, ESP und jetzt ein bisschen noch der RP2040.
kann die richtigen Stellen mit ein wenig Erfahrung im Debuggen von PC Assembler Code (x86 und/oder x64) ziemlich schnell finden.
-
Thread
Frage zu Externes SRAM(XMEM) und Atmel Studio 7
jetzt die vollen 64kB ansteuern oder nicht? Im Linker habe ich eingestellt das die .data Sektion bei 0x802200 beginnt, also nach dem internen SRAM. Nix desto trotz habe ich den SRAM schon mal getestet. Denn Linker habe
. https://scienceprog.com/adding-external-memory-to-atmega128/#more-2513 http://www.nongnu.org/avr-libc/user-manual/mem_sections.html www.nongnu.org/avr-libc/user-manual/malloc.html
-
Thread
BME680 Berechnung Temperatur Luftfeuchtigkeit Druck Gas Fragen Initialisierung Assembler ASM ATmega8
angegebene Routine für eine Integerrechnung sieht wie folgt aus:[c] static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev) { int64_t var1; int64_t var2; int64_t var3; int16_t calc_temp; var1 = ((int32_t) temp_adc >> 3) - ((int32_t) dev->calib.par_t1 << 1); var2 = (
Bernhard S. schrieb im Beitrag #6592356: > "int64_t var1" wird damit eine 64Bit Variable definiert? Öhm...durch int64_t !?! Bernhard S. schrieb im Beitrag #6592356: > var1 = ((int32_t) temp_adc >> 3) - ((int32_t) dev->calib.par_t1 << 1); Ernsthaft
-
Thread
STM32 USB Übertragungsproblem mit Code von S.F.
deutlich größer oder kleiner machst. Zum Beispiel 16 Bytes versus 1024 Bytes. (txLen muss nicht >64 sein, aber eine Zweierpotenz (4,8,16,32,...)
/c etc. für diese 3 Prozessoren, und für manche Projekte auch ein CPU-übergreifendes H-File für STM32 und AVR. Ich komme einfach nicht mehr hinterher, in einem Projekt eine Datei zu ändern und dann daran zu denken, diese Änderung auch für die anderen Prozessoren/Projekte einzuflechten. Irgendwann hat
-
Thread
Eagle noch gefragt?
einem Forum bewerten, wo sich zu großen Teilen Hobby Bastler befinden. Nur weil hier beispielsweise AVR und STM32 dominieren, ist dies auch keine Allgemeingültigkeit. Wenn man sich zum Beispiel das Automotive Umfeld anschaut, wird man feststellen, das hier ganz andere Controller und Architekturen den
den Schaltplan ja auch mal nutzen. Da ist dann diese heilige Übersicht eher im Weg. Bei einem QFN 64 darf man dann erstmal die Eckpositionen suchen und dann einzeln abzählen. Man sieht auch keine evtl. Brücken und bei GND geht die Suche von vorne los, wo die OSC Pinds liegen ist auch nicht klar und
-
Thread
Frage zu Datentypen in C++
mh schrieb im Beitrag #6595155: > Ich habe explizit nach 64 Bit Systemen gefragt, bei denen sizeof(double) > == sizeof(float) ist, da es ja "nicht ungewöhnlich" sein soll. Gibt es: GCC für AVR hat nur 32-Bit Floats.
cppbert3 schrieb im Beitrag #6595348: > Verstehe ich nicht, egal ob 32 oder 64 bit system, float(single > precision) sind 4 und double(double precision) 8 bytes, in den letzten > Jahrzehnten... Nicht bei GCC für AVR. Ist aber ein 8-Bit System.
-
Thread
Wie die Zellenspannungen an einem 16S Akkupack mit DAC messen
Balancer im Reva (16S) die Akkus jeweils in 4er-Gruppen unterteilt. Da hängt dann eine Platine mit AVR-10Bit-ADC (per Oversampling auf 12Bit aufgepoppt) dran. Muss man halt mit Optokopplern die Kommunikation machen.
? Framulestigo schrieb im Beitrag #6591353: > per Oversampling auf 12Bit aufgepoppt Daß der AVR-ADC auf 12Bit monoton ist, glaubst aber auch nur Du.
-
Thread
RIP AtmelStudio
? Eagle und AVR sind einfach nur sowas von Stand 2000. Nimm doch einfach KiCad und STM32 :)
einsetzen, wenn man doch den avr-gcc hat? > Das ist dann wohl das Ende vom AVR :-( Ich habe AVR-Studio noch nie benutzt sondern avr-gcc und make. Das wird immer funktionieren.
-
Thread
große UDP Pakete mit lwIP auf STM32F7
ich teste gerade welche UDP Paketgrößen ich mit einem STM32F746 senden kann. Durch vergrößern von MEM_SIZE (heap für ausgehende Pakete) kann ich jetzt 4k Brocken versenden, lwIP fragmentiert die korrekt. Nun habe ich im EEVblog den kernigen Spruch 'Friends don't
Medienübergänge und es ist schließlich Teil der unteren IP Schicht, aber die großzügige Auslegung mit 64k für unendlich viele Verbindungen heute eher Probleme macht. Wie hier schon genannt wurde, wird das in einem dedizierten LAN Segment funktionieren, und sowas habe ich. Es geht um Industrie und nicht
-
Thread
Kicad V6 Preview - Erfahrungen
libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.41.0 Platform: Windows 10 (build 18363), 64-bit edition, 64 bit, Little endian, wxMSW Build Info: Date: Feb 14 2021 22:01:26 wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) Boost: 1.73.0 OCE: 6.9.1 Curl: 7.71.0
3.0.5 libcurl/7.74.0 OpenSSL/1.1.1h zlib/1.2.11 libidn2/2.3.0 Platform: FreeBSD 12.2-STABLE amd64, 64 bit, Little endian, wxGTK, , Build Info: Date: Jan 31 2021 21:56:47 wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24 Boost: 1.72.0 OCC: 7.5.0 Curl: 7.74.0
-
Thread
OLED128x128 SSD1351 RGB Initialisierung Color Farbe bunt SPI 3.3V AVR ATmega8 ATmega328p Assembler
Abweichung? Ich erkenne kaum noch Optimierungspotential: [code] OLED_CLEAR: ldi ZL,low (128*32) ldi ZH,high(128*32) OLED_CLEAR_s: SPI_TX_NULL SPI_TX_NULL SPI_TX_NULL SPI_TX_NULL SPI_TX_NULL SPI_TX_NULL SPI_TX_NULL SPI_TX_NULL sbiw ZL,1 brne OLED_CLEAR_s ret
Abweichung? > > Ich erkenne kaum noch Optimierungspotential: > OLED_CLEAR: > ldi ZL,low (128*32) > ldi ZH,high(128*32) > OLED_CLEAR_s: > SPI_TX_NULL > SPI_TX_NULL > SPI_TX_NULL > SPI_TX_NULL > SPI_TX_NULL > SPI_TX_NULL > SPI_TX_NULL > SPI_TX_NULL > sbiw ZL,1 >
-
Thread
Tasten entprellen per Software
Deine Links beschreiben Tastatur-Controller, die es so schon seit 20 Jahren nicht mehr gibt. Die AVR-8-Bitter können auch keinen OpenDrain-Output, aber das heisst nicht, dass es unmöglich wäre (OpenDrain kann man bei AVRs emulieren, indem man sie auf Input mit Pullup stellt). STM32 können das von Haus
Also... Mir wurde hier mal erklärt, dass Arduino voll scheiße ist, weil der millis() Zähler nur 32Bit breit ist, denn 64 Bit wäre viel sinnvoller. Jetzt weiß ich gar nicht mehr, wem ich ich in dem Zusammenhang glauben darf. ;-)
-
Thread
ATMEGA 8515-16 lässt sich brennen- mehr nicht
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\MajorCore-master\avr/avrdude.conf" Using Port : COM5 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part
\MajorCore-master\avr/bootloaders/optiboot_flash/bootloaders/atmega8515/16000000L/optiboot_flash_atmega8515_UART0_115200_16000000L_B0.hex: avrdude: input file C:\Program Files (x86)\Arduino\hardware\MajorCore-master\avr
-
Thread
AVR C Programmierung unter Linux
=64 avr3/long-double32;@mmcu=avr3@mlong-double=32 avr31/double64;@mmcu=avr31@mdouble=64 avr31/long-double32;@mmcu=avr31@mlong-double=32 avr35/double64;@mmcu=avr35@mdouble=64 avr35/long-double32;@mmcu=avr35@mlong-double=32 avr4/double64;@mmcu=avr4@mdouble=64 avr4/long-double32;@mmcu=avr4@mlong-double=32 avr5/double64;@mmcu=avr5@mdouble=64 avr5/long-double32;@mmcu=avr5@mlong-double=32 avr51/double64
-
Artikel
4000 Stellen von Pi mit ATtiny2313
und ELF): Medium:4000Pi.zip (60KB) /* pi.c: Compute the first 4000 hexadecimal digits of pi on an AVR ATtiny2313 microcontroller. */ /* Language: C99 Compiler: An AVR toolchain based on avr-gcc 4.7 or newer and AVR-Libc if you like to compile for AVR ATtiny2313, or a C99-compliant compiler if you like
pi.exe gcc pi.c -o pi.exe -std=c99 -O2 -lm The only compiler that produces code small enough for the AVR ATtiny2313 is avr-gcc 4.7+ together with AVR-Libc. avr-gcc pi.c -o pi.elf $(CFLAGS) $(OPT) $(DEFS) $(LDFLAGS) with the following abbreviations for convenience: CFLAGS = -std=c99 -mmcu=attiny2313 OPT
-
Thread
ADF4351 Windows Applikation
Artikels: https://www.mikrocontroller.net/topic/512619 Getestet ist das Programm auf Windows 7/32 und Windows 10/64. Was dazwischen liegt sollte auch funktionieren. Aufpassen sollte man bei Installation und Betrieb dass man mit genügend (Administrator-) Rechten arbeitet. Wer das nicht kann
Fractional-N synthesizer and integer-N synthesizer Low phase noise VCOProgrammable divide-by-1/-2/-4/-8/-16/-32/-64 output Typical jitter: 0.3 ps rmsTypical EVM at 2.1 GHz: 0.4% Power supply: 3.0 V to 3.6 V Logic compatibility: 1.8 V Programmable dual-modulus prescaler of 4/5 or 8/9 Programmable output power
-
Artikel
Akku Tester
Einstellungen ins interne EEPROM Loggen der Daten auf eine SD-Speicherkarte mit FAT12 / FAT16 / FAT32 Spannungen bis 40V Strom bis 5A Drehzahlregelung eines Lüfters zur Kühlung Mehrere Logdateien können auf einer SD-Karte abgespeichert werden da der Dateiname einstellbar ist Elektrische Daten Betriebsspannung
Eagle Schema und das PDF sind hier: AkkuTester_HW_2010_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