-
Thread
TIPP: Atxmega DFU-Bootloader auf eigenen "Boot-Pin" verbiegen (direkt im Hex-File)
gemacht. Es fallen ja schon die Größenunterschiede bei den mitgelieferten Files auf: [code] > avr-size ../binaries/atxmega32a4u_104.hex ../binaries/atxmega128a4u_104.hex text data bss dec hex filename 0 3944 0 3944 f68 ../binaries/atxmega32a4u_
Fehlermeldung des objdump-Befehls war gut, so muss man die Prüfsumme nicht selbst berechnen. Wenn man den "avr-objdump"-Befehl noch mal auf der veränderten "atxmega128a4u_104.hex" ausführt, dann wird ein Fehler ausgegeben mit der Nachricht welche Prüfsumme erwartet wird. Beim ersten mal ausführen wurde zum
-
Thread
Hat schon jemand den LPC810 getestet?
Da ist er. Außer Blinky läuft aber noch nicht viel. Der Code scheint deutlich größer als beim AVR zu werden. Die 4kb kann man also nicht mit 4kb beim AVR vergleichen..
.loc 1 45 0 44 0014 5968 ldr r1, [r3, #4] 45 0016 8022 mov r2, #128 46 0018 D200 lsl r2, r2, #3 47 001a 0A43 orr r2, r1 48 001c 5A60 str r2, [r3, #4] 54 0020 00800440 .word 1074036736 55 0024 FFFBFFFF .word -1025
-
Thread
MAX7456 & STM32 Charakter überschrieben
****************************************************************/ #include "main.h" #include <avr/io.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "max7456_software_spi.h" #if (ALLCHARSDEBUG|(WRITECHARS != -1)) /** * easy char creation: * http://www.mylifesucks.de
0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x51,0x51,0x2a,0x08,0x48,0x20,0x8a,0x28,0x20,0x88,0x88,0x20,0x88,0x88,0x2a,0x08,0x08,0x20,0x48,0x48,0x21,0x48,0x48,0x21,0x48,0x48,0x21,0x48,0x48,0x45,0x51,0x51}; // 0 // 1 // 2 // 3 //
-
Thread
Problem mit INA128 - Shunt verstärker
In welcher Relation steht denn dein "Netzteil+" zum Common-Mode Voltage Range des INA128?
60V-Netzteil nur mit viel Optimismus einsetzbar, geht aber schon einmal deutlich weiter als der INA128
-
Thread
Feedback zum Artikel "Plattformunabhängige Programmierung in C"
, etwa beim Wechsel von avr-gcc 4.6 zu avr-gcc 4.7. Ein Hinweise und Anmerkungen dazu, um zumindest ein Problembewusstsein dafür zu schaffen, fände ich angebracht. So geht es an vielen anderen Stellen des Artikela auch eher
da, die Abhängigkeit explizit zu faktorisieren, z.B. [c] #if defined (__GNUC__) && defined (__AVR__) /* avr-gcc */ #elif defined (__GNU__) && defined (__i386__) && __SIZEOF_DOUBLE__ == 4 /* GCC auf x86 mit -fshort-double #else #error Platform not handled yet. Feel free to contribute #endif
-
Thread
fremdes Layout erkennen, verstehen und verändern (Bauteilsuche und Funktionsvodoo)
Bauteile: --->PIC16F737-I_SP 28 Beine haben ja auch manche Atmega, doch alle Datenblätter der "ATmega48A-48PA-88A-88PA-168A-168PA-328-328P" etc. führen die PWMs auf PIN15,16,17 und Versorgungsspannung auf PIN7,8,21,22. Habe ich einen PDIP Typ übersehen? Ich möchte mich nur nicht später ärgern, wenn es
Was willst Du machen, willst Du es umbauen? Pinkompatibel sind nur die 14-poligen und 6-poligen AVR/PIC. Der 4093 bildet mit dem Poti einen Oszillator, vermutlich hat dieser PIC keinen ADC.
-
Thread
Diskussion zum Artikel "Single Chip Frequenzumrichter" für den 2. MC Wettbewerb
was du meintest. Hier ist diese Zeile: #ifdef PURE_SINE_DRIVE tempU = 128 - ((uint16_t)(amplitude * tempU) >> 9); tempV = 128 - ((uint16_t)(amplitude * tempV) >> 9); tempW = 128 - ((uint16_t)(amplitude * tempW) >> 9); Im Wesentlichen wird hier beschrieben
Setze doch einfach mal ein paar Werte in die Skalierung ein: [c] #ifdef PURE_SINE_DRIVE tempU = 128 - ((uint16_t)(amplitude * tempU) >> 9); tempV = 128 - ((uint16_t)(amplitude * tempV) >> 9); tempW = 128 - ((uint16_t)(amplitude * tempW) >> 9); #else tempU = ((uint16_t)(amplitude *
-
Thread
SPI mit Atmega8 zu PCM5142 klappt nicht!
wichtig, da sowohl Ein- als auch Ausgang über das Register SPDR erfolgen. Was mir an Deiner Funktion avr_spi_read_reg aufgefallen ist: [c] // read content of PCM5142 register an store it to second byte of (spi_data[]) void avr_spi_read_reg(char *spi_data) { SPDR = spi_data[0]; while(!(SPSR &
J.-u. G. schrieb im Beitrag #3057732: > Was mir an Deiner Funktion avr_spi_read_reg aufgefallen ist:// read content of PCM5142 register an store it to second byte of (spi_data[]) > void avr_spi_read_reg(char *spi_data) > { > SPDR = spi_data[0]; > while(!(SPSR &
-
Thread
Wieso zerstört mir mein Programm den Bootloader (atmega8)
Michael Jaeger schrieb im Beitrag #3038424: > vielleicht noch eine Idee? Programm-Hex in AVR-Studio 4 öffnen und ab Word-Adresse 0xF00 nachsehen, ob der Bootlader-Bereich leer ist.
8Mhz und 115200 Baud passen nicht so gut zusammen - siehe Datenblatt des AVR. Ist Dir denn klar, dass der Bootloader nurch einen Reset Impuls gestartet werden muss? Dein Beitrag von 14:48 scheint anzudeuten, dass Du das Programm per Bootloader installierst, dann ausführst
-
Thread
Problem mit Funktionspointern
Mit Progmem bekommst du das ganze im Flash abgespeichert: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#progmem_und_pgm_read_xxx Sind immerhin über 500Byte die du da verbläst
Für das Progmem müsstest du schreiben: [c] #include <avr/pgmspace.h> const unsigned char font[95][6] PROGMEM = { {1,0x00}, // Space ..... } [/c] Und wenn du es lesen willst: statt vorher [c] font[x][y] [/c] jetzt mit:
-
Thread
mit kurzen Impulsen schalten / gegenseitig entriegeln / Attiny2313
gegenseitig entriegelnde Ausgänge an PortB. Da ich zugegebenermassen ein blutiger Anfänger in Sachen AVR bin, bräuchte ich hier wirklich weiterführende Hilfe in Form von konkreten Lösungsansätzen. Die Frage ist, läßt sich das ohne Weiteres mit der Software lösen oder brauchts dafür eine Zusatzbeschaltung
bzw. einen Vorschlag wie der Quellcode zu ändern ist, würde mich freuen. achja, ich benutze das AVR Studio 4 (Freeversion) und einen Multiprog 2003XXL in Verbindung mit PonyProg V.2.0.7
-
Thread
STM32F4 "Gameboy"
Dein Freund (AVR-Mann) sollte sich mal dies als Anregung anschauen -- http://belogic.com/uzebox/index.asp Wie Jo discovery schrieb, ist das "Open407V-D" als Testplattform geeignet; Teilweise habe ich schonmal ähnliches
Gewalt > versucht mit ungeeigneten Mitteln zum Ziel zu kommen (z.B. > hochauflösende TFTs mit AVR und co ansprechen). Und ich bin zuversichtlich ...
-
Thread
XMega128A1 SDRAM mit EBI Problem
kurzem angefangen mit der Programmierung von µC. Ich verwende das Atmel XPlain Board mit dem XMega128A1. Auf dem Board ist auch ein externer SDRAM mit 8Mb verbaut. Dabei handelt es sich um ein 48LC16M4A2. Diesen SDRAM möchte ich über das EBI ansprechen. Aus der Appnote1312, die sich mit genau diesem
[c]/* * SDRAM.c * * Created: 29.01.2013 20:05:38 * Author: Felix W. */ #include <avr/io.h> #define SDRAM_BASEADDR 0x4000 //Basisadresse ans Ende vom SRAM int main(void) { uint8_t *iDaten0; EBI.CTRL = EBI_IFMODE_3PORT_gc | EBI_SDDATAW_4BIT_gc
-
Thread
RWE Smarthome
Toolchain für die CCU ist hier. > > http://www.eq-3.de/software.html Das Funkmodul hängt nur am AVR. TRX868 <-SPI-> AVR <-UART-> ARM Ich gehe davon aus, dass die unteren Protokollschichten im AVR sind. Ich kann mich aber auch irren. Vielleicht kann sich ja mal jemand die Mühe machen und die serielle Kommunikation zwischen dem AVR und dem ARM belauschen? Die serielle Verbindung zwischen AVR und ARM liegt an ST400 an. Hier könnte man ganz einfach zwei serielle PC Ports jeweils mit RXD anschliessen und mit passender Software (
-
Thread
ATTiny24V: Bandgap zu gebrauchen?
machen, um die Qualität der Bandgap des ATTiny24 "abzuschätzen". Die 1,6 V Referenz des ATmega128RFA1 sieht "ermutigend" aus.
Vbg gegen Vcc > messen lassen. OK, hier dann also. Erstmal die Firmware: [c] #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 8000000ul #include <util/delay.h> volatile uint16_t adcval; static void send_data(uint16_t data) { uint8_t i; uint16_t mask; for
-
Thread
Informationen zum Einstieg in die µC-Welt
Moin, Grundkenntnisse kannst du dir mit den myAVR Board (ATmega 8) oder dem Arduino 2560 Board in Verbindung mit CrossPack und evtl. MyAVR Light Programmer (weiß nicht ob die Bezeichnung jetzt richtig ist, jedenfalls ist der Programmer billig und läuft
würde ich nicht mit den kleinsten PICs, sondern mit einen 16 oder 32 Bitter wie z.B. einem dsPIC33FJ128GP802. Der läuft mit 40 MHz und ist auch im SDIP28 verfügbar. Plus: Du kannst Dich nicht wie bei AVR durch falsche Fuse-Settings aussperren, Du hast nicht das Problem mit getrennten Programm/Daten-Adressräumen
-
Thread
STK 600 XMEGA USB Problem
nach langer Zeit und vollständiger Zufriedenheit mit meinem STK600 muss ich mich mal wieder an die AVR Gemeinde wenden. Da man sich ja auch mal weiterentwickeln muss, bin ich nun von den ATMEGAS zu den XMEGAS übergegangen. Aktuell im Test ist ein ATXMEGA128A1 AU und ein 64A1 U. Für ein neues Projekt
das Beispiel anscheinend den internen Oszi mit 16MHz taktet. Eigentlich scheinen für die Beispiele "48MHz" über den USB Host synchronisiert zu werden. Passt also irgendwie nicht. Meine Frage also: Ich bin davon ausgegangen, dass die Beispiele direkt lauffähig sind, da sie extra für den atxmega128A1U
-
Thread
USB Stack Xmega
erkennen. Bei allen Xmegas sind das es die gleichen Pins, PortD Pin 6 und 7. Zur Programmierung des Xmega128A3U nutze ich das AVR Studio 5.1 Ich würde mich freuen, wenn mir jemand helfen könnte das Problem zu finden. Dafür habe ich das von mir erstellte AVR Studio Projekt in den Anhang gepackt. Grüße Martin ... ja der Controller ist von der aktuellen Xmega Version (Xmega128A3U)und hat somit schon ein internes USB Modul.
-
Thread
µC mit CAN + vielen Digital I/O´s
8051 in 'C' ist suboptimal AT90CAN32 würds auch noch geben oder die AVR32UC3C mfg DerDan
NXP LPC11C24 - CAN-Controller und -Transceiver on chip. LQFP48-Gehäuse Preis bei Einzelabnahme ca. 4,50- 48 MHz Cortex M0 Evaluationboard (LPCXpresso) kostet gut 20 Euro und lässt sich auch als Programmer bzw. Debugger verwenden. http://www.watterott.com/
-
Thread
Aufwandseinschätzung Snakedeko auf einer Matrix
wird. Die Schlange muss dabei nicht wachsen, soll ja ne Endlosschleife sein. Das ganze auf nem AVR. Wie hoch schätzt ihr den Aufwand ein? Den uC ansich beherrsche ich, C kann ich auch mittelmäßig. Aber hier scheiterts eher an der gedanklichen Umsetzung, womit man wie anfängt. Die Matrix an sich stellt
doch etwas zu pixelig. Ich wuerd eher einen Satz von 8x8 Displays wie angehaengt, zB als 64x64 oder 128x128 verwenden. So ein 8x8 Basisbaustein ist 60mm im quadrat, dh bei 64x64 waere man bei 48cm im quadrat und bei 128x128 waere man bei 96cm im quadrat. So ein Baustein kostet 2.80 Euro bei Schukat, ab
-
Thread
Audio PWM von uC richtig Filtern
Da gibts nämlich Typen, die gleich 14 Bit Stereo Audio out eingebaut haben. Schau Dir den dsPIC33F128GP802 (28 Pin) bzw GP804 (44 Pin) oder die MC802/MC804 an. Da hast Du die Probleme nicht - der spielt auch 48kHz 16 Bit stereo problemlos ab. fchk
gibts nämlich Typen, die gleich 14 Bit Stereo Audio out eingebaut haben. > Schau Dir den dsPIC33F128GP802 (28 Pin) bzw GP804 (44 Pin) oder die > MC802/MC804 an. > > Da hast Du die Probleme nicht - der spielt auch 48kHz 16 Bit stereo > problemlos ab. > > fchk Sicherheit/Einfachheit. Ich
-
Thread
Arm Synthesizer mit LPC1114
untere Grenze (in MHz) für ein 5 Kanal DDS? >Und wie viele 5-DDS-Kanal Einheiten würde der lpc1114 bei 48 MHz, >Sample-Frequenz 46875Hz, 10-Bit PWM verarbeiten können? Ähm, die Frage verstehe ich nicht ganz. Mein LPCXpresso läuft mit 48MHz, also "Full Speed". Die Sample-Frequenz ergibt ist FS=48MHz/
] const uint8_t lied [] = { 1 //Lied Nr. 1 Offset:0 ,0,136,128,107,128,72,64,72,141,136,134,136,128,111,128,72,64,72,144,143,139,136,143,148,72,70,64,70,131,139,200,200,192,82,143,141,139,200,171,72,64,72,141,136,134,200,175,72,64,72,144,143,139,136,143,148,72,70,64,70,131,139,200,200
-
Thread
Suche Empfehlung für zukunftssicheren ATMEGA Gesperrt
AVR. Dann nimmst Du einen ARM oder einen '51er. Eben Controller, die von mehreren Herstellen produziert werden. Für Assembler ist der '51er auch wesentlich besser geeignet, als ein AVR. Besser wäre
AVR war gestern schrieb im Beitrag #3036566: > Nein, Atmel setzt bei 32 Bit auf ARM und nur bei 8 Bit auf AVR. Genau das stand obendrüber. Warum also "nein"?
-
Thread
Projekt DVM 4,5 Digit aus Standardbauteilen mit automatischer Bereichsumschaltung
dem TO99 Gehäuse) aufgebaut. Alles Geschichte, danach kam gleich die mc-Zeit mit dem 8051, später AVR, MSP430 und heute quäle ich ARM-Prozessoren :-)
journal/1984_36/04/1984_36_04_panelmeter_platinenfolie.pdf Ein 4,5st. DVM hatte ELV auch mal in Heft 48 veröffentlicht. Damals waren in der Mitte der Hefte Klarsichtfolien zur Herstellung von Leiterplatten enthalten. Die habe ich noch von Heft 48 Hier mal der Plan vom DMM7001
-
Thread
ARM Einstieg Hilfe bei Controller und IDE Wahl
spielen um mit der library,... vertraut zu werden. z.B in einem bestehenden design einfach einen AVR/PIC/... durch einen M0 ersetzen... die CMSIS (lib für alle cortex controller) hat einfach ihre eigene logik. 73
heiß her.... Klar ist alles eine Frage des Geschmacks. Da ich bis jetzt nur mit Visual Studio und AVR Studio gearbeitet habe, habe ich noch keine Meinung zu Eclipse. Was hat es denn mit der einfacheren Bedienbarkeit von IAR auf sich ?
-
Thread
IDE unter Linux
F_OSC = 10000 [/c] eingegeben. Auf "Make all" geklickt und folgende Fehlermeldungen kamen: [c] avr-gcc: error: unrecognized argument in option ‘-mmcu=8051’ avr-gcc: note: valid arguments to ‘-mmcu=’ are: at43usb320 at43usb355 at76c711 at86rf401 at90c8534 at90can128 at90can32 at90can64 at90pwm1
attiny261 attiny261a attiny28 attiny4313 attiny43u attiny44 attiny44a attiny45 attiny461 attiny461a attiny48 attiny84 attiny84a attiny85 attiny861 attiny861a attiny87 attiny88 atxmega128a1 atxmega128a1u atxmega128a3 atxmega128d3 atxmega16a4 atxmega16d4 atxmega16x1 atxmega192a3 atxmega192d3 atxmega256a3 atxmega256a3b
-
Thread
ATtiny 2313 mit mySmartUSB
danke, ich habe es jetzt so verkabelt wie oben beschrieben. Dann habe in AtmelStudio 6 AVR Dude als Tools eingerichtet: avrdude.exe -p attiny2313 -e -c avr910 -P com4 -U flash:w:$(ProjectFileName):i und wenn ich das stearte erhalte ich: [code] Found programmer: Id = "AVR ISP"; type
Device code: 0x41 = ATMEGA103 Device code: 0x42 = (unknown) Device code: 0x43 = ATMEGA128 Device code: 0x44 = (unknown) Device code: 0x45 = ATMEGA64 Device code: 0x46 = (unknown) Device code: 0x47 = (unknown) Device code: 0x48 = (unknown) Device code: 0x49 =
-
Thread
ATMega88 Umgebungsscan
Zeichen lcd_putstr("s="); // s= Abstand unsigned int Mtemp=Marray[M]; lcd_putc(48 + (Mtemp/100)%10); // Ausgabe Festtext: 16 Zeichen lcd_putc(48 + (Mtemp/10)%10); // Ausgabe Festtext: 16 Zeichen lcd_putstr(","); lcd_putc(48 + Mtemp%10); lcd_putstr("cm");
AbstandsmessungSharp.hex avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex AbstandsmessungSharp.elf AbstandsmessungSharp.eep || exit 0 avr-objdump -h -S
-
Thread
Laufzeitproblem
> Dauer von 48 Cycles bei 16MHz sind 3µs. Nun würde ich gerne wissen, ob > es eine Implementierung in Assembler gibt, die ich mit meinem C-Projekt > nutzen kann. Ein INTERRUPT um schnelle Signale zu bearbeiten
funktioniert das Sampling hervorragend. Danke für die Hilfe, ohne Beispiel hätte ich mich nimmer getraut das AVR ASM Manual in die Hand zu nehmen. Jetzt wos geht ist es ganz einleuchtend. Danke auch an die anderen. Gruß, Detlef
-
Thread
[AVR] Probleme mit CTC Mode für BCM (OCR0A = 128 -> LED fast aus)
<util/delay.h> #include <avr/interrupt.h> // Zeitslots volatile uint8_t gTime[8] = {1,2,4,8,16,32,64,128}; // BCM-Muster für jeden Zeitslot volatile uint8_t gBcm[8]; // Helligkeit der LEDs //volatile uint8_t gBrightness[8] = {0,8,16,24,32,40,48,56}; // LEDs 0 und 1 sind AUS, die übrigen leuchten wie gewünscht! volatile uint8_t gBrightness[8] = {128,128,16,24,32,40,48,56}; // Aktueller Zeitslot volatile uint8_t gPos = 0; // Anzahl
-
Thread
Lötstation LS-50 defekt Fehlersuche
Heizkreises beträgt ca. 12 Ohm, bei einer Betriebsspannung von 24V passt das auch zur Maximalleitung 48W des Lötkolben. Widerstand des Temperaturmesspafades ist ca. 2,5 Ohm bei Raumtemperatur, wird der Lötkolben mittels Heißluftföhn erhitze steigt der Widerstand auf ca. 16,5 Ohm an (Endtemp. unbekannt)
schwach treiben konnte. Evtl. reicht es, einen Buffer dazwischenzuhängen. Der ATmega169 aus dem AVR-butterfly hat doch auch LCD-Ausgänge für 5x20=100? Segmente. Kann sein, dass das nicht ausreicht, denn ich zähle 104 Segmente auf dem Display in einer nicht voll genutzten 4x32=128-Anordnung.
-
Thread
Kann man denn jetz das hi- und low-byte eines uint16_t effizient lesen in c?
void ) { uni.i = ADC; u16 = ADC; u8 = PINA; while(1) { if( uni.b.hi < 128 ) continue; if( (volatile uint8_t)(u16>>8) < 128 ) continue; if( *((volatile uint8_t*)(&u16)+1) < 128 ) continue; if( u8 < 128 ) continue; asm("
Ich verspreche euch, da ist nichts gefälscht dran, aber... mein avr-gcc hat folgende Version: [code] C:\Users\Leo\Documents\AVR\ATtiny24A\default>avr-gcc-4.7.2 --version avr-gcc-4.7.2 (GCC) 4.7.2 Copyright (C) 2012 Free Software Foundation, Inc. This is free software
-
Thread
ATxMegaBoard 5 mit ATxMega128A1U
Ganzen alles gleich geblieben: USB, RS232, EBI, Ethernet und SDKarte. Dieses mal kommt der neue ATxMega128A1U mit eingebautem USB Controller zum Einsatz. Außerdem habe ich eine Erweiterungsplatine mit SDRAM zum Aufstecken erstellt. Alle Schaltpläne sind im Anhang. Wie bei den alten Boards biete ich das
Im Anhang findet ihr Bilder von meinem Platinen Aufbau. Da ich nur einen ATxMega128A1 (nicht ATxMega128A1U) verwende, habe ich die USB-Buchse weggelassen. Die OpenMCP Firmware, die schon auf dem ATxMegaBoard 4 gelaufen ist, habe ich entsprechend angepasst. Ich verwende jetzt DMA