-
Thread
AVR-GCC 4.7.2 Bug?
Start *** buffer overflow detected ***: /tmp/hsv terminated ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7ffff7b25817] /lib/x86_64-linux-gnu/libc.so.6(+0x109710)[0x7ffff7b24710] /lib/x86_64-linux-gnu/libc.so.6(+0x108b79)[0x7ffff7b23b79] /lib/x86_64-linux-gnu
@Johann Leider funktioniert bei mir unter Win7 64bit der Simulator nicht. Da kackt mir immer das AVR-Studio ab. Deswegen mache ich das ganze ja per UART, damit ich überhaupt mal was debuggen kann. Leider kann ich das ganze nicht weiter Eingrenzen wie
-
Thread
8 x 8 x 7-Segment Anzeigen per PC ansteuern
Strom von 64 x 20mA = >1,28A, der auch von den Treibern für die Anzeigereihen zu bringen wäre. Du vergisst das Multiplexen 8:1. Macht 8x1,28 = 10,2A Spitzenstrom (=Gleichstrom, wenn alle Segmente aller Zahlen
;-) Ausserdem, 8 Euro für 8 Anzeigen ist schon recht happig? Das Ganze ist locker mit nem kleinen AVR + ULN + Gemüse für weniger als 3 Euro erschlagen. Wenn mans für alle 64 Stellen optimiert noch weniger. MfG Falk
-
Thread
Schnelle Bitmaske in AVR-Assembler
pop ZL .org (PC+$7f) & $ff80 ;damit's an einer 256 Byte-Grenze losgeht bitmask: .db 128,64,32,16,8,4,2,1 ;1 .db 128,64,32,16,8,4,2,1 ;2 . . . .db 128,64,32,16,8,4,2,1 ;32 ;die Tabelle kann ggf. optimiert werden, falls count niemals einen eingeschränkten Wertebereich überschreitet
werden. https://www.c64-wiki.de/wiki/CHRGET
-
Thread
RFID selber gemacht
mal anzuschauen und zu kaufen. Was mich interessieren würde ist: - Ist es mit einem "normalen" AVR gemacht oder einem speziellen RFID-AVR ? - Kann er wirklich RFID lesen und nicht nur "finden" (wie der RFID-Finder aus der ct') ? - Welche Bauteile sind dazu noch notwendig (dem Forum habe ich schon
von der Homepage von Elektor runterladen (Preis 1,3 ): http://www.elektor.de/Default.aspx?tabid=28&year=2005&month=10&art=5550609 Dort gibts auch die SW (geschrieben in ASM) zum downloaden (kostenlos)! Es reicht ein ganz normaler kleiner AVR . Einziges Spezialbauteil ist eine selbstgewickelte
-
Thread
Beispiel Quellcode sd-karte
4000000UL #include <avr/io.h> #include <util/delay.h> // definiert _delay_ms() #include <avr/interrupt.h> #include <stdio.h> #include <mmc_config.h> // Hier werden alle noetigen Konfigurationen vorgenommen, umbedingt
Du musst ALLE *.c Dateien aus dem Beispiel im AVR Studio zum Projekt hinzufügen, nicht nur eine.
-
Thread
Pixelfehler auf Graphikdisplay
augenscheinlich problemlos drüber, aber beim Wechsel auf den dritten hängts wohl. 72x8=576Bytes-->2GPRs+64Bytes. Und diese 64Bytes sind 8 Matrixzeilen. 73-8=65! Das ist so der Index, ab dem es kracht. Wenn du 8 Matrixzeilen weniger machst, geht es dann? DB S.59
> (Jetzt weis ich, dass es gut war, als ich mich für AVR/8051 statt > PIC entschieden hab...) Guter Spruch ... ist wohl mit Augenzwinkern gemeint. Über AVR kann (besser will) ich nichts sagen - kenn ich nicht, aber der 8051 ist ja nun nicht so der
-
Thread
GCC bei vielen Bitshiftingfunktionen sehr suboptimal?
DEC R19 +0000017B: F7E1 BRNE PC-0x03 +0000017C: 2B28 OR R18,R24 +0000017D: BB28 OUT 0x18,R18[/pre] Das steht in einer Schleife, i ist der Schleifenzähler. LCD_D8 ist ein #define LCD_D8 0. Merkt der Compiler an
das merkt er nicht. Das musst Du ihm schon vorkauen: LCD_XTRA |= (lcd_framebuffer[3*(7-i)+2] & 64) >> (6 - LCD_D8); --> if (lcd_framebuffer[3*(7-i)+2] & 64){LCD_XTRA |= 1;} Und ich wette, lcd_framebuffer[] ist 16 bit breit, also int. Bei 8 Bit (char) würde der Code schon etwas kürzer sein.
-
Thread
Mega128 mit externem EEPROM?!
keine Spezialtypen sind). Aber ich muß keinen speziellen Programmierpuls erzeugen, es sind mehrere 28C64 in einem 80C535-System (12 Mhz Takt), die einfach an die Bussteuerung (WE,RE,CE -> WR,RD,Adresslogik) angeschlossen ist. Der Schreibzyklus wird im EEprom intern gehandhabt, auch wenn der WE-Impuls nur kurz ist. Der 28C64 (kein NVRam, sondern echtes EEProm) ist Pinkompatibel zum 62C64 (=SRAM) und wird vom Timing genauso angesteuert. Ein Problem ist natürlich das Beschreiben, falls direkt nach dem Schreibvorgang Daten
-
Thread
ATMEGA328P auf Arduino Uno
Arduino-Programierumgebung 0.22 getestet. Bootlader Uno: ATmegaBOOT_168_atmega328_pro_8MHz.hex in C:\AVR\Arduino_stuff\arduino-0022\arduino-0022\hardware\arduino\bootloaders\atmega Firmware in zugehörigen ATMega8U2 des Uno: C:\AVR\Arduino_stuff\arduino-0022\arduino-0022\hardware\arduino\firmwares
Arduino as ISP eingestellt, aber auch schon die anderen Punkte ausprobiert. Wäre ja auch unlogisch wenn AVR ISP funktionieren würde!
-
Thread
VGA Grafikkarte mit AVR und 8MB SDRAM
Das ist ein 4MBit x 4 DRAM. Das sind 2MByte. Für die Schaltung mit dem AVR ist ein SDRAM notwendig.
. Vor allem da der 13506 hardwaremäßig einen 64x64 großen Cursor mit 2 Farben + transparentem Hintergrund unterstützt.
-
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
atxmega256a3 atxmega256a3b atxmega256a3bu atxmega256d3 atxmega32a4 atxmega32d4 atxmega32x1 atxmega64a1 atxmega64a1u atxmega64a3 atxmega64d3 avr1 avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 m3000 make: *** [main.o] Fehler 1 [/c] In der Liste
-
Thread
AtMega32U4 Minimalbeschaltung
Die Kinder sollen TQFP löten? Ist das für den Anfang nicht etwas viel? Nimm doch einen PIC24FJ64GB002. Das ist ein SDIP28 wie der Mega 8, hat USB und noch viele andere nette Dinge. Damit kannst Du auch viel Freude haben. Basisbeschaltung steht im Datenblatt. fchk
Wird das nicht teuer mit atmega32u4? Wenn man so ne' kleine Armee Kinder versorgen will - 64LEDs pro Platine, die Platine selbst und der AVR - da kommt doch bissel was zusammen? (Und dann noch alles vorbesteuckt...) Wo beziehst du den AVR her? MfG
-
Thread
Kleines ARM Modul wie Ardunio Nano gesucht
schon bei mehr als einer handvoll Pins Eben, deswegen frage ich. Noch bastle ich bevorzugt mit AVR Controllern. Aber der Wunsch nach mehr (jedoch Platinen zu ätzen) wird immer stärker. > Es gibt doch ARM in DIP: Oh, das wusste ich gar nicht. Ich hatte mehrmals gelesen, dass es sie nicht gäbe
Auswahl > nicht gerade überwältigend. Muss es ARM sein? Du könntest auch PIC32MX2xxFxxxB nehmen. 28 Pin SDIP, USB onchip, Leistungsdaten ähnlich wie ARM, aber MIPS-Kern. Zum Programmieren brauchst Du ein PICKIT3 (Clones gibts für 20€). fchk
-
Thread
WiFi-Modul für AVR Net IO gesucht
Hallo alle zusammen, Ich habe vor, ein bestehendes AVR Net IO Board, dass mit einem ENC28J60 bestückt ist, auf WiFi umzubauen. Ich habe bereits eine funktionierende Software mit TCP-Stack in meinem Mega644, der prima mit meinem ENC28J60 funktioniert.
AVR32 KANN linux hosten.
-
Thread
Probleme mit for-Schleifen
Woran kann das liegen? Vielen Danl für Eure Hilfe! Gruß Jogi P.S.: Es geht um einen ATmega64 und AVR Studio 4.12 SP4 mit aktuellem WinAVR
Achso! - Klar! Hier: //Processor frequency #define F_CPU 1000000UL // 1 MHz #include <avr/io.h> #include <stdint.h> #include <avr/interrupt.h> #include <util/delay.h> #include <inttypes.h> //definition data port #define ERROR_LED PE0 int main(void) { //Init ATMEL ATmega64
-
Thread
Welchem Intel-HEX-File typen gehorchen die Atmel HEX-files?
Falsch vermulierte Frage und darum keine Hilfe? Also nochmal, ich kompiliere mit AVR-Studio und mir fehlen Informationen, ob ein Hexfile vom atmega128 identisch aufgebaut ist wie einer vom atmega2560. Ich habe gelesen, dass es eine 64kbyte Grenze für den Adressraum gibt? Wie kann man
Bootloader programmieren will, der mit den HEX Files von AVRStudio gefüttert wird. Also nur für den AVR Compiler erstmal... Gibt es da keine Unterschiede bei der Adressierung? Wundert mich eigentlich, da ich da was von einer 64kbyte grenze gelesen hab? DAnke nochmal
-
Thread
Atmel-µC mit USB-Controller im DIP-Gehäuse
werden würdest. Z.B. PIC18F4553(DIP40)/2553(DIP28), oder aus der 16 Bit Serie den PIC24FJ64GB002, oder aus der 32 Bit Serie den neuen PIC32MX220F032B. Den passenden USB-Stack gibts kostenlos bei Microchip zum Download. Ab und an lohnt sich ein
alten PIC16/18. Schau Dir mal PIC24 oder dsPIC an. Die haben ein ähnliches Registermodell wie die AVR, mit dem kleinen Unterschied, dass die Register dort 16-bittig sind und der Chip etwa zwei-dreimal schneller ist. Für USB bietet sich z.B. die PIC24FJ64GB004-Familie an, die z.B. hier verwendet werden
-
Thread
DMX Dimmerpack bauen
Danke, das baue ich nach! Ich finde aber diese Spulen (64µH 5A) bei Reichelt nicht! Kennt zufällig jemand die Bestellnummer?
helft mir weiter, da ich mich im Moment auf der Stelle drehe! [Code] $Device= Mega8 $Stack = 28 $Clock = 8.000000 $Timer1=Timer, Prescale=64, CompareA=DisConnect, Clear $Source= On Dim status As Word Declare Interrupt Oc1A() Declare Interrupt Int0() DDRB = &HFF DDRC = &HFF DDRD
-
Thread
Neue Cortex-M0+-Familie von Atmel
Warum soll ich jetzt davon begeistert sein? Mir wird das nicht ganz klar. Der ARM LPC1114FN28 von Phillips begeister mich da eher: http://avr.paslog.jp/article/2542408.html
Offensichtlich lässt sich der Cortex lediglich über den Preis den Kunden schmackhaft machen, wäre der Preis dem AVR gleich, würden wohl mehrere beim AVR bleiben. Offensichtlich gibt es doch nicht genug Vorteile um den Cortex gut verkaufen zu können. - Warum verkauft ein Produzent A z.b. einen AVR für 2.5Euro, wobei
-
Thread
ATmega8 16-Bit Timer Uhr zu langsam
26.6 00:26.7 00:26.8 00:27.0 00:27.1 00:27.2 00:27.3 00:27.4 00:27.5 00:27.6 00:27.7 00:27.8 00:28.0 00:28.1 00:28.2 00:28.3 00:28.4 00:28.5 00:28.6 00:28.7 00:28.8 00:29.0 00:29.1 00:29.2 00:29.3 00:29.4 00:29.5 00:29.6 00:29.7 00:29.8 00:30.0 00:30.1 00:30.2 00:30.3 00:30.4 00:30.5 00:30.6 00
62.6 00:62.7 00:62.8 00:63.0 00:63.1 00:63.2 00:63.3 00:63.4 00:63.5 00:63.6 00:63.7 00:63.8 00:64.0 00:64.1 00:64.2 00:64.3 00:64.4 00:64.5 00:64.6 00:64.7 00:64.8 00:65.0 00:65.1 00:65.2 00:65.3 00:65.4 00:65.5 00:65.6 00:65.7 00:65.8 00:66.0 00:66.1 00:66.2 00:66.3 00:66.4 00:66.5 00:66.6 00
-
Thread
ATmega8 untere Dimmstufen zu groß
verlinkten Thread [code] 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22, 25, 28, 30, 33, 36, 39, 42, 46, 49, 53, 56, 60, 64, 68, 72, 77, 81, 86, 90, 95, 100, 105, 110, 116, 121, 127, 132, 138, 144, 150, 156, 163, 169, 176, 182, 189, 196, 203, 210, 218, 225, 233, 240, 248, 255
im > verlinkten Thread0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, > 18, 20, 22, 25, > 28, 30, 33, 36, 39, 42, 46, 49, 53, 56, 60, 64, 68, 72, 77, 81, 86, 90, > 95, 100, 105, 110, 116, 121, 127, 132, 138, 144, 150, 156, 163, 169, > 176, 182, 189, 196, 203, 210, 218, 225, 233, 240, 248,
-
Thread
AVR32 Buildroot Versionen + Grasshopper
: 1347187 bytes loaded to 0x10400000 ## Booting image at 10400000 ... Image Name: Linux-2.6.28.4 Image Type: AVR32 Linux Kernel Image (gzip compressed) Data Size: 1347123 Bytes = 1.3 MB Load Address: 10000000 Entry Point: 90000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK Starting kernel at 90000000 (params at 13fa5008)... Linux version 2.6.28.4 (aytac@ANT-PC5) (gcc version 4.2.2-atmel.1.1.3.avr32linux.1) #1 Mon Jun 15 17:38:07 CEST 2009 CPU: AT32AP700x chip revision C CPU: AP7 [01] core revision 0 (AVR32B arch revision 1) CPU: MMU configuration
-
Thread
[Anfänger]Standardprogrammiersprache
Tipps hätte ich noch: 1.) Es gibt hier ein Tutorial und ein weiteres findest du hier http://www.avr-asm-tutorial.net/avr_de/index.html . Das ist ein bisschen lockerer geschrieben. 2.) Die Wahl des µC, du hast den mega8, der ist gut für den Anfang da er genug Pins hat , du kannst also Registerinhalte
function main: pushl %ebp movl %esp, %ebp andl $-16, %esp subl $32, %esp movl $0, 28(%esp) jmp .L2 .L3: movl $.LC0, (%esp) call puts addl $1, 28(%esp) .L2: cmpl $9, 28(%esp) jle .L3 movl $0, %eax leave ret .size main, .-main .ident "GCC: (Ubuntu
-
Thread
[AVR] ATmega16 startet neu bei EEPROM-Zugriff auf 0x1F0?
[pre] unsigned char ee_readByte(unsigned short address) { 5e: e1 99 sbic 0x1c, 1 ; 28 60: fe cf rjmp .-4 ; 0x5e <ee_readByte> while (!EEPROM_READY) { } EEPROM_ADDRESS(address); 62: 9f bb out 0x1f, r25 ; 31 64: 8e bb out 0x1e, r24 ;
> das auch ohne Optimierung ETWAS BESSER hinbekommt. Nein. Das eigentliche Problem ist nicht in avr-gcc, sondern in der avr-libc. In der 3er Version von avr-gcc (die mit einer anderen avr-libc Version zusammenarbeitete) gabs diesen Horror-Code noch nicht, aber die avr-libc-Leute haben sich für eine
-
Thread
STK500v2-Bootloader von Peter Fleury
bekommen die diesen Bootloader mit mega32 oder grösser einsetzen. Aus dem Logfile (erzeugen ist in AVR068 am Ende beschrieben): Sending packet 06/07/2006 17:38:49.556 (1000ms) > 1B 0A 00 07 0E (1000ms) > 12 28 00 AC 80 00 00 (1000ms) > 0E Sequence number 10, message size 7, checksum 14 CMD_CHIP_ERASE_ISP
Bootloader den kompletten Flash ausgelesen und mit dem ursprünglichen HEX-File verglichen. Die ersten 64 Bytes sind alle FF, dann 64 Byte korrekt, dann wieder 64 Byte FF und wieder 64 korrekt.... so geht das dann weiter... @ Johannes: Konntest du die neue Version schon erfolgreich testen?
-
Thread
Zeitmessung mit Timer2 asynchron
2*1/64))*60*60 ergibt 115,2 km/h 2.Rechnung mit 3 Impulsen (1/(3*1/64))*60*60 ergibt 76,8 km/h Wenn du nun knapp um den nächsten Zeitimpuls drehst, kann die Ungenauigkeit der Reed-Kontakte dazu führen, mal
Nächste Umdrehung: TCNT2 = 55, revolution = 10. Zwischen den Reed Schaltpunkten habe ich also 10*64 +55-20 Timerticks gehabt, das sind 675 Ticks zu 244µs. Auflösung ist 244µs, reicht mir vollkommen aus. 64 weil jede revolution schon 64 Ticks hatte, 55 weil ich in diesem Timerzyklus bis 55 gekommen
-
Thread
Waage 200kg 100g Auflösung
MaWin schrieb im Beitrag #1747790: > Der AVR hat nicht mal das letzte bit der 10 bit genau > Würde der AVR genau messen, wären die ausgelesenen 10 bit Werte immer > stabil Wenn ich am ADC des AVR eine Stabile Spannung anlege ändert sich
@ Richard http://de.wikipedia.org/wiki/42_%28Antwort%29
-
Thread
uint8_t auf int16_t erweitern
Zugriffs überhaupt einigermaßen funktionierte. Wegen der gcc-Version: im MAP-File fand ich dies: gcc/avr/5.4.0 Gruß Wulf
0x0027 anzArray[i+1] 190 uint8_t{prog}@0x0028 z -131 int16_t{data}@0x014e ([R28]+4) anz_uint8_i 177 int{data}@0x0152 ([R28]+8) anz_uint16_i 177 int{data}@0x0156 ([R28]+12) anz_uint8_i1 48 int{data}@0x0154 ([R28]+10) anz_uint16_i1 48 int{data}@
-
Thread
Hilfe beim Build - komme mit einer Fehermeldung nicht klar
möchte. Sonst mache ich nur wenig mit C. Studio4 bricht das Make mit folgender Meldung ab: (gekürzt) avr-gcc -mmcu=atmega64 -Wl,-Map=tas.map main.o lcd.o i2cmaster.o -o tas.elf i:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(fp_powsodd.o): In function `__fp_powsodd': (
[pre]avr-gcc -mmcu=atmega64 -Wl,-Map=tas.map main.o lcd.o i2cmaster.o -o tas.elf[/pre]Füge der Zeile ein -lm hinzu, aber nicht irgendwo, sondern *hinter* den .o Files.
-
Thread
SID-Player ARM/FPGA?
Frag doch mal im forum64.de
Mit dem SwinSID gibt es eine ganz passable SID-Emulation auf Basis eines Atmel AVR. Das Ding kann man direkt in den Sockel eines C64 setzen.
-
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
Arduino Schrittmotor
Hi, Das finde ich bei Reihelt > Schrittmotor 28BYJ-48 (Schrittwinkel 5,625 x 1/64) =0,08789...° ->360°/... =4096 ??? Irgendwer schwindelt viel Erfolg, Uwe
/nr-15-schrittmotor bei >Für die Durchführung dieser Anleitung benötigst du: auf >Schrittmotor 28BYJ-48 mit ULN2003 Treiberplatine und dann gehe zur Beschreibung >Schrittweite: 5.625 * 1/64 macht für 360° 4096 Schritte. es sei denn dein Programm macht aus 1 Schritt 2 Aber ist eigentlich egal
-
Thread
register
]; } folgendes (mit Optimierung, ohne Generierung irgendeiner Warnung): foo: push r28 push r29 in r28,__SP_L__ in r29,__SP_H__ sbiw r28,24 in __tmp_reg__,__SREG__ cli out __SP_H__,r29 out __SREG__,__tmp_reg__ out __SP_L__,r28 ldd r24,Y+4 clr r25 adiw r28,24 in __tmp_reg__,__SREG__ cli out __SP_H__,r29 out __SREG__,__tmp_reg__ out __SP_L__,r28
-
Thread
Arduino Uno R4: Besonderheiten und Abhilfen
nicht mal im entferntesten ähnlicher Controller hardwarenah identisch funktioniert? Wie läuft den C64 mit Windows 11? Wo hast du das Userport-TPM und den USB3.2-1541-Adapter gekauft, und wie kann man im C64-Bios Secureboot aktivieren?
integer types" aus der Datei stdint.h verwenden. Die sind in C standardisiert. https://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html
-
Thread
dynamisch Code ausführen - Code von SD-Karte
Hans-Jürgen schrieb im Beitrag #1694950: > Gibt es eigentlich einen Quelloffenen Basicinterpreter für AVR? gibt es http://www.mikrocontroller.net/articles/AVR_Softwarepool#Entwicklungssysteme
M-fähig war. Was sind das für Kupferdrahtverhaue! Man könnte auch gemischte Geräte bauen: Z80 mit 64kB RAM, der über einen AVR mit USB geladen wird. :-) Ein Kumpel interessierte sich damals für Programm-Battles im Speicher. Also Programme, die laufen, und sich verschieben dürfen, sich reparieren
-
Thread
Fehlermeldung Arduino C++
ein Bild packen. Wenn man das will, muss man es zweiteilen. 2.) Die Gesamtanzahl an Bilddaten darf 64kB nicht übersteigen, auch nicht auf dem MEGA256, weil auch hier wieder die Grenze der Pointer im avr gcc mit 64 kB greift. Ausserdem scheint das Programm gar nicht erst loszulaufen, wenn deutlich mehr als 64kB Flashgröße erzeugt werden (Bug im avr gcc, wenn der Einsprung vom Resetvektor >64kB?, Problem im Bootloader?) Auf dem DUE mit dem ARM sollten diese Begrenzungen nicht greifen. Kann ich mangels Hardware
-
Thread
Seltsamer Fehler mit Festkommaarithmetik und 7-Segment
oder x 11 / 64
taster_channel PC1 #define taster_mode PC2 #define hundert 2 #define zehn 1 #define eins 0 #include <avr/io.h> #include <avr/sleep.h> #include <avr/interrupt.h> #include <avr/eeprom.h> #include <util/delay.h> #include "debounce.h" #include "7segment.h" typedef struct { // Flag Register
-
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
einfacher 20m-CW-Sender mit AD9850 und MOSFET
z.B. durch eine (float) Berechnung handeln. Float kann nur 7 relevante Stellen auflösen. Beim Win-Avr wird auch eine double-Berechnung automatisch auf (float) reduziert. Umgehen kann man das Problem durch casten auf (uint32_t) oder sogar (uint64_t). Könntest Du mal die 2-3 Zeilen mit der Berechung
/4 Quarttakt 3.Taste: 1/8 Quarttakt 4.Taste: 1/16 Quarttakt 5.Taste: 1/32 Quarttakt 6.Taste: 1/64 Quarttakt 7.Taste: Pause Der Controller macht nichts anderes, als CLK und den entsprechenden Teiler auszugeben und die Pausetaste zu überwachen. Der AVR für den Frequenzzähler sitzt auf einem
-
Thread
Lokalität von Registerwerten?
98,97,96,95,94,93,92,91,90,89,88,87,87,86,85,84 .db 83,82,82,81,80,79,78,78,77,76,75,75,74,73,72,72 .db 71,70,69,69,68,67,67,66,65,65,64,64,63,62,62,61 .db 60,60,59,59,58,57,57,56,56,55,55,54,54,53,53,52 .db 51,51,50,50,49,49,48,48,48,47,47,46,46,45,45,44 .db 44,43,43,43,42,42,41,40,40,39,39,38,38,37,37,36 .db 35,35,34,34,33,33,32,31,31,30,30,29,29,28,28,27
, 16, 20, 22, 22, 21, 18, 14, 10, 5, 1, -1, -3, -3 .db -2, 0, 1, 5, 9, 12, 16, 20, 24, 28, 34, 40, 47, 55, 64, 72 .db 81, 89, 96, 101, 105, 108, 108, 108, 107, 105, 103, 101, 100, 98, 96, 93 .db 90, 87, 83, 79, 75, 70, 66, 62, 59, 56, 55, 53, 52, 51, 50, 48 .db 46, 44, 42, 39, 37
-
Thread
AVR LED Dimmen mit Logarithmus
Ich verwende für meine LED folgende Tabelle mit 64 8bit-PWM-Werten: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22, 25, 28, 30, 33, 36, 39, 42, 46, 49, 53, 56, 60, 64, 68, 72, 77, 81, 86, 90, 95, 100, 105, 110, 116, 121, 127, 132
exaket 23 clock-cycles (ohne aufruf-overhead). In C dauert alleine die Sicherung der Register etwa 64 cycles. Mein PWM hat eine Frequenz von etwa 64Hz (2^23Hz = 8MHz / (2^12 * 32=2^5) => 2^6=64Hz). Dabei dauert der kürzeste PWM impuls 32 cyles, für Maximale Auflösung von 16bit PWM liesse sich das auf
-
Thread
AVR wie SPS Programmieren
Hallo.. Ich will mit einem AVR simple schaltaufgaben erledigen.. Um die sache zu Programmieren suche ich nun eine Software, womit ich den AVR mit simplen Logik-Befehlen (Wie z.B. Siemens Step 5 für SPS) Programmieren kann.. Sinn
schätze mal, die läuft immer noch. SPS-SingleChip 82E10 1000 Befehle (DIP40) zusätzliche 64E+64A mit I/O-Expander(I2C) 1 Stk 36.10 10 stück 28.30 Euro Schau das doch mal komplett an, preiwerter und dazu ausgereift, geht das ? wer rechtschreibfehler findet, kann sie behalten. tschaui
-
Thread
Display (HD4478099) zeigt nur Kästchen
30h,30h,30h,20h,28h,08h,01h,06h,0fh das sind die werte, so nun mal sehen, 30h b00001100 20h b00001000 28h b0010000 und danach b00001000 erst high dann low und so weiter, die Signale von RS E und RW kommand
/site/atmel/avr_lcd/pdf/LC.pdf
-
Thread
Arduino: Ist boolean intern als Bit oder byte (char) organisiert?
Der avr-gcc Compiler, den Arduino verwendet, belegt ein ganzes Byte für boolean Werte.
Und zwar zu Recht, denn es geht hier um Arduino (siehe Überschrift), was sich in der Regel auf einen AVR bezieht, der eben ein 8-Bit-Prozessor ist. Dementsprechend ist eher der Hinweis auf 64-Bit-Prozessoren in dem Kontext etwas merkwürdig. Welche 64-Bit-Arduinos kennst du?
-
Thread
STM32 Shift operationen
- tut es aber nicht! Ich behaupte mal, daß das BITNR-Makro unverändert auch bei C-Compilern füt AVR und sogar PIC12 funktioniert.
(außerhalb des Bereichs)? Sollte int aber 64Bit sein, fehlen jedenfalls 32 Fälle...
-
Thread
I2C Expander reagiert nicht
mr.Moe schrieb im Beitrag #6021610: > die Adresse 0x28 I2C Adressen sind wegen dem R/W Bit immer etwas ... speziell zu betrachten. IIRC will Wire.beginTransmission() die komplette Adresse haben, also Wire.beginTransmission((0x28<<1) | 1 ); oder
Device mit den drei Adressbits und dem wahlweisen Anschluss dieser an VCC, GND, SCL oder SDA insgesamt 64 Adressen einstellbar sind.
-
Thread
ARM ist die Zukunft?
low power brauche. Selbst beim IO access, ist der CM0 deutlich schlechter als ein handelsublicher avr, der cm0 ist mit 2zyklen spezifiziert, der AVR mit 1zyklus., die interrupt latenz beim cm0 mit 16zyklen, beim avr zwischen 8..12 zyklen, ich brauche super schnelle Reaktion, die ich mit dem xmega in 2 zyklen mache dank event systems, selbst branching kostet den CM0 3zykle, den avr nur 2zykle. Bei meiner Anwendung sind etwa 10-20% Sprungbefehle, wenn ich mir das auf die Laufzeit hochrechne kommt der AVR recht gut weg. Der AVR hat auch getrennte busse, codeaufnahme und zugriff
-
Thread
µC nicht mehr ansprechbar
http://www.mikrocontroller.net/articles/AVR_HV-Programmer
Und zum lesen habe ich dir auch was angehängt. Nachgereicht. http://www.schniko.at/index.php/de/avr-meets-me/121-erklaerung-avr-fuse-bits-sut-cksel-taktauswahl-deutsch
-
Thread
8051 - Programm und Daten in einem 128kB Chip ohne Overlap
zu packen. Dafür gibt es ja schon diverse Projekte und Schaltpläne, die allerdings alle die 64kB gemeinsam nutzen (Overlap). Ich möchte jedoch separat 64kB Code und 64kB Daten. Die naheliegende Lösung wäre ja, das Adressbit A16 zu benutzen, um zwischen zwei "Speicherbänken" umzuschalten. Das
habe ich eine Experimentierschaltung auf Platine Sieht gut aus, aber nur zur Info, für grade mal 28 EUR gibt es ein aktuelles 8051 Board mit 64K Flash, 4K RAM, USB, J-Link Debugger drauf und Keil kostenlos ohne Codebegrenzung. Und EMIF da kann man 64K RAM extern anlöten falls gewünscht. http:
-
Thread
Avr 8bit VGA
Das von mir in diesem Thread zweimal verlinkte Projekt ("AVR VGA Terminal") macht dasselbe, mit einem (übertakteten) AVR anstelle eines 32-Bit-PICs.
Und nen ganzen stm32 als GPU für nen 8 bit'ter.. ich weiss nicht, dann lass doch gleich einen "AVR-Emulator" drauf laufen. Oder schneid den AVR-Zopf gleich ab.