-
Thread
LCD Anzeige spinnt
|__d__| |__off___| g = 1 = off bit 6 siehe: http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige */ #define LCD_PORT_DIR P2DIR // #define LCD_PORT_OUT P2OUT // #define LCD_1_LOW P3OUT&=~BIT4 // #define LCD_1_HIGH P3OUT|=BIT4
*21*/ 0x15, /*22*/ 0x16, /*23*/ 0x17, /*24*/ 0x18, /*25*/ 0x19, /*26*/ 0x1a, /*27*/ 0x1b, /*28*/ 0x1c, /*29*/ 0x1d, /*30*/ 0x1e, /*31*/ 0x1f, /*32*/ 0x20, /*33*/ 0x21, /*34*/ 0x22, /*35*/ 0x23, /*36*/ 0x24, /*37*/ 0x25, /*38*/ 0x26, /*39*/ 0x27, /*40*/ 0x28, /*41*/ 0x29, /*42*/ 0x2a
-
Thread
Teilen durch 100 per Schieberegister?
durch 2er Potenzen kann man auch andere Faktoren annähern. x * 3/32 x * 6/64 x * 7/64 x * 12/128 x * 13/128 ...
gesetzt, dann (Bit löschen, 56 addieren, Sprung nach Punkt 6) 7. Wenn Bit 7 gesetzt, dann (Bit löschen, 28 addieren, Sprung nach Punkt 7) 8. Wenn der verbleibende Registerwert=0 oder Registerwert=100, dann durch 100 teilbar, sonst nicht
-
Thread
Pin Change Interrupt bei offenem Eingang
ja doch ein Problem des ATMegas... $regfile = "M644pdef.dat" $crystal = 12288000 $hwstack = 128 $swstack = 128 $framesize = 128 $baud = 57600 Schalter Alias Pinc.5 : Config Schalter = Input : Portc.5 = 1 Print "Neustart" Do If Schalter = 1 Then Print "1"; Loop End selbst
den Pullup eingeschaltet zu haben und nicht den Pin als Ausgang? Wie ist denn die Stromaufnahme des AVR? Peter
-
Thread
Wie sieht ein Downloadvorgang auf low-level ebene aus?
muss). Interessant wäre auch >auf welchem Port das ganze abläuft... FTP? Schau dich mal bei den AVR Webservern um. Da soll es sowas ja mal gegeben haben;) >PS: Reicht ein AVR um mit < 128 kB/s (DSL1000) auf ne SD-Karte zu downen >oder muss da ein arm ran? Geht mit AVR grad so. Eher weniger
@Max erzähl mal wo hier der Spareffekt entstehen soll ... Mit einem AVR+ENC28J60 a'la NetIO über HTTP auf SD-Karte wirst du nur einen Datendurchsatz von unter 3kB/s schaffen. Das währe (grob gerundet) 1/50 von 128kB/s. Damit würde der Download mit einem PC/Notebook 50x
-
Thread
enj28J60 Übertragungsgeschwindigkeit
sorry, natürlich rede ich vom ENC28J60 blöder Buchstabendreher.......
Also für wenig Daten AVR - SPI - ENC28J20 für Druchsatz z.b. ARM-core - MII / RMII - Ethernet PHY
-
Thread
I2CEprom 24LC512 Page Write Bascom - TWI Experten gesucht
auf diversen Seiten, dass der page-Write nicht so einfach wäre, z.B. hier: http://www.grzesina.de/avr/i2c/i2c.html Es müssen die Bytes immer in der 128-Byte Seite (von null begonnen) liegen Also wenn immer 10 Bytes geschrieben werden 0-10-20-30-40-50-60-70-80-90-100-110-120 gibts beim 13.Log
Schreiben ab Adresse 120 muss ich dann 2x schreiben (einmal 120-127 und den 2. Schreibvorgang mit 128-129) Aus dem Datenblatt zum 24LC512 geht das leider auch nicht so recht hervor, bzw. steht nicht explizit, dass der SRAM-Buffer mit 128 Bytes auch genau einer 128-Byte Seite im EPROM zugeordnet werden
-
Thread
ATMEGA mit XRAM?
etwas mehr Flash sein darf als der Atmega8515 dann gibs z.B. >noch den Atmega162. Und wenns kein AVR sein muss, dann einfach mal bei den 8051ern nachsehen. Die gibts in DIP 40 und die haben alle ein ext. Memory Interface.
(0-64kb), wenn die 17te auf 1 liegt bist du in der oberen Hälfte (64kb-128kb). Allerdings muss man das von Hand machen, wenn der Compiler das nicht unterstützt. Ich hab bei mir 512kb RAM dran, heisst 19 Adressleitungen. Die Adressleitungen vom AVR liegen ganz normal
-
Thread
AVR-ASM: Simulierter call
Johann L. schrieb im Beitrag #2317451: > Wie kommst du auf sowas? Der AVR adressiert den Programmspeicher tatsächlich wortweise - oder wie willst du sonst mit 16-Bit-Adressen 128 kb adressieren? Der lpm-Befehl kann entsprechend auch nur 64 kb Programmspeicher adressieren
Uhu Uhuhu schrieb im Beitrag #2317482: > Der AVR adressiert den Programmspeicher tatsächlich wortweise - oder wie > willst du sonst mit 16-Bit-Adressen 128 kb adressieren? Das geht mit RAMPZ.
-
Thread
OCR0A -Overflow mit Werten aus ADC?
entsprechende Codeabschnitt: volatile static uint8_t PWM[64] = {20,21,22,23,24,24,25,27,28,29,30,31,32,34,35,37, 38,40,41,43,45,47,49,51,53,55,57,60,62,65,67,70, 73,76,79,82,86,89,93,97,101,105,109,114,118,123,128,134, 139,145,151,157,163,170,177,185,192,200,208,217,226,235,245,255
Ausweg ist es, die Look-Up-Tabelle ins Flash zu verbannen: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29
-
Thread
[avr-gcc] PORT Definition in einer Liste speichern
Struct aus dem Array. Das fehlt leider > noch im Wiki http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29
Zur Berechnung von DDR und PIN gibt es ein kleines Makro. Die Lösung im Wiki funktioniert beim Mega128 PortF nicht [c]#define DDR(x) (*(&x - 1)) #if defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__) #define PIN(x) ( &PORTF==&(x) ? _SFR_IO8(0x00) : (*(&x - 2)) ) #else #define PIN(
-
Thread
GCC Optimierung, unterschiedliche Codelänge
handelt es sich um einen Bootloader bei dem der Uart gepollt wird und die Bootloaderfunktionen aus der <avr/boot.h> verwendet werden. Ist zwar nicht dramatisch, da der Code in den 168er gerade noch reinpasst, aber doch etwas verblüffend. mfg.
r27, 0xFE ; 254 3d24: 8c 91 ld r24, X 3d26: e8 17 cp r30, r24 3d28: 11 f0 breq .+4 ; 0x3d2e <VerifyPage+0x28> 3d2a: 81 e2 ldi r24, 0x21 ; 33 3d2c: 08 95 ret so wie es scheint, kommt den unterschiende weil die beiden
-
Thread
AVR/PIC oder ähnlich mit integrated osc >8MHZ
standalone (ohne ext beschaltung),mit mehr als mit 8 Mhz läuft? Am besten auch noch in DIL mit <=28pin (je weniger je besser)
man da vermutlich gar keine 8 MHz > mehr braucht, weil auch so schon recht schnell. PIC3 oder AVR welcher bietet mehr performance? AVR dachte ich hat doch alles single inst (bis auf division) oder? Ist der befehlssatz des pic3 mächtiger? oder wie kann der sonst an die Effizienz des avr rankommen
-
Thread
An Bit Experten: "Alles CRC oder was?" - oder so.
wo du Bits zeigst) orginal oder gedreht? Hast du schon an gewichtete Prüfsummen gedacht? avr
24 01011 100 26 1 25 11011 000 27 0 26 00111 110 28 3 27 10111 010 29 2 28 01111 101 30 5 29 11111 001 31 4 30 00001 111 16 7 Schritt 9: mögliche Kalkulation
-
Thread
[V] Atmel: JTAGICE2, AVRISPmk2, STK500, XPlained, XPlain, AVR-CAN Board, SDP1000-L, uvm..
Firma (für die Kaffeekasse :-)), gibt es paar Sachen zu verkaufen die leider nur rumliegen. 1x AVR JTAGICEmkII -- gebraucht -- 130€ + Versand 1x STK500 -- Neu umbenutz OVP -- 60€ + Versand 1x AVRISPmkII -- 1-2 Mal benutzt OVP -- 28€ + Versand 1x AVRISPmkII -- gebraucht -- 24€ + Versand 3x AVR Xplained -- NEU OVP (versiegelt) -- pro Stück 28€ + Versand 1x AVR Xplain -- gebraucht -- 23€ LUFA Proj. ist drauf, läuft als AVRISPmk2 1x AVR-CAN Testboard -- paar Male benutzt Atmega16 drauf -- 28€ + Versand --> http://www.kreatives-chaos.com
-
Thread
ATXmega128A1, SRAM-Anbindung, EBI
Keil, IAR...) habe, keine Lust habe mir den ganzen Aufwand mit Eclipse zuzumuten und bei mir sowohl AVR Studio 5 (kostenlos) als auch AVR Dragon zum debuggen vorhanden sind, werde ich wohl bei Atmel bleiben. MfG R
nicht aber unbedingt für XMEGA-A1. Man kombiniere die Inhalte von: 1. XMEGA-A-Manual 8077H-AVR-12/09 Seite 279 24.11.1 Table 24-6 -> "Note: 1. ALE2 and NOALE only available with 4-port EBI interface" 2. XMEGA-A1-Manual 8067M–AVR–09/10 Seite 13 7.4.4 "Supports SRAM up to – 512K Bytes using
-
Thread
Atmega8 Timer stoert TWI
); } TCNT1 = 0; TCCR1A = 0; TCCR1B = 0x01; #if defined(__AVR_ATmega168__) // Atmega168 TIMSK0 |= _BV(TOIE2) | _BV(TOIE1); #endif #if defined(__AVR_ATmega8__) // Atmega8 TIMSK |= _BV(TOIE2) | _BV(TOIE1); #endif } void servo_set
return 3; case 6 : case 18: case 27: return 4; case 11: case 19: case 28: return 5; case 10: case 13: return 7; } break; case 1: if (ionr >= 23 && ionr <= 28) return ionr-23; break
-
Thread
Zwei kleine Fragen zu Bascom Do Loop Schleife
alternativ könnte ich Dir 6 Stück IV-17 Röhren hinterlassen http://i.ebayimg.com/03/!B7vOgKQ!Wk~$%28KGrHqJ,!iIEzNIFsk%28PBM1Fkf5WFQ~~0_35.JPG
Versuch mal "Config ADC = Free, Prescaler = 128, Reference = AVCC"... Gruß Jonathan
-
Thread
ATmega32-Board
spielen/anfangen mit MCUs >>> http://www.aliexpress.com/product-fm/480406086-Free-Shipping-Atmel-AVR-ATMega32-ENC28J60-development-board-study-board-wholesalers.html Free Shipping, Atmel AVR ATMega32+ENC28J60 development board,study board Atmel AVR ATMega32 onboard ISP interface onboard +++ JTAG interface onboard +++ ENC28J60+RJ45 socket +++ SD card onboard Key,7-seg-led, +++ beep RS232 onboard +++ LCD1602 / LCD128*64 dot matrix interface onboard +++ DAC TLC5615 onboard All IO extand out USB power
-
Thread
ATxMega Stick
Hallo, nach dem ATxMEGA128 Board hab ich jetzt noch die wesentlich kompaktere Version entwickelt: den "ATxMega128 Stick". Hier ist das Herzstück ein ATxMega128A3 oder seine Geschwister mit 32k, 64k, 192k oder 256k. Die Hardware
also ich hätte lieber den ATxMega128
-
Thread
Schneller Mikrocontroller mit Ethernet gesucht
Kanäle. 2x 12-Bit DACs. Ethernet MAC. USB Device/Host/OTG. STM32F207: 120MHz CPU, 1M ROM, 128K RAM. 3x 12-Bit ADCs je 2MS/s, insgesamt 24 Kanäle. 2x 12-Bit DACs. Ethernet MAC. USB Device/Host/OTG high-speed.
Also Modul ist vielleicht das AVR-Webmodul von Ulrich radig interessant. http://www.ulrichradig.de/home/index.php/avr/avr-webmodule Programmierung wäre allerdings über isp. Ethernet war über einen enc28j60 zur ethernetbuchse
-
Thread
DIAMEX ALL-AVR
Dann mit AVR-Dude
device: 16 was not an MTP device kernel: usb 2-1.2: usbfs: USBDEVFS_CONTROL failed cmd mtp-probe rqt 128 rq 6 len 1024 ret -110 lsusb: Bus 002 Device 016: ID 03eb:2104 Atmel Corp. AVR ISP mkII Test, ob Device ansprechbar ist: avrdude -c avrisp2 -P usb -p m8 -v: (wahlweise auch mit avrispmkII - ändert
-
Thread
AVR + SJA1000 oder MCP2515
Hallo! Ich weiß es gibt bereits AVR mit CAN. Aber beim durchschauen hatte ich den Verdacht, dass ein MCP2525 + AtMega16 einfacher wäre ( wegen der Befehle etc. ) als gleich einen AT90CAN128 oder soetwas auf die Art. Vielleicht irre
Markus schrieb im Beitrag #2275865: > Hallo! > > Ich weiß es gibt bereits AVR mit CAN. > > Aber beim durchschauen hatte ich den Verdacht, dass ein MCP2525 + > AtMega16 einfacher wäre ( wegen der Befehle etc. ) als gleich einen > AT90CAN128 oder soetwas auf die Art. >
-
Thread
TFT Ansteuerung mit Atmega16
eingebauten Displaycontroller und eingebauten Grafikspeicher haben. Das kannst Du problemlos mit einem AVR ansteuern. Ich würde dafür allerdings einen größeren AVR wie einen Mega128 oder mit externem Adress/Datenbus verwenden, dann ist der Zugriff schneller. fchk
>> T6963C geht >> bis 240x128. Ist alles monochrom aber zum anfangen reichts >> für einen AVR. T6963C würde ich bevorzugt nehmen. >Reicht das einer zum aufbrutzeln auf Lochraster oder muss es so ein >Hammer-AVR im Miniformat
-
Thread
Lokalität von Registerwerten?
-----; ; Melody Generator (C)ChaN, 2005 .include "tn45def.inc" ;This is included in "Atmel AVR Studio" .include "avr.inc" .include "mg.inc" .def _0 = r15 .def _Sreg = r14 .def _Zreg = r12 .def _Yreg = r10 .def _TmrH = r9 .def _TmrL = r8 .def _TmrS = r7 .equ N_NOTE
-----------; ;Since sustain area of wave table, a cycle of fundamental frequency, is sampled ;in 128 points, the base frequency becomes 32000/128 = 250 Hz. The wave table ;lookup pointer, 16.8 fraction, is increased every sample by these 8.8 fractional ;angular speed values. tbl_pitch: ; A
-
Thread
OpenMCP Pollin board
2.0 von Pollin und möchte auf dem NetIO das OpenMCP Projetk laufen lassen. Ich möchte nun über WinAVR welches schon läuft und mit dem Programmer kommuniziert (zumindest sagt er das er den AVR beschreibt) das ganze Programmieren. Ich hab vor Jahren damit schon mal angefangen und mich versucht jedoch
brauchst mindestens einen ATmega 644 mit entsp. Einstellung im makefile: [c] # MCU name # MCU = atxmega128a1 # MCU = atmega128 # MCU = at90can128 # MCU = atmega2561 MCU = atmega644 # MCU = atmega644p # MCU = atmega1284p # Hardwareplatform # HARDWARE = OpenMCP HARDWARE = AVRNETIO # HARDWARE =
-
Thread
Lüftersteuerung im PC
Tacho-Anschluß ist ein Open-Collector, den man einfach an einen Eingang mit aktivierten Pull-Up des AVR legt. Das Tacho-Signal liefert zwei Impulse pro Umdrehung. Den PWM-Eingang des Lüfters legt man einfach an den PWM-Ausgang des AVR. Einfacher geht es doch wohl gar nicht mehr. Damit wird gern ein
für die 4 Pin Lüfter gibt es ein Datenblatt von Intel. Da steht dann zB. drin: PWM Frequenz 21- 28KHz Minimum Fanspeed = 30%
-
Thread
mehrere Servos
als 128 werden kann. Ergo programmieren wir [C] ..... int main() { ..... ADC_init(); while( 1 ) { ServoPuls[0] = ADC_read( 0 ) / 4 * CENTER / 128; } } [/C]
Habe 1 Mhz, Vorteiler 128, da eigentlich nur beschrieben ist das ich unter 128 bleiben soll !
-
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
Karl schrieb im Beitrag #2261445: > Also nochmal, ich kompiliere mit AVR-Studio und mir fehlen > Informationen, ob ein Hexfile vom atmega128 identisch aufgebaut ist warum must du es dafür wissen? Das Studio erzeugt doch die Datei. Mir war es bis jetzt ziemlihc egal wie
-
Thread
Suche DIP-µC für 80kHz Gegentakt-PWM in Hardware
Ja, der dsPIC33FJ128MC802 sieht schon extrem interessant aus für ein DIP28-Device. 16 Bit sind ja auch gar nicht so schlecht. Mal sehen wo ich den herkriege. Mag aber die PICs nicht besonders (was mich nicht davon abhalten
langsamer Etwas langsamer als die dsPIC33 (30 zu 40MHz oder so) aber immer noch weit schneller als AVR.
-
Thread
SOUNDRX - Datenübertragung/Bootloader PC -> µC über PC-Soundkarte
muss Dein Code machen, außer das Flash zu programmieren? Beim Bootloader muss ich Blöcke zu je 128 Bytes (SPM_PAGESIZE) zusammensammeln und dann: 128 Bytes Flash löschen 128 Bytes wortweise in den internen PageBuffer schreiben 128 Bytes vom Pagebuffer ins Flash schreiben Der Grund ist einfach
Ähm, ok, hier das Bild noch mal etwas besser: http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=128
-
Thread
atan() auf einem AVR ohne Fließkommaarithmetik
kommt vor allem auf die Schnelligkeit an, RAM und Flash sind eigentlich genügend vorhanden (16kb bzw 128kb) Vielen Dank für eure Hilfe
return (int16_t)((57.2958*x) / (0.28*x*x + 1)); } else if(x > 1) // x > 1 { return (int16_t)(90 - (57.2958*x) / (x*x + 0.28)); } else // x < 1 { return (int16_t)(-(90 - (57.2958*x) / (x*x + 0.28)));
-
Thread
bit invertieren
mirror/ auskommentiert wurde, und danach der > Speicherplatzzuwachs festgestellt wurde (Atmega32, -Os, avr-gcc 4.3.2): Erstaunlich, was bei Dir an relativen(!) Unterschieden rauskommt. Bei mir ist es ATmega168, -Os, avr-gcc 4.3.3.
Funktions-Aufruf. (Codesize und CPU-Zyklen für diese Initialisierung sind nicht dabei) [c] #include <avr/io.h> volatile uint8_t cnt; unsigned char mirror1(unsigned char a ) // 42 Bytes, 28 Cycles { a = ((a >> 4) & 0x0F) | ((a << 4) & 0xF0); a = ((a >> 2) & 0x33) | ((a << 2) & 0xCC); a =
-
Thread
Dosieranlage über AVR Mega8
Entprellung hilft das hier bestimmt http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 Da brauchst du überhaupt keine extra Hardware, wenn du es mit der Softwarelösung versuchen willst ;) derLars
einer Softwarelösung gezeigt. http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 Für dich neu in dieser Lösung ist die Funktion eines Timers. Den wirst du auch benötigen. Arbeite die Lösung durch und Versuche das zu verstehen. Näheres zu de Timern findest du
-
Thread
Ich verstehe den Timer0 beim ATtiny 13 nicht.
der Überlaufinterrupt asynchron zum Timerüberlauf erfolgt: http://www.mikrocontroller.net/topic/avr-timer-mit-32-bit#new Peter
höher auflösende Servoimpulserzeugung (Mikrosekunden-Raster) findest Du hier: http://www.hanneslux.de/avr/mobau/7ksend/7ksend02.html Und hier http://www.hanneslux.de/avr/mobau/index.html gibt es noch weitere Programme, die sich mit Servoimpulsen befassen. Die haben zum Teil aber schon einige Jahre auf
-
Thread
Lohnt sich der Umstieg auf 32-Bit Controller
da auch nicht do flott, der braucht je nach Adressierung auch 4-5 Takte. Unser allseits beliebter AVR braucht EINEN bis maximal ZWEI! Für Bitbanging absolut Spitze! MFG Falk
meist langsam ist >.. der braucht je nach Adressierung auch 4-5 Takte. Unser allseits beliebter > AVR braucht EINEN bis maximal ZWEI! Aber je nach gewünschter Adressierung braucht AVR dafür auch wieder mehrere Befehle, weil RISC! Viele andere Controller sind dafür auch höher taktbar.
-
Thread
Peter Fleury LCD Lib für AT90USB162?
line */ #define LCD_E_PIN 7 /**< pin for Enable line */ #elif defined(__AVR_AT90S4414__) || defined(__AVR_AT90S8515__) || defined(__AVR_ATmega64__) || \ defined(__AVR_ATmega8515__)|| defined(__AVR_ATmega103__) || defined(__AVR_ATmega128__) || \ defined(__AVR_ATmega161
__) || defined(__AVR_ATmega128__) /* on ATmega64/128 PINF is on port 0x00 and not 0x60 */ #define PIN(x) ( &PORTF==&(x) ? _SFR_IO8(0x00) : (*(&x - 2)) ) #else #define PIN(x) (*(&x - 2)) /* address of input
-
Thread
Mehrere ADC-Pins bei Atmega8 benutzen
können. Als Test sollten diese nurmal auf ein LCD Display ausgegeben werden. Ich hab den Code aus dem AVR-Tutorial dieser Seite dafür umgeschrieben, allerdings funktioniert die Anwendung nicht, da die angezeigten Werte nicht stimmen, bzw. sich gegenseitig beeiflussen. Hier der Code: .include "m8def.inc
bis 200khz solltest du aus dem vorteiler herausbekommen. http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC
-
Artikel
BAE-Tutorial
einem externen Gerberviewer zu kontrollieren. Näheres zu Gerberviewern findet sich unter Gerber-Tools. AVR-Bauteilbibliothek. (Mittlerweile auch "offiziell" bei BAE Contrib) Das Zip-Archiv enthält zwei Dateien: avr.ddb (die eigentliche Bauteilbibliothek) und avr.def (die Loglib-Quelldatei). Zwar wurden die
logische Bibliothek. Methode 1 benutzt dafür die Kommandozeile und das Kommando copyddb : copyddb avr.ddb meinprojekt.ddb -ms -llib at90s4434fp Methode 2 geht über die Menüs im Schaltplaneditor: Datei -> Library Utilities -> Elemente kopieren -> Logische Bibliothek -> Dateiauswahlbox Quelldatei, avr.ddb
-
Thread
Steuerung für Ersa-Kolben
Mach doch die Analog 60 auf und ersetze den AVR durch deinen eigenen bzw. behebe den eigentlichen Fehler. Die Station der Analog 60 verwendet doch auch nur einen AVR, nix analog. ;)
Könnte die anbindung an den AVR so funktionieren ?
-
Thread
A/D-Wandler ADS7841 über SPI mit ATmega16 auslesen ->Probleme
(1<<PB4); //SS als Ausgang SPCR = 0xD3; // SPI Interrupt enable, SPI enable, Master, f_osc/128 = 28,8 kHz } void spi_send_byte (unsigned char spi_byte) { SPDR = spi_byte; while(!(SPSR & (1<<SPIF))) { // warten bis Übertragung fertig ist } } [/c]
Schieberegister stehenden “alten“ Wert (der vorherigen Multiplexereinstellung). Mfg, Balze aka AVR Noob
-
Thread
Mikrocontroller für Tastatur-Projekt gesucht
dann mal zu. Versuch macht klug, oder willst Du dumm sterben? Naja. Wenn der TO sich bereits mit AVR auskennt und dafür auch passende Programmiergeräte hat, sollte er auch bei AVR bleiben. Entweder AVR = alles vorhanden. Oder PIC = Programmiergerät kaufen/bauen, fehlschläge, PIC lernen, fehlschläge
an Peripherie hat? MCU in DIL mit CAN? Gibts bei AVR nicht! MCU mit eingebautem Ethernet? Gibts bei AVR nicht, hier brauchst du eine ganze Platine, was anderswo in einem einzigen Chip drin ist. Audioausgabe via SPDIF? DsPICs können das per DCI direkt
-
Thread
diskreter PID Regler fuer Temperatursteuerung und PWM
Zu 3): http://de.wikipedia.org/wiki/Faustformelverfahren_%28Automatisierungstechnik%29
der Appnote: "To increase accuracy the p_factor, i_factor and d_factor are scaled with a factor 1:128. The result of the PID algorithm is later scaled back by dividing by 128. The value 128 is used to allow for optimizing in the compiler." In der Appnote steht aber nichts davon, den SCALING_FACTOR
-
Thread
AVR Synthesizer Konzept
Sinustabelle, sobald der 16bit DAC da ist, werde ich das verwenden: http://www.mikrocontroller.net/articles/AVR_Arithmetik/Sinus_und_Cosinus_%28Lineare_Interpolation%29#_note-3.4.6 Der Pausenbefehl funktioniert nicht ganz. Liegt das daran, dass PWM im Normalen Modus nie 0 sein kann?
Buffern umschalten. In einem wird gerechnet, der andere wird gerade ausgegeben. Wär nen Ansatz für AVR.