-
Thread
24 Bit über Pin auslesen Takt/Daten ohne Interrupt
Da sich das Signal aber auch an der fallenden Flanke ändert, muß man dann aber vor der Flanke einlesen. > Das Erste 24 Bit Paket kann man > ignorieren. Und wie erkennt man das erste Paket? Peter
sind bei low stabil. Also erst etwa 80µs high abwarten und dann 24 mal nach der fallenden Flanke einlesen. Peter
-
Thread
Mikrocontrollerprogrammierung von Atmel µCs
Martin, auch nen guten Morgen. Hier gibt es ein Tutorial für AVRs und Assembler: http://www.avr-asm-tutorial.net/avr_de/index.html Die Befehle sind alle erklärt. Schau dort mal in die unterschiedlichen Bereich ;) avr
ich bin Anfänger was die Programmierung von Mikrocontrollern angeht. Ich möchte über den Taster-Port (PORT A) Informationen einlesen, die PORTB wieder ausgibt. #include <avr/io.h> int main(void) { //---Initialisierung--- DDRB=0xFF; // PORTB wird als Ausgang
-
Thread
GPS Standpunkt einmal pro Tag bestimmen
port is used for communicating with AVR Studio. The other RS-232 can be used for communicating between the target AVR microcontroller in the socket and a PC serial port connected to the RS-232. To use the RS-232, the UART pins of the AVR need to be physically onnected to the RS-232. The 2-pin header marked “RS232 SPARE” can be used for connecting the RS-232 converter to the UART pins on the target AVR microcontroller in the socket
-
Thread
Einsteigerproblem mit ATTINY2313
bisher nur Erfahrung mit einem 8051-Clon und wollte mich an die Atmel-Controller wagen Ich habe im AVR Studio folgendes kleines Programm geschrieben: [avrasm] .include "tn2313def.inc" ldi r16, 0xFF out DDRB, r16 ; Port B als Ausgang festlegen ldi r16, 0x00 out DDRD, r16 ; Port D als Eingang festlegen loop: in r16, PORTD ; Port D einlesen nop out PORTB, r16 ; und wieder auf Port B ausgeben rjmp loop [/avrasm] Damit wollte ich nur einen Taster auslesen und an die LED wieder ausgeben. Das Programm
-
Thread
PIC-I/O als input/tristate für weiteren output nutzen
Wenn der IO-Port einen statischen Pegel haben soll (also kein Bitmuster), dann kann er zu jedem Zustand nur einen haben: 5V (oder was auch immer) bei HIGH 0V bei LOW xV bei Tristate Die ON Schaltschwelle
nicht in Assembler programmieren, das ist Quälerei pur. Ich benutze AVRs und programmiere sie in C (AVR-GCC).
-
Thread
"cpi" Befehl funktioniert am Simulator aber live nicht
GPIOR2 = 0x2b Das ist die IO-Adresse. Also produziert ein lds/sts auf GPIOR2 einen Zugriff auf PortD (IO-Adresse $2B) Verständlich? MfG Spess
Hilfe bzw Vorschläge für Änderungen. Einen ganzen Port zu vergleichen ist sicher nicht gut, wie du schreibst, aber es ist mein Startprojekt, und da genügend Hardware vorhanden ist, wollte ich mich noch nicht mit den einzelen Pins beim einlesen herumschlagen
-
Thread
Open source Autoradio
. effektiv steht einem nicht mehr RAM zur Verfügung als bei einem beliebigen anderen CortexM3 oder AVR32 mit internem 512kB Flash und 64..128k internem RAM. Andererseits kann man für CortexM3, ARM7/9/11 und AVR32 den OpenOCD, Eclipse und (AVR)GCC verwenden, die Windowser nutzen eben Yagarto. Der OpenOCD-USB
AVR die mag ich ned früher gabs mal die geilen AVR32 mit 150MHz + aber heut nimmer deswegen eher ARM9.
-
Thread
Problem MCP23S17 und avr-gcc
_ #define SPI_H_ #include <avr/io.h> #define SPI_DDR DDRA #define SPI_PORT PORTA #define SPI_SCK 4 #define SPI_MISO 5 #define SPI_MOSI 6 #define SPI_SS 7 void spi_init(void); uint8_t spi_transfer(uint8_t
MCP_GPIOA, i+4, 1); else mcp_write_bit(0, MCP_GPIOA, i+4, 0); } // Gesamten Port einlesen, Port aendern und einmal senden (besser)! // 30µs uint8_t recData = mcp_read_byte(0, MCP_GPIOA); recData = recData | (recData<<4); mcp_write_byte(0, MCP_GPIOA, recData);
-
Thread
RS 485 Lenz X-Bus
hab ich vorhin vergessen, hier noch eine erläuterung: PORT A ist nur zu Debug-Zwecken da, er wird bei jedem Aufruf von "rx_complete" getoggelt. PORT C ist mit dem Max 485 verbunden und schaltet ihn auf Senden oder Empfangen. vielen danke...
AVR Amateur schrieb im Beitrag #2820667: > Zu Topla > > Leider sind mir 32 Tasten etwas zu wenig und bei der Lösung der Spanier > (soweit ich das sehe) pollt der AVR die Taster. Das war nur ein
-
Thread
Was ist das aktuell beste Linux ?
Linux Mint Debian Edition" mit MSP430 Launchpad habe ich am laufen, geht angenehm. Mehr (R8C, M16C, AVR) kann ich gerne testen.
Ich verwende sei ca. 3 Jahren Ubuntu, u.a. auch für meine AVR-Spielereien (avrdude incl. avr8 burn-o-mat, codeblocks IDE, OLS usw.). Welche Distributition man für seine Zwecke verwenden sollte, kann man durch ausprobieren heraufinden, kostet in der Regel kein
-
Thread
Switch case geht nicht auf MC
unsigned char uPortB; uPortB = PORTB; switch (uPortB ) . . .
Beim Einlesen eines Ports musst du das PINx Register benutzen und nicht das PORTx Register. Binäre Konstanten gehen wohl, zumindest beim GCC mit vorhandenem Patch. Und Die Sache mit uPortB wird vermutlich auch
-
Thread
cpse funktioniert nicht auf Controller
Hallo zusammen Nach längerer uC Abstinenz versuche ich mich an Atmel's AVR uC einzuarbeiten. Dazu habe ich einen STK500 mit einem ATMEGA8515L erstanden. Ich schrieb ein Programm, welches beim Eingang der PORTD verzweigt. Das Register r16 liest den Port D ein, das
als Output switchen ldi r16, 0x00 //Register r16 mit 0 laden out DDRD, r16 //und Port D als Input switchen ldi r17, 0b00000001 //in Register R17 den Wert von 1 laden loop: in r16, PIND //Schalterstellung in Register r16 einlesen cpse r16, r17 //Wenn Schalterstellung gleich
-
Thread
Mittelwert von ADC über 3 Minuten ?
. Wenn das steht, dann weißt Du, Timer hab ich. ;-) Dann würde ich im INT einen Wert vom ADC einlesen und mir den in einem Ringpuffer schreiben. Vlt. so... ... volatile uint8_t wind_dir[32]; ... // im Timer INT wenn 5 Sekunden abgelaufen sind dann ADC // einlesen und ab in den Buffer damit
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Zähler_des_AVR#Beispiel_f.C3.BCr_CTC_Clear_Timer_on_Compare_Match_.28Auto_Reload.29 Sollte ein guter Anfang zum "spielen" sein... ;-)
-
Thread
Massive IO Porterweiterung - Stabilität des IO - mehrfaches SPI
viele LEDs und Tasten kann man ggf. eine Matrixschaltung nutzen. Da kann man etwa über 3 mal 8 IO Ports 64 LED Schaltung und 64 Tasten einlesen. So etwas wie Tasten ließt man in der Regel periodisch ein (z.B. im Timer Interrupt) - das gibt einem dann auch gleich die Entprellung.
Ein Schieberegister geht bis einige MHz, bei 128 bit und 20 ms kommt man auf 6,4 kHz das schaft ein AVR locker
-
Thread
AVR ATtiny26 - 3Channel PWM
isr_ptr_time[pwm_cnt]; tmp = isr_ptr_mask[pwm_cnt]; if (pwm_cnt == 0) { PWM_PORT = tmp; // Ports setzen zu Begin der PWM // zusätzliche PWM-Ports hier setzen pwm_cnt++; } else { PWM_PORT &= tmp; // Ports löschen // zusätzliche PWM-Ports hier setzen if (pwm_cnt == pwm_cnt_max) { pwm_sync = 1
-
Thread
2-Stellige 7-Segment Anzeige im Multiplexbetrieb
dass es auf 8051-Ebene programmiert wird. (Glaube,dass das so geschrieben wird,kenne mich mit diesem AVR nicht aus!)
7segment 2 mal dieselbe ziffer anzeigen würde,z.B. '1 1'. Die zweistellige 7segment ist ja an einem Port angelegt
-
Thread
C code automatisch in hexfile compilieren
# Programming support using avrdude. Settings and variables. # Programming hardware: alf avr910 avrisp bascom bsd # dt006 pavr picoweb pony-stk200 sp12 stk200 stk500 # # Type: avrdude -c ? # to get a full listing. # AVRDUDE_PROGRAMMER = stk500 # com1 = serial port. Use lpt1 to connect
# Programming support using avrdude. Settings and variables. # Programming hardware: alf avr910 avrisp bascom bsd # dt006 pavr picoweb pony-stk200 sp12 stk200 stk500 # # Type: avrdude -c ? # to get a full listing. # AVRDUDE_PROGRAMMER = stk500 # com1 = serial port. Use lpt1 to connect
-
Thread
RFM12B init SDO kein signal
************************ // nFFS: 1-10k Pullup an Vcc !!! RFM12_send_cmd: cbi RFM12_PORT,RFM12_CS ldi TEMP_1,16 ; Anzahl Bits RFM12_send_cmd_loop: cbi RFM12_PORT,RFM12_SDI sbrc ZH,7 sbi RFM12_PORT,RFM12_SDI nop nop sbi
1,8 ldi TEMP_0,0xB0 ; Receive FIFO read RFM12_read_fifo_cmd: cbi RFM12_PORT,RFM12_SDI sbrc TEMP_0,7 sbi RFM12_PORT,RFM12_SDI nop nop sbi RFM12_PORT,RFM12_SCK nop nop nop nop nop nop cbi RFM12_PORT,RFM12
-
Thread
attiny13 anfang kann nicht mal mit schalter led einschalten avrasm
Prinzipiell musst du den Port in einer Schleife einlesen, dann vergleichen, ob der Taster gedrückt ist, dann den Port fit der LED dran entsprechend setzen. Dann warten (Schleife), bis der Taster wieder (oder nicht mehr) gedrückt
etc ... // Input/Output initialisieren ... // Hauptschleife mit Abfrage main: in temp, PORT andi, temp, 0b00001100 // unter der Annahme, dass die Taster am Port an Pin 3/4 hängen cpi temp, 0b00000100 brne Taster2 rcall Aktion_Taster1 rjmp Taster1 Taster2: cpi
-
Thread
µC-PCC, PC-Programm zum steuern von Mikrocontroller
nur die Basisfunktionen, die unterstützt werden: Digitaleausgänge schalten, Digitaleingänge einlesen Analogeingänge einlessn (auswählbare Referenz) periodisches Einlesen beliebiger Kanäle (Open Format für Logview) PWM und Counter steht noch ganz oben auf der Liste Falls meine Vermutung bezüglich
nur die Basisfunktionen, die unterstützt werden: > Digitaleausgänge schalten, > Digitaleingänge einlesen > Analogeingänge einlessn (auswählbare Referenz) > periodisches Einlesen beliebiger Kanäle (Open Format für Logview) > PWM und Counter steht noch ganz oben auf der Liste Veröffentliche es doch
-
Thread
externer Interrupt
falsch ist: [c]PINE = 0xFF;//PINE are set 1 [/c] richtig wäre: [c]PORTE = 0xFF[/c]
Hast Du das schon mal durchgelesen? http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_Ports
-
Thread
Serialport in Visual Baisc 2005 Express
gesetzten Zeilen funktionieren nicht. Ich hoffe Ihr könnt mir helfen ... Anhang: SerialPort1.Open() SerialPort1.Write("D") TextBox1.Text = SerialPort1.ReadTo(8) 'TextBox2.Text = SerialPort1.ReadLine 'TextBox3.Text = SerialPort1.ReadExisting SerialPort1.Close()
-
Thread
16 UARTs für MIDI
Seriennummer auch auf den "Pfad" matchen, über den das Device angeschlossen ist, also z.B. Hub1 Port 3 -> Hub2 Port 2 -> CH348 ==> /dev/midi10
mal einen HC08 mit > 8 UART-Funktionen bestückt: Einfach mit 5-facher Rate per Interrupt > einen Port mit 8 Bit absampeln Naja. Es sind hier 32kBaud, macht bei x5 immerhin 150kHz bzw. ~6us Periodendauer. Da kommt auch der nicht ganz so lahme AVR schon ins Schwitzen, zumal auch noch ein "paar" andere
-
Thread
Spannungspegel für I/O Port
Hallo zusammen. Ich will mal nachfragen ob jemand weiß wie hoch der Spannungspegel sein muss das ein AVR ein High Signal erkennt, Bzw. wo liegt das Maximum für das Low Pegel? Es geht darum das ich ein 3V Signal einlesen muss. Laut C-MOS Pegel liegt das zwischen H und L Level. Bei TTL wäre es noch im High- Bereich. Leider hab ich im Datenblatt nix gefunden. Kann mir da jemand weiterhelfen? mfg LPT
-
Thread
Offene Pins
... und damit ist nicht definiert wie sie sich beim Einlesen zu verhalten haben. Wenn sie irgendwo bei Vcc/2 rumfloaten, dann können die auch mal "Strom ziehen" und den AVR durcheinanderbringen. Also immer auf ein definiertes Potential legen. Schmittchen
Hallo Peter, was kann denn schlimmstenfalls passieren wenn ich den Port auf Eingang und hochohmig lasse? Gruß Mike
-
Thread
Probleme beim AVR-Tutorial mit Pollin EvaBoard
Ich habe ein Problem beim Eingang einlesen. .include "m8def.inc" ldi r16, 0xFF out DDRB, r16 ldi r16, 0x00 ldi r16, 0xFF out PORTD, r16 loop: in r16, PIND out PORTB, r16 rjmp loop Mein Problem ist das bei dem Pollin Board sowohl Taster und auch die Leds alle an Port D angeschlossen sind. Ich bräuchte es vom Sinn her so: in r16, PIND3 out PB5, r16 rjmp loop So funktioniert das aber nicht. Ich habe schon alle möglichen Schreibweisen
-
Thread
Sensor-signal schwingt
z.B. R16, C3, R19... nicht? d.) Wo ist der obligatorische 100nF-C zwischen Vcc und GND direkt am AVR? e.) belastest du den AVR-Port mit R18/OK1 nicht etwas zu stark? Zudem kann den AVR eh nicht genug Strom liefern (sourcen), wie du bräuchtest. Schließ' ihn als Senke an und gut is. -> PB0 an Pin2 des
www.linear.com/ezone/1782.html http://www.imtek.de/konstruktion/pdf/periph/LT_1635_datasheet.pdf Wenn ich Port C aber NUR für den AD-Wandler nutzen würde? Ich werde es am besten mal testen, ob ich AGND mit einem Spannungsteiler verschieben kann, und wie der AVR darauf reagiert.
-
Thread
bidirektionale RS232 Funkbrücke mit RFM12
kann ich aber machen. Die Belegung der LEDs ist in der leds.h festgelegt, das RFM12 hängt am SPI Port (PORTB). Mehr braucht man nicht. Ich betreibe den AVR mit dem 10MHz Takt des RFM12.
das nämlich so um, wie es da steht: Einlesen vom Port, verodern, zurückschreiben. Die andere Lösung wird dagegen sowohl von WinAVR als auch von allen anderen Compilern die ich verwende direkt in einen Bit Setzen Befehl übersetzt.
-
Thread
Sammelbestellung AR488 kompatibler USB-GPIB Adapter. Interesse?
Programmieren keine Hardware...das geht auch über USB. Ich hatte auch einen gd32f350 am Schirm. Für den Port hatte ich aber zu wenig Zeit. Zusätzlich war da dann noch das Fiasko mit der Verfügbarkeit. Eines ESP32 Port gab's schon... Ein paar defines zu ändern um den internen USB Port vom S2 zu nutzen erschien
Aktuell ist das ja ein überschaubares Arduino Projekt mit angenehmer Code Qualität. Es lebt vom Port vom AVR auf die ESP als Arduino Projekt weiter, wie viele Projekte. Als reines ESP Projekt hätte es direkt auf FreeRTOS laufen dürfen, ein nachträglicher Port ist aber nicht ohne. Aber ein WLAN in
-
Thread
[hife] usb-lüftersteuerung mit i2c und co.
ich das ganze auch mim pc steuern kann ist klar, nur... ich hab bei meinem mainboard nur noch usb-ports und einen com-port, welcher schon mit winlirc belegt ist. über ne pci-karte werd ich mir zwar noch nen parallel-port reinholen, der wird aber für ein glcd da sein. (welches auf dem sed1335 basiert,
unter C++ oder was auch immer gibts wie sand am meer. > bereits von atmels homepage das programm avr-studio geholt, was auf mich wenn du mit C weitermachen willst, brauchst du noch das [[WinAVR]] Softwarepaket, da das avr-studio keinen gcc mitbringt. > die avr-einsteiger-anleitung hatte ich bereits
-
Thread
µController gesucht
da giebt es recht günstige Module) 4 SSRs könnte man direkt ansteuern oder auch mit PCF8574 (I²C-PortExpander) Display (wie schon beschrieben) 7 Ports (evt. auch I²C PortExpander oder ein 4094) Wie du siehst, hat jeder seine Vorlieben, wie man solch ein Projekt verwirklichen kann. Es gibt keine
einfacher. Also ein Prozessorboard nehmen auf dem das Nötigste drauf ist wie Debugschnittstelle, alle Ports auf Headerpins und evtl. eine serielle oder besser eine USB Schnittstelle für Testausgaben oder komfortablere Programmierung des Gerätes. Beim Atmel ist die Einsteigerklasse für ein ICE das AVR Dragon
-
Thread
AVR INT1 löst bei INT0 aus
/ #include Dateien /*****************************************************************/ #include <avr/io.h> #include <avr/interrupt.h> /*****************************************************************/ // Funktionen und Interrupt-Routinen /*****************************************************
Aus dem Datenblatt des Prozessors: AVCC is the supply voltage pin for the A/D Converter, Port C (3..0), and ADC (7..6). It should be externally connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC through a low-pass filter. Note that Port C (5..4
-
Thread
Problem mit einfacher 3x3 Schaltermatrix
das Ergebnis in Variable Input_1 ab. In Asembler in etwas so: [avrasm] Read_IO: In r16, PortD ORI r16, 0b00011100 ; Alle Reihen auf "1" ANDI r16, 0b11111011 ; selektiere Reihe 1 OUT PortD, r16 In r16, PortD ; Eingänge lesen COM r16 ANDI r16, 0b11100000
bits 0 bis 2 schieben STS Input_2, r16 ; und in Variable Input_2 ablegen In r16, PortD ORI r16, 0b00011100 ; Alle Reihen auf "1" ANDI r16, 0b11101111 ; selektiere Reihe 3 OUT PortD, r16 In r16, PortD ; Eingänge lesen COM r16 ANDI r16, 0b11100000
-
Thread
Wie ein beleuteten Taster am AVR anschließen ?
Hallo, ich habe einen Taster der so aufgebaut ist im Bild, LED im Tater verbaut. Nun möchte ich das die LED leuchtet und aus geht wenn der Taster gedrückt wird, das ganze soll an eine Tiny angeschlossen werden. Und das mit nur zwei Leitungen. Nur wie soll ich das realisieren ? Im netz bin ich nich fündig geworden.
-
Thread
Multitasking sehr einfach für Mega128
preemptive Multitasking macht. Das braucht man nicht selbst zu programmieren, das gibt es fix und fertig. AvrX oder FreeRTOS. Wenn man das selber macht, braucht man nur VIEL länger und funktioniert nicht so sicher. Ich habe AvrX eingesetzt am Atmega32 und es funktioniert wunderbar.
kontext-switch anweisungen so einfach sind....naja, ich glaube nicht, für dich vielleicht weil du ein avr-asm-genie bist ;)
-
Thread
ATtiny12: Assembler in Atmel Studio 7
Richtung STM32 – das beginnt schon mit den Portregistern und mit der Innovation, wie man die I/Os der Ports einstellen und unterschiedlich ansprechen kann, über Virtual Ports etc. Ein AVR128DB28 sieht z.B. von außen genauso wie ein ATMEGA328P aus, ist aber – obwohl die CPU an sich fast identisch arbeitet
ist, ohne daß man genau weiß, was der TE überhaupt vor hat. > > Aber eine Sache dazu: Diese neue AVR-Architektur halte ich für eine > Totgeburt. Wenn ich da vieles neu oder umlernen müsste, dann wechsle ich > garantiert nicht von AVR-alt auf AVR-neu, sondern von AVR auf ARM Cortex > M0 oder M3
-
Thread
Präprozessor verschachteln
komplexen, schwer durchschaubaren Makros. Die Portzuweisungen für's jeweilige Projekt sind in ports.h: [c] #include <avr/io.h> #include "avr-port-macros.h" #include "avr-port-enum.h" enum { PORT_POWER = PORTD_6, PORT_DREHTAST = PORTB_3, // MOSI PORT_DREHA = PORTB_0, PORT_DREHB = PORTD_7, PORT_DAC_CS = PORTD_2, // 0=Enable PORT_DAC_AB = PORTD_3, // 0=A, 1=B ... [/c] Den Makro-Wahn findest du in avr-port-macros.h und avr-port-enum.h in http
-
Thread
Höchstmögliche Schaltfrequenz an einem normalen AVR Ausgangs-Pin
Was ist die höchste mögliche Schaltfrequenz bei einem AVR Microcontroller wie z.B. dem ATmega328P ? Ich brauche 6 verschiedene 0-200kHz Signale (einstellbare Frequenz) weis aber nicht genau ob das mit einem AVR möglich ist, im Datenblatt steht dazu nichts
ob das mit einem AVR möglich ist 6 wird schwierig, weil auch die besten klassischen AVR8 nur höchstens vier Timer haben. Die restlichen zwei Kanäle müssten per Software generiert werden. Das ist nicht so ganz trivial
-
Thread
Serielle Übertragung
Dann wäre noch die Standard-Frage bei PORT C: JTAG abgeschaltet (Fuse, MCUCSR)?
Baudrate auf 300, im Sender nach jedem Byte eine Pause einlegen (und den Bytewert hochzählen). Auf dem AVR das empfangene Byte auf einen Port ausgeben (oder sonst irgendwo wo man den Wert sieht) und beobachten: Ist die Anzahl der korrekt empfangenen Bytes immer gleich? Wieviele Bytes sind hintereinander
-
Thread
Realisierung eines I²C-Sniffers mit ATmega8
nutzlos.) Das ganze bin ich folgendermaßen angegangen: Auf den externen Interrupt 0 also Anschluss PortD.2 habe ich den CLK des I²C-Bussystemes verbunden. An PortC.0 möchte ich gerne die Datenleitung bei jeder steigenden Taktflanke einlesen. Generell scheint das zu funktionieren, nur habe ich enorme Probleme
" habe ich ein zweites My AVR-Board. Dieses steuert über I²C einen Port Expander Baustein von Philipps an, an welchem LEDs angeschlossen sind. Das läuft auch ohne Probleme (Siehe Bild) Die Übertragung sollte dabei folgendermaßen
-
Thread
Zeit + Temperatur auf LCD mit AVR
vollständige Assemblierung macht mein AVR Studio 4 leider kein *.lst File
wenn er mal mit anderem Datum lief ?? Thanks in advance !! Christian P.S. LCD mit nur drei Ports und einem supergeilem Treiberprogramm; danke !!! Ich werde nie wieder 11 Ports opfern müssen !!!!!
-
Thread
STM32 alias cortex m3 brauchbar?
nur erst mal die GPIO-Konfiguration, denn die ist ganz anders als man das gewohnt ist. Hier sind PORT_DDR, PORT_AFSEL, PORT_PULLUP/DOWN usw. in zwei Register pro Port verpackt, jeder der 16Pins eines GPIO bekommt 4Bits (2Mode, 2Conf) zum Einstellen. Zu Anfang war ich darüber am schimpfen, was das denn
wird. Macht Sinn, ist aber gewöhnungsbedürftig. @T.E.: Das mit dem Vergleich der Datasheets AVR/STM32 muss ich mir mal genau ansehen. Die Sache ist die, dass ich im Grunde mit dem AVR das "Controller-Laufen" gelernt habe, und das auch grösstenteils ohne fremde Hilfe. AVR ist auch um einiges
-
Thread
Multiplexing HILFE
Ansatzpunkte. [[Multiplexen]] http://www.mikrocontroller.net/topic/1475#new Ist zwar für den AVR, das Prinzip ist aber beim PIC genauso. MFG Falk
Du meinst einen Interrupt der z.b. alle 20ms ausgeführt wird und welcher dann alle Ports der matrix abfragt ?
-
Thread
PIC-Programmierung neu erlernen?
war der 16F876 dabei. Der Compiler unterstützt auch recht viel Mathematik. Versuch den doch mal. Ports lassen sich einfach schalten: portb.1=1, portc.5=0 usw. Ausserdem unterstützt der HW/SW-SPI, I2C, RS232 und SW-oneWire Bus. Zur Zeit versuche ich mich außerdem an Bascom und den AVR's. Aber bequemer
und kann mit Data Ntctable [] so wie in jeder anderem Basic auch gespeichert werden und mit BitX = PortA.1 kannst du jeden blöden Port einlesen ob nun beim Pic oder AVR oder Mac OS oder ZX81 sonstwas. Was wo angeklemmt ist entscheidest du, die Hardware musst du halt lernen. Die Angst ist quatsch
-
Thread
Wahl der richtigen µC-Familie Gesperrt
Benutzung einzelner Portpins (nicht alle sind für hohe Geschwindigk, fast keine zusammenhängende 8-bit-Ports (das bei AVR viel besser). Fast kein DIL (für manche ja relevant), rel. wenige Typen. >MSP430 sind Süß=) viele Adr.arten, aber (zu) langsam.
einfacher als AVR (vor allem Timer/PWM), Assembler sowieso einfacher.
-
Thread
attiny2313 und "pin change interrupt"
register im DB durchgegangen ... vielleicht kann hier mal jemand drüber schauen: [c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define SERVO_DDR DDRB #define SERVO_PORT PORTB #define SERVO_PIN PINB #define SERVO PB0 #define LED_DDR DDRB #define LED_PORT PORTB #define LED PB1 ISR(INT0_vect) { LED_PORT ^= (1<<LED); } int main(void) { LED_DDR |= (1<<LED); // Set as output LED_PORT |= (1<<LED); // Set high SERVO_PORT
-
Thread
AVR-ATmega: Multiplex von 8 Digits 7-Segment und 8 Tasten
diesbezügliche Pöbeleien sind hier MaWin und F. Brunner zuständig. Was ich anders gemacht hätte, wäre die Port-Segementzuodnung und das Einlesen der Taster. Da ja schon acht zyklisch geschaltete Ausgänge zu den Digits vorhanden sind, hätte ich damit auch die Taster dekodiert. Aber egal, es gibt wie immer viele
ansteigende Kennlinie. m.n. schrieb im Beitrag #6965603: > Was ich anders gemacht hätte, wäre die Port-Segementzuodnung und das > Einlesen der Taster. Da ja schon acht zyklisch geschaltete Ausgänge zu > den Digits vorhanden sind, hätte ich damit auch die Taster dekodiert. > Aber egal, es gibt wie