gmx.ch http://jump.to/fleury @see The chapter <a href="http://homepage.sunrise.ch/mysunrise/peterfleury/avr-lcd44780.html" target="_blank">Interfacing a HD44780 Based LCD to an AVR</a> on my home page. */ /*@{*/ #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later
gmx.ch http://jump.to/fleury @see The chapter <a href="http://homepage.sunrise.ch/mysunrise/peterfleury/avr-lcd44780.html" target="_blank">Interfacing a HD44780 Based LCD to an AVR</a> on my home page. */ /*@{*/ #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later
gmx.ch http://jump.to/fleury @see The chapter <a href="http://homepage.sunrise.ch/mysunrise/peterfleury/avr-lcd44780.html" target="_blank">Interfacing a HD44780 Based LCD to an AVR</a> on my home page. */ /*@{*/ #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later
;*************************************************************************** ;* Atmel AVR-microcontroller and Epson LC-Display-controller SED1374 * ;* for use with "1/4VGA"-Display (320*240 pixel) Samsung UG32-F05 * ;* Data input via Linear Technology LTC1298 12Bit ADC * ;* Data output via
Hi! Ich habe ein problem mit AVRStudio-WinAVR. Ich möchte einen Timer2-Overflow Interrupt haben um eine Interruptroutine Zyklisch zu starten. Ich habe definiert: ISR(TIMER2_COMP_vect) { Timer++; /* Performance counter for this
selber. Zur Sache kann ich nur soviel (beruhigendes) beitragen: Interrupts funktionieren mit WinAVR ganz prima. Du müsstest also eigentlich nicht die Arbeit des Compilers überprüfen, sondern mehr so die Source-Seite ;-)
findet die Interrupt Routine nix!! Was kann ich tun!! #define F_CPU 8000000UL #include <avr/io.h> #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #include <avr/interrupt.h> #include <avr/signal.h> #define BAUD 38400UL #define UBRR_BAUD ((F_CPU)/(16*(BAUD)
vielen dank für die schnellen antworten. C:/WinAVR/avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>." woher bekomme ich die neueste? hab die erst vor 1 Woche runtergeladen...
gmx.ch http://jump.to/fleury @see The chapter <a href="http://homepage.sunrise.ch/mysunrise/peterfleury/avr-lcd44780.html" target="_blank">Interfacing a HD44780 Based LCD to an AVR</a> on my home page. */ /*@{*/ #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later
otherwise. R (Result) equals Rd after the operation. Example: add r1,r2 ; Add r2 to r1 (r1=r1+r2) add r28,r28 ; Add r28 to itself (r28=r28+r28) Words: 1 (2 bytes) Cycles: 1 17 0856E–AVR–11/05 ADIW – Add Immediate to Word Description: Adds an immediate value (0 - 63) to a register pair and places the result
otherwise. R (Result) equals Rd after the operation. Example: add r1,r2 ; Add r2 to r1 (r1=r1+r2) add r28,r28 ; Add r28 to itself (r28=r28+r28) Words: 1 (2 bytes) Cycles: 1 17 0856D–AVR–08/02 ADIW – Add Immediate to Word Description: Adds an immediate value (0 - 63) to a register pair and places the result
gmx.ch http://jump.to/fleury @see The chapter <a href="http://homepage.sunrise.ch/mysunrise/pfleury/avr-lcd44780.html" target="_blank">Interfacing a HD44780 Based LCD to an AVR</a> on my home page. */ /*@{*/ #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later
gmx.ch http://jump.to/fleury @see The chapter <a href="http://homepage.sunrise.ch/mysunrise/pfleury/avr-lcd44780.html" target="_blank">Interfacing a HD44780 Based LCD to an AVR</a> on my home page. */ /*@{*/ #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later
gmx.ch http://jump.to/fleury @see The chapter <a href="http://homepage.sunrise.ch/mysunrise/pfleury/avr-lcd44780.html" target="_blank">Interfacing a HD44780 Based LCD to an AVR</a> on my home page. */ /*@{*/ #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later
25°C, I = 1mA (BR)DSSJ D RDS(on) Static Drain-to-Source On-Resistanc––– ––– 8.0 mΩ VGS = 10V,DI = 62AVR V Gate Threshold Voltage 2.0 ––– 4.0 V V = V , I = 250µA GS(th) DS GS D gfs Forward Transconductance 44 ––– ––– S VDS = 25V,DI = 62AR ––– ––– 25 V = 55V, V = 0V DSS Drain-to-Source Leakage Current µA
otherwise. R (Result) equals Rd after the operation. Example: add r1,r2 ; Add r2 to r1 (r1=r1+r2) add r28,r28 ; Add r28 to itself (r28=r28+r28) Words: 1 (2 bytes) Cycles: 1 17 0856D–AVR–08/02 ADIW – Add Immediate to Word Description: Adds an immediate value (0 - 63) to a register pair and places the result
(bei mul32 waren es 33 oder 0x21) mov dcnt64u, r28 ;wegen r15 (ldi nicht erlaubt) clr drem64u0 ;clear 4 lower remainde byte clr drem64u1 ; clr drem64u2 ; clr drem64u3 ; sub drem64u4,drem64u4;and carry d64u_loop: rol dd64u0 ;shift left dividend rol dd64u1 ; rol dd64u2 ; rol dd64u3 rol dd64u4 ; rol dd64u5 ; rol dd64u6 rol dd64u7 ; ; dec dcnt64u ;decrement loop counter breq Com64 ;if counter zero invert result rol drem64u0 ;shift dividend into remainder
don´t have to be changed for the use for the most part. Both files you can find in the directory ($avr)/include. For further information look up the program make and its helpfile. The structure of a possible makefile: # This part includes the make1 file of the include directory # include $(AVR)/include
otherwise. R (Result) equals Rd after the operation. Example: add r1,r2 ; Add r2 to r1 (r1=r1+r2) add r28,r28 ; Add r28 to itself (r28=r28+r28) Words: 1 (2 bytes) Cycles: 1 17 0856D–AVR–08/02 ADIW – Add Immediate to Word Description: Adds an immediate value (0 - 63) to a register pair and places the result
don´t have to be changed for the use for the most part. Both files you can find in the directory ($avr)/include. For further information look up the program make and its helpfile. The structure of a possible makefile: # This part includes the make1 file of the include directory # include $(AVR)/include
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ #ifndef __IOM128 #define __IOM128 1 #define AVR_MEGA 1 #define AVR_ENHANCED 1 /* * Predefined SFR Addresses. * NOTE: These addresses will be either DATA MEMORY or I/O MEMORY addresses, * depending on how you define __SFR_OFFSET (0x0 for I/O, 0x20
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ #ifndef __IOM128 #define __IOM128 1 #define AVR_MEGA 1 #define AVR_ENHANCED 1 /* * Predefined SFR Addresses. * NOTE: These addresses will be either DATA MEMORY or I/O MEMORY addresses, * depending on how you define __SFR_OFFSET (0x0 for I/O, 0x20
Ich habe es mal auf einem AVR ausprobiert: Ein tiny2313 sendet mit 6,4kHz Samplerate die Symbole mit 64 Werten Länge. Macht also 100Baud Datenrate. Ein mega48 @22MHz digitalisiert mit 6,4kHz und erzeugt daraus wieder die Bitwerte
das ganze noch in C geschrieben ist, in Assembler wären bestimmt noch 50% mehr Bandbreite möglich. 64Werte und 6,4kHz benötigen immerhin rund 820000 Multiplikationen pro Sekunde. Das ist fürt einen AVR schonmal nicht schlecht. Das ganze funktioniert wunderbar, nur fehlt mir noch eine passende Modulatorschaltung
www.ispf.de mit UART Library und optimierter Ausgaben. Es kann gleichzeitig als Beispiel für andere AVR Systeme dienen. Neu: - UART Library - RS232 auch ohne Baudraten Quarz dafür aber mit 16MHz - optimierter Memory Dump - Speicher-Test nach Typ getrennt - Memory Bank Ausgabe - UART0 Ausgabe auf ATMega128 - WinAVR 20060421 geeignet Viel Erfolg Michael ---------------------------------------------------------------------- Bildschirm Hardcopy: Welcome to the arthernet external memory test program
<20+ dc * 98<10+ dc * ba <18+ dc * dc <20+ dc *fe <28+ fe * 98<18+ fe * ba <20+ fe * dc <28+ fe *fe <30= ================== FDBAC096DD413A40 98* 98+ 98* ba00+ 98* dc0000+
sollten wir ihn mal hierher lotsen... So weit ich sehe, sind die momentanen Verbesserungen für 64-Bit gcc schon recht gut: http://gcc.gnu.org/viewcvs/trunk/libgcc/config/avr/lib1funcs.S
der Karte. Der entscheidende Teil der sd_raw_config.h sieht bei mir so aus: [c] #elif defined(__AVR_ATmega64__) || \ defined(__AVR_ATmega128__) /* Attention: all pins must be defined for correct work */ #define configure_pin_mosi() DDRB |= (1 << PB2) #define configure_pin_sck()
@Guido: Wieder mal zu schnell abgesendet. Der Code geht ja noch weiter: [c] #elif defined(__AVR_ATmega64__) || \ defined(__AVR_ATmega128__) /* Attention: all pins must be defined for correct work */ #define configure_pin_mosi() DDRB |= (1 << PB2) #define configure_pin_sck()