-
Thread
AVR-Debugging: Speicherstelle überwachen
Anton schrieb im Beitrag #6880237: > welche Möglichkeiten gibt es beim AVR-Debugging, eine konkrete > Speicherstelle zu überwachen Welcher AVR mit welcher Toolchain? Ohne genauere Definition hier ein paar Suchbegriffe: https://onlinedocs.microchip.com/pr/GUID-ECD8A826
Möglichkeitspotential. Deswegen kann man eigentlich nur herumstochern, und herumprojizieren. http://www.avr-asm-tutorial.net/avr_sim/index_de.html https://github.com/SilverBut/avr_helper
-
Thread
Ansteuerung eines Getribeschrittmotors in abhängigkeit der Drehzahl (nonblocking)
r26,r2 reti [/avrasm] Diese kleine Routine ändert beim nächsten Timer 1 compare interrupt die Ports B und C auf vorbereitete Werte und programmiert den Timer um so dass er in n ticks wieder auslöst. Welchen Wert die ports bekommen und wie viele ticks veegehen sollen bis sie sich wieder ändern
Daraus lässt sich das gewünschte bestimmt zusammenbasteln. https://www.mikrocontroller.net/articles/AVR-Tutorial:_Mehrfachverzweigung
-
Thread
Eigenbau-"Poti" mit Fotodiode
Reflektiert könnte ich ja auch irgendwas metallisch beschichtetes nehmen. Kann ich den CNY70 direkt an den AVR hängen?
Ups, da hab ich tatsächlich Mist gebaut. Ports verdreht. Sorry, wie schon gesagt, Mikrocontroller-Einsteiger, hab nicht im Datenblatt nachgeschlagen, ich dachte in Erinnerung zu haben der ADC sei an Port B. Zum Rest: Ich will ganz ehrlich sein
-
Thread
USB Koppelfeld für Festplatten
to a port is turned on when a SetPortFeature(PORT_POWER) request is received for the port. Port power is turned off when the port is in the Powered-off or Not Configured states. If a hub supports ganged power switching, then the power to all ports in a gang is turned on when any port in a gang receives a SetPortFeature(PORT_POWER) request. The power to a gang is not turned off unless all ports in a gang are in the Powered-off or Not Configured
-
Thread
Atmega8 Temperaturmessung
/* 8 */ D_ALL, /* 9 */ D_ALL & ~D_BL, /* X */ D_ALL & ~(D_T | D_B) }; SEG_PORT = ((SEG_PORT & ~0x3F) | seg | (SEG_PORT & (1 << 6 | 1 << 7))); D_PORT = digits[digit >= 0 && digit <= 9 ? digit : 11]; } Was haltet ihr davon?
#define PIN4 (1<<4) #define PIN5 (1<<5) #define PIN6 (1<<6) #define PIN7 (1<<7) #define D_PORT PORTB #define SEG_PORT PORTD // T=Top L=Left R=Right B=Bottom M=Middle PT=Point #define D_TL PIN0 #define D_T PIN1 #define D_TR PIN2 #define D_BL PIN3 #define D_B PIN4 #define D_M PIN5
-
Thread
Unterschiede zwischen IN reg, PINB und IN reg, PORTB
Hallo, was ist denn der Unterschied, ob ich bei meinem AVR in Assembler den B Port mit IN reg, PINB oder IN reg, PORTB einlese? Am B-Port sind Taster angeschlossen, der Compiler akzeptiert beide Varianten. Im Simulator wird für den Port B und den Pin B jeweils
Mit PORTB wird dein Port konfiguriert. PINB liefert dir die am Port B herrschenden (physikalischen) Logikpegel.
-
Thread
Schwerer Bug in AVR-GCC 4.1.1 Gesperrt
Gesprächsverlauf wieder zurück ins Mittelalter... ;-) Naja, nicht ganz. Aber die Jungs die den AVR-Port geschrieben haben sollten/müssen schon ein paar Besonderheiten von uCs beachten. Und man hätte ja in den Macros sei() und cli() die diversen, schon vorhandenen, Macros für volatile, memory block
> Aber die Jungs die den AVR-Port geschrieben haben > sollten/müssen schon ein paar Besonderheiten von uCs beachten. Das Wörtchen "müssen" reduziert die Wahrscheinlichkeit, dass sich jemand eines solchen Themas überhaupt annimmt
-
Artikel
STM32F10x Standard Peripherals Library
dafür eine eigene Funktion geschrieben. Diese lautet GPIO_PinLockConfig(). Erster Parameter ist der Port, der zweite sind die Pins, welche man sperren möchte. Diese kann man wieder mit der ODER Verknüpfung kombinieren. Eingänge einlesen. Um Daten in den STM32 einzulesen, gibt es wieder ein paar ST Funktionen
verwendbaren Funktionen sind: GPIO_ReadInputDataBit() sowie GPIO_ReadInputData(). Erster Parameter ist der Port, der zweite sind die Pins, die man einlesen möchte. Bei GPIO_ReadInputData() wird jedoch nur der Port übergeben, da diese Funktion den gesamten Port zurück liefert! Hier wird der tatsächliche logische
-
Thread
HEX-Datei in Bitmap wandeln
PC-Seite zu empfangen und 1:1 zu > speichern... ach so... na, dann könntest du die daten byteweise einlesen, auf dem pc den header interpretieren und dann weisst du ja, wieviele bytes noch kommen. du müsstest allerdings ein kleines progrämmchen für den pc schreiben, das ist aber trivial. ...oder du packst
so sein soll. Größeres mache ich mittlerweile fast nur in C++. Im Code steckt nicht viel drin, Port öffnen, Datei öffnen und alles was am Port reinkommt in die Datei schreiben. Die wichtigste Funktionalität steckt in eine COM-Port-Komponente, die das ganze Handling der Schnittstelle übernimmt. http
-
Thread
Taser gedrückt LED soll leuchten
Features nutzen. Setze einfach das entsprechende Bit im PINx-Register, und schon ist der zugehörige Port getoggelt, also invertiert. Siehe auch Seite 47 ganz oben im Datenblatt des Tiny2313. Ansonsten erreichst du das T-Flipflop ganz einfach durch eine EXOR-Verknüpfung des eingelesenen Ports mit einem
sind, das / die getoggelt werden soll(en). Also: - zu toggelnde Bits in Hilfsregister2 setzen - Port in Hilfsregister1 einlesen - Hilfsregister1 mit Hilfsregister2 EXOR-verknüpfen - Hilfsregister1 an Port ausgeben ...
-
Thread
ADC - Genauigkeit (Abstufung)
Mittelwerte. Die Spannung wird an einem RC Gleid 50 k und 100 uF abgegriffen (Steckbrett, 5 cm Draht zum Port) und der Analogeingang hat zu den PWM Ausgängen min. 2 PINs frei. Gibt es da Abhilfe?
Steigung" der Kurve bestimmt werden. //einen Mittelwert an einer x beliebigen Stelle der Ladekurve einlesen. //den Timer starten //weitere Mittelwerte einlesen, BIS die beiden Mittelwerte eine festgelegte Differenz ergeben, z.B 5. //Timer stoppen und Steigung berechnen. 2. wie Generell funktioniert
-
Thread
Autopilot erstellen (Bedienelement für Flugsimulator X)
Mikrocontroller oder eine USB Brücke für USB verwenden. - Was für einen uC willst du denn verwenden? ARM? AVR?
kein Problem sein. Ich dachte er will vielleicht direkt USB fahren. Das sollte dann alles mit einem AVR zu schaffen sein. Stellt sich nur die Frage, wie man die LED Anzeigen am blödsten steuert. Direkt am AVR wird man sie ohnehin nicht betreiben können, da der zu wenig Strom liefert. Und ob nun Transistor
-
Thread
ATmega32 -> 644
Schau Dir mal die Appnote AVR505 (http://www.atmel.com/dyn/resources/prod_documents/doc8001.pdf) an. Da steht, was beim Wechsel zu beachten ist. Bei pinkompatiblen µCs gibt ATMEL eigentlich immer eine solche Migration Note
meinen 644 auch nicht zum Laufen. Benutze AVRStudio (neueste Version) mit AVRISP mkII. Zugriff auf Ports geht nicht aber UART geht seltsamerweise. Kann nichts über Ports einlesen oder ausgeben. Auf die interenen Pullups reagiert er aber. Was ist denn da los? Aus der Appnote werde ich auch nicht schlau
-
Thread
[Suche] Interessierte(n) an Projekt (ARM/FPGA)
Sichtwinkel, Tag/Nacht Ansicht, usw. und der Rest rechnet die GPU selbst. Also könnte man auch einen AVR nehmen, nur bracht der halt etwas länger um die 200MB 3D Daten in die Grafikkarte zu schieben.
veranschaulicht wie die einzelnen Schaltpläne zusammenhängen (Sheet Symbols, Sheet Entrys, Place Port).
-
Thread
gcc auf dem pc ausführen
noch nie von der Existenz von Cross-Compilern gehört hast? Und wo entwickelst du denn dann für den AVR, wenn nicht am PC? > am liebsten mit c# AFAIK gibt es in der gcc (GNU Compiler *Collection*) keinen C# Compiler für das AVR backend. Insofern geht C# auf AVR erstmal nicht. > Wenn es in c#
wr_test, 8); } //c#: void serial_tx(u8[] array, u8 ct) { serialPort1.Write(array, 0, ct); } //avr void serial_tx(u8* array, u8 ct) { // serialPort1.Write(array, 0, ct); for (u8 i = 0; i < ct; i++) {
-
Thread
Schalter beim öffnen als Interrupt nutzen mit niedrigem Verbrauch?
) (b) Interne Pullup-Widerstände für Pn einschalten (DDRn) (c) Pin-Status von Pn einlesen (PINn) (d) Digital-Input-Stufen von Pn über DDR ausschalten (DIDRn) (e) Interne Pullup-Widerstände für Pn ausschalten (DDRn) (f) Inputs verarbeiten (g) --> Idle (sleep
2313A und 4313. Die gehören ja auch zur aktuellen AVR-Generation.
-
Thread
DC-Motorsteuerung über Taster mit ATtiny
Sleep_Mode zusammengestrichen, Fuses und Erklärungen siehe dort [c] #define F_CPU 1000000 #include <avr/io.h> #include <avr/sleep.h> #include <avr/interrupt.h> #include <util/delay.h> ISR(INT0_vect) { } void long_delay(uint16_t ms) { while(ms-->0) _delay_ms(1); } uint8_t mode; // 0=Motor aus, sleep
gebracht. http://www.mino-elektronik.de Alle Angaben ohne Gewaehr ! 2013-10-01 */ #include <avr/io.h> #include <avr/interrupt.h> #include <avr/sleep.h> #define BIT(x) (1<<x) #define EIN_AUS_TASTER 4 // PortB 4 #define EIN_AUS_SIGNAL 3 // PortB 3 (ggf. mit LED) #define
-
Thread
Handbetriebenen Drehgeber ohne Timer auswerten
Nick schrieb im Beitrag #7982575: > frägt immer wieder 2 ports ab. Und das ist nicht Warten. Es wird etwas gemacht und das kostet CPU Zeit. Viel davon. Zu viel.
Mi N. schrieb im Beitrag #7987245: > die Signale am Drehgeber direkt (blau) und am Port-Pin (gelb) was passiert denn da bei µs 400 bzw. 0?
-
Thread
Bauen oder nicht bauen ?
würdest. Also bau es! Vllt können wir das dann mit dem hier zusammenstöpseln: http://www.fritzler-avr.de/spaceage2/index.htm Zu deinem Problem: Schonmal über DualPort RAMs nachgedacht? Ein 7134LA20PDG zB, der ist auch direkt TTL Pegel kompatibel. Bei der Terminal Videokarte zu dem Spaceage2 Projekt
Sagt mal kommen alle Dual-Port-SRAM von IDT und haben TTL-Pegel am Ausgang ? Das wäre schon recht komisch ...
-
Thread
C versus Assembler->Performance Gesperrt
senden), aber ich sehe schon, welche Richtung das einschlägt... [c] #include "structs.h" #include "Ports.h" #include "LED.h" #include <inttypes.h> #include <avr/interrupt.h> #include <string.h> static uint8_t PS2ReceivedByte; static uint8_t PS2SendByte; static uint8_t PS2SendByteChecksum;
sbi 0x0b, 6 ; 11 . . . . [/c] Modul PS2 (V3) [c] #include "structs.h" #include "Ports.h" #include "LED.h" #include <inttypes.h> #include <avr/interrupt.h> #include <string.h> static uint8_t PS2Byte; static uint8_t PS2Checksum; static uint8_t PS2Watchdog = 0; static uint8
-
Thread
input bei atmega8
wie? hat er nicht? und warum lese ich das dann im avr-gcc manual
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Pull-Up_Widerst.E4nde_aktivieren
-
Thread
AVR Timer + ADC
nützlich! Nun habe ich auch selbst ein Problem, an dem ich schon eine Weile grüble: Gegeben ist ein AVR-Board(http://ti.tuwien.ac.at/ecs/teaching/courses/mclu/manuals/atmega16) und ein Erweiterungsboard (http://ti.tuwien.ac.at/ecs/teaching/courses/mclu/manuals/i-o-board), das wir auf der Uni verwenden
zugelegt und möchte nun eine Aufgabe erweitern: Über den ADC möchte ich den Wert von einem Poti einlesen und dann den Wert auf 4 Stk. der 7Segment Anzeigen ausgeben. Nun zu meinen Problemen: Ich rechne den Wert von ADC in 0-5V um, und gebe das auf den Anzeigen aus. Um die einzelnen Stellen bestimmen
-
Thread
PWM Invertieren
> > > > Was willst du damit machen? Ich will bei jedem Compare Match den Wert am ADC einlesen um daraus einen Strom Messen. Gruß
und die bits COM1A1/COM1B1 COM1A0/COM1B0. >Ich will bei jedem Compare Match den Wert am ADC einlesen um daraus >einen Strom Messen. Dann tu das doch einfach. MFG Falk
-
Thread
ATMEGA328-PU
Hier kannst du auch schauen: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment Da sind auch einige Sachen geklärt.
Ich seh keinen ISP-Stecker. http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP
-
Thread
Realisierung einer Zeitschaltuhr mit ugf 14 Kanälen
http://www.ebay.de/itm/DE-Lager-Set-SainSmart-MEGA-2560-LCD-Keypad-Shield-V3-f-Arduino-ATMEGA8U2-AVR-/170855731411?pt=Wissenschaftliche_Ger%C3%A4te&hash=item27c7cb90d3#ht_2975wt_1257 2 x Relais Modul http://www.ebay.de/itm/Neu-8-Channel-Kanal-5V-Relais-Relay-Module-Modul-fur-Arduino-DSP-AVR-PIC-ARM
meaning 2100 19 ; set hour 2101 00 ; set min 2102 04 ; output byte to be sent to port_B, '1' turn on, '0' off .... 2106 D2 ; Day 2, Thusday 2107 18 ; set hour 2108 00 ; set min 2109 C0 ; output byte to be sent to port_B, '1' turn on, '0' off .... 210A D2
-
Thread
AVR als I2C-Slave macht Probleme
ausspuckt (siehe Bild) sieht m.E. ok aus. Auf der Slave-Seite habe ich die Standard-Implementierung (AVR simuliert ein Register-File) genommen. Das Problem ist, dass die ganze AVR-Firmware mehrere Tausend Zeilen lang ist, weil der AVR noch eine Menge anderer Dinge zu tun hat (Timer-Interrupts, GPIO-Zeugs
Sorry, ich vergaß: AVR_I2C_ADDRESS ist per #define auf 0x4a gesetzt. (Steht in einem gesonderten Header-File, das sowohl vom AVR- als auch vom RPi-Programm eingebunden wird, daher hab ich vergessen, das in den Sourcecode
-
Thread
Power-down und Watchdog
Programm soll folgendes machen: - nach dem Start "Anfangskonfiguration" (SPL, SPH usw.) - PinD einlesen und sofort bei PortB ausgeben - sich dann schlafen legen (Power-down) Der Witz dabei: Am Anfang wird noch der Watchdog (2048ms) gesetzt, das heißt, dann sollte der AVR wieder erwachen. Ändere ich nun den PinD (per Schalter), sollte nach einer Verzögerung (!) - also bis der AVR wieder wach ist und die Veränderung "bemerkt" - auch das LED an PortB seinen Zustand verändern. Bei mir geht leider aber alles Verzögerungsfrei, der AVR geht also nie in den Schlafmodus. Und ich
-
Thread
ATMEGA88 + Sleepmode + Timer + Taster --> wie geht das
. Der AVR wurde bei mir durch einen Uhrenquarz aufgeweckt. Viel Erfolg!
Danke guter rat! Ich werde mich da mal einlesen müssen. Der Ablauf ist mir jetzt klar nur die Umsetzung wird eine Weile benötigen. Bisher protrahiere ich einfach drauf los. Habe mit dem Datenblatt noch nicht viel zu tun gehabt. Wenn man Ports on
-
Thread
regeln
ich verstehe so langsam wie der avr funktioniert und hab schon ein paar sachen geschrieben. Das ganze hält sich aber noch in grenzen: Ports ansteuern und sachen ein/aus schalten kann ich, aber wie regelt man denn damit? Sowohl Input
einem I/OPort ansteuern. Transistor ansteuern, Fuehlerwert ueber ADC (und evtl Spannungsteiler) einlesen, Transistorbasisspannung abschalten (i/o Prt zieder auf null setzen.) hab ich mit nel ATmega16 mal gemacht. mach's gut Johannes
-
Thread
Display3000-UART-Problem
F_CPU 16000000L #define OSCSPEED 16000000L /* in Hz */ #include <stdio.h> #include <avr/io.h> #include <avr/wdt.h> #include <util/delay.h> #include <math.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #define LCD_DDR DDRB [...] ISR(USART1_RX_vect) { unsigned
F_CPU 16000000L #define OSCSPEED 16000000L /* in Hz */ #include <stdio.h> #include <avr/io.h> #include <avr/wdt.h> #include <util/delay.h> #include <string.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #define LCD_DDR DDRB #include <glcd-Display3000-211.h> extern const
-
Thread
GCC Optimierung killt Funktion
> I/O Ports -> Ports as general digital I/O -> Reading the pin value Da liegt es aber nicht am asynchronen Takt oder an Reodering, sondern einfach am Aufbau der Ausgänge.
als Eingang einlesen will, in dem zugrundeliegenden Beispiel Christian J. schrieb im Beitrag #4439029: > GPIO_SetBits(GPIOC,GPIO_Pin_1); > GPIO_ResetBits(GPIOC,GPIO_Pin_1); umgeschrieben auf AVR wird aber kein
-
Thread
Drehgeber auslesen
auch mal nen paar ms, dann ist das Prelle ja eh vorbei. Und während dessen tut er ja auch nix vom Port einlesen. Erst wenn die Aktion beendet ist, gehts ja weiter mit while A
Drehgebern und Entprellen von Tastern benötigt bei halbwegs effizientem Code nicht viel mehr als 1% der AVR-Rechenleistung. ...
-
Thread
Lohnt sich embedded in C++ zu programmieren
AMD-Boliden gerechnet wird, wo GigaByte und GigaHerz in Hülle und Fülle bereit stehen, dem kleinen AVR unter die Arme zu greifen.
betrachtet den ich mal mit in die Runde > werfe. Macht man sich z.B. eine Template-Klasse für Gpio-Ports ala > > GpioPort<PORTA, 5> LedRed; . > und hat alle Funktionen der Klasse schön als inline declariert, handelt > man sich während des Debuggens Unannehmlichkeiten ein. Während des > Debuggens
-
Thread
Wie sende ich eine double Variablen an mein VBA-Programm
Mein Quellcode in VBA: Sub form_load() MSComm1.RThreshold = 8 '3 Variablen einlesen MSComm1.Settings = "9600,N,8,1" MSComm1.PortOpen = True End Sub Private Sub Serielle_auswerten_1() Dim Wert1 As double Dim Ergebnis As double sdata = MSComm1.Input '
OK, ich bin vom AVR-GCC ausgegangen, weil der hier sehr verbreitet ist. Falls Du sie da nirgends findest, müsstest du dir die Funktion selber bauen. Dafür brauchst du eigentlich nur wissen, wie der Datentyp "flaot" aufgebaut
-
Thread
Z80 Projekt für Hauptwerk Orgel
Z80, etwa DIL34. Die "Rückmelde"-LEDs bekommen auch Scieberegister, nur eben Seriell->Parallel. [[AVR-Tutorial: Schieberegister]] Per SPI kann man damit die 120 Taster in unter 20μs einlesen und gleichzeitig die LED ausgeben. Für die Dannegger Entprellung braucht man alle 5..20ms neue Daten, es bleibt
da könnte er dann auch einen Z80-PIO nehmen, der hat 2 8-Bit Ports. Sascha
-
Thread
Projekt Melodiegenerator
Hi, dazu kann ich dir das [[AVR-Tutorial]] und das [[AVR-GCC-Tutorial]] an's Herz legen. Da ist die Interrupt-Geschichte und das ganze Timer-Zeug recht gut erklärt. Aber im Grunde brauchst du etwa Folgendes: Einen Timer-Interrupt
theoretisch.... solltes gehn;) Dh. noch die 4 restlichen Lieder programmiern, und erst mal in arrays einlesen;) Danke für eure Hilfe ich meld mich wenns probz gibt oder wenns mal funktioniert;) lg Paul
-
Thread
Aus 2 char ein unsigned int erzeugen
Hallo @ all Ich möchte Daten von den Ports einlesen. Der Datenbus ist 8 Bit breit. Zuerst übertrage ich das Low-Byte und anschließend das High-Byte. Danach möchte ich das Low-Byte und High-Byte zusammenfassen zu einem unsigned int. Hier mein
shiftet denn der avr 8x in einem takt?
-
Thread
Grafik-Display DIP122 mit SED1520 Controller
3.) wenn ich den status des displays abfragen will, mache ich das mit einem befehl, wie z.B. out PORT... , ... muss ich danach den port mit in PORT..., ... wieder einlesen? fragen über fragen. vielleicht denk ich ja wieder mal viel zu komliziert. gr. tommi
du auf jeden Fall. Damit werden die Daten von dem Display übernommen. Also erst die Daten auf den Port legen und dann das E Signal geben. zu 3) Daten zum Display senden ( Port = Ausgang) dann Daten vom Display empfangen ( Port = Eingang) Da ich mal schätze, das du Anfänger bist, halte ich so ein
-
Thread
Präzision des Timers im ATtiny 45
machen - der zieht das Däumchen drehen gnadenlos > durch. http://halvar.at/elektronik/kleiner_bascom_avr_kurs/timer_counter/ Nach dem hier arbeite ich mich momentan vor. Timer kommen erst zum Schluss. Aber da es offenbar in dem Fall ohne Timer nicht gscheit geht, werde ich mich da mal einlesen.
Bedingungen. D.h. auch dann wenn es kälter oder wärmer wird. > http://halvar.at/elektronik/kleiner_bascom_avr_kurs/timer_counter/ > Nach dem hier arbeite ich mich momentan vor. Timer kommen erst zum > Schluss. Aber da es offenbar in dem Fall ohne Timer nicht gscheit geht, > werde ich mich da mal einlesen
-
Thread
Arduino pulseIn()-Funktion funktioniert nicht mit Pin D9 (PB1)
#7025160: > Ein Arrayzugriff über die Grenzen hinaus Siehe: https://github.com/arduino/ArduinoCore-avr/blob/master/variants/standard/pins_arduino.h
/ArchAvr.h:120:33: note: '(21 < 20)' evaluates to false [/c]
-
Thread
Impulswahl Wahlimpulse detektieren
Wahlimpulse. Den ADC muß du doch genauso multiplexen, der AVR hat doch auch davon nur einen. Den ADC-Muxer kannst du auch für den Analogkomparator verwenden. Siehe Erläuterungen zum ACME-Bit in ADCSRB.
Wahlimpulse. > > Den ADC muß du doch genauso multiplexen, der AVR hat doch auch davon nur > einen. > > Den ADC-Muxer kannst du auch für den Analogkomparator verwenden. Siehe > Erläuterungen zum ACME-Bit in ADCSRB. Ich weiss, aber der Charme am Analog-Komparator
-
Thread
Butterfly state-machine vorbildlich? Wer erläutert Funktionsweise?
nach einer "Steuerungssoftware" werden auf die state-machine der Butterfly Software verwiesen. Der avr-gcc / avr-libc port von martin thomas ist hier: http://www.siwawi.arubi.uni-kl.de/avr_projects/#bf_app Siehe main.c und menu.h Ich versuche mal eine Erläuterung: Wenn ich das richtig verstanden
etwas wirr aussehenden Anpassungen an "progmem" für avr-gcc/avr-libc, könnte man vielleich mit ein paar Macros netter aussehen lassen. Die erste Portierung des Beispielcodes von Atmel für IAR nach GNU war seinerzeit mein erster Kontakt mit avr-gcc/avr-libc
-
Thread
6 Sinuskurven mit 400Hz - welcher DDS?
eine klassische Funktion für uCs mit ausreichend PWMs. Versuch einen pinkompatiblen uC zu deinem AVR zu finden der genügend PWMs hat.
Martin S. schrieb im Beitrag #5040331: > ATmega32 (AVR-NET-IO) 1. Da kannst Du ganz einfach einen 644 oder 1284p reinstecken, und hast mehr PWMs. Und mehr Ram und mehr UARTS zum debuggen und und und. Achtung: Beim orginal AVR-NET-IO bleibt ab
-
Thread
Drehencoder für Anfänger
Controllerfrequenz : 16 MHz Drehencoder PORTB: A - Pin0; B - Pin1 Code : [c] #include <avr\io.h> #include <avr\interrupt.h> #include <avr\signal.h> #include "glcd.h" #include "font_small.h" #define PHASE_A (PINB & 1<<PINB0) // PINB.0 #define PHASE_B (PINB & 1<<PINB1) // PINB.1
definiere, kommt leider keine Änderung (0...255). Habe ich es doch nicht verstanden ? [c] #include <avr/io.h> #include "glcd.h" #include "font_big.h" #include <avr\interrupt.h> #define Schalter_A PINB0 // Schalter A im Drehgeber #define Schalter_B PINB1 // Schalter B im Drehgeber #define Geber