-
Thread
[V] seltsames Matrix-Display auf Platine
Aha, gut zu wissen ... hast du schon mal probiert, den AVR auszulesen? Die RS232 geht direkt an den AVR, oder? D.h. 3,3V reichen dann als Pegel. Dann könnte ich es direkt an meine Dockstar anschließen.
sehe, dann macht doch der UART RX Interrupt nichts anderes, als das vom UART empfangene Zeichen auf PORTC auszugeben, oder? Also hat das VFD schon mal ein paralleles Interface ...
-
Thread
Signalerkennung
dort realisieren? prinzipiell müsste ich wissen, wo steht der schalter und von wo kommt er/wo geht er hin. wie kann ich an sowas rangehen?
Hallo! Widerstände ran und A/D-Wandler geht nicht?
-
Thread
Arduino2560 ext. Interrupt
H.joachim Seifert schrieb im Beitrag #2748821: > Taster per Int geht immer schief... Entsprechend entprellt geht da gar nichts schief, aber es macht IMHO nur zum Aufwecken Sinn. Gruß Oliver
Nicht schlecht, 32 Kanäle mit 50Mhz, da geht was. Für I2C müsste mir aber der BusPirate auch reichen oder? 400kBit ist doch da das Maximum, und langsamer geht immer wenn man nur damit rumspielen möchte...
-
Thread
Externe Interrupts
SFR_ASM_COMPAT 1 #define __SFR_OFFSET 0 #define r_temp r17 #define r_sreg_save r18 #define DEBUG_PORT PORTC #define TASTER_PORT PORTB #define LED_PORT PORTF // Makro Definitions .macro LED_ON ldi r_temp, 0x00 out LED_PORT, r_temp .endm .macro LED_OFF ldi r_temp, 0xFF out LED_PORT, r_temp
nicht mehr aus. Also das Problem ist definitiv im Code denke ich, Polling funktioniert ja und die LED geht an, also ein Schaltungsproblem ist es wohl nicht... Trotzdem danke.
-
Thread
DMX steuerbaren RGB LED PAR oder Pinnspot selber bauen
sich halt auch mal die Werte ansehen die der Controller empfängt. Aber ohne JTAG oder AVR Dragon geht da leider auch nichts.
Pin2/3 vom RS485 IC bzw Pin4 vom AVR die Spannung messen will bricht irgendwas zusammen, denn dann geht plötzlich die LED (die sonst eigenartiger Weise immer leuchtet) aus. Nach ein paar Sekunden geht sie wieder an...
-
Thread
Unerklärliche Ausgabe beim Multiplexen
Segmentanzeigen anzeigen. Die Anzeige wird mit folgender ISR gelöst: [c] ISR(TIMER0_OVF_vect){ PORTC=0; show(display[pos]); PORTC|=(1<<pos); if(pos==0&&einspeisen==1) PORTD&=~(1<<7); if(pos==1&&powered==1) PORTD&=~(1<<7); pos++; if(pos>3) pos=0; } [/c] Die Variable
sind: Mit einer Maske, die bei jedem Aufruf um 1 Stelle geschoben wird und wenn pos auf 0 geht, wird auch die Maske wieder auf Ausgangsstellung gesetzt. [C] uint8_t multiPinMask = 0x01; ISR(TIMER0_OVF_vect) { PORTC = 0; PORTD = display[pos]; PORTC |= multiPinMask; //
-
Thread
Hilfe bei SSD1289 Display Controller
= PORTC0 .equ D9 = PORTC1 .equ D10 = PORTC2 .equ D11 = PORTC3 .equ D12 = PORTC4 .equ D13 = PORTC5 .equ D14 = PORTC6 .equ D15 = PORTC7 .def temp0 = r16 .def temp1 = r17 .def temp2 = r18 .equ SteuerDDR
Speicherzugriff auf eine externe Adresse machen. Die ganzen Pins bedient der AVR dann automatisch. Das geht dann auch VIEL schneller - etwa Faktor 10. Außerdem kannst Du dann noch problemlos einen extra RAM-Chip anklemmen. fchk
-
Thread
[ATmega32] Pin immer auf high
main(void) { //Port C als Ausgang DDRC = 0xFF; //Alle Ausgänge an Port C auf low PORTC = 0x00; } [/code] Die Lötstelle sieht sauber aus, d.h. keine Brücken oder ähnliches. Welche möglichen Fehlerquellen kann es noch geben bzw. wo sollte ich noch nach Fehlern suchen? Vielen Dank
Du musst das JTAG Interface deaktivieren (fuse) sonst geht der Pin nicht. Spess hat gewonnen ;-)
-
Thread
UART soll nach externem Interrupt senden (C, ATM.8)
Alter das ist echt ne grosse Baustelle;) putch('0x12'); //<DC2> Schwachsinn. Das geht in C nicht ohne massive Fehlermeldungen. So macht man das. putch(0x12); //<DC2> Aus dieser Routine kommst du nie wieder raus. [c] int wait_for_data() { while(1) {PORTB=(1<<PB3)
); while(1) { PORTB^=(1<<PB0); // Rote LED blinkt _delay_ms(50); if(PORTC>0) //prüfen ob Daten in Register { PORTB=(1<<PB3); //DEBUGLEUCHTE PORTC = 0; //Buffer zurücksetzen sendepuffer_anfordern; } return
-
Thread
zwei Bits beeinflussen - ich steh geradeauf dem Schlauch
Geht mit AVRs nicht, nicht ohne vorher irgendwas auszulesen.
zurücksetzen) kann ich das über ein #define hinbekommen? so nach dem Motto: [c] #define Zustand1 (PORTC |= 0x01);PORTC &= ~0x02) #define Zustand2 (PORTC |= 0x02);PORTC &= ~0x01) [/c]
-
Thread
delay Funktion
Warteroutinen #include <avr\interrupt.h> while(1) { if (WS) an_WA; else aus_WA; if (start_BEETE) PORTC |= 0b00100000; // Markise öffnen if (start_HECKE) PORTC &= 0b11011111; // Markise schließen if (start_RASEN) { an_MA; // Anzeige Markise ZU _delay_ms(3000); // Warten } aus_MA; } Noch eine
mach das? Nach betätigen WS, WA schaltet ein. Nach betätigen „start_RASEN“, „MA“ schaltet ein und geht nicht mehr aus. Ganzes Programm hängt (Nach Ablauf der delay Funktion müsste wieder „MA“ ausschalten und alles andre funktionieren.
-
Thread
Wie Drehgeber entprellen?
einen Drehgeber (siehe Bild) an einen ATXmega16A4 angeschlossen. [c] unsigned char n=0; ISR(PORTC_INT0_vect) { if(PORTC_IN & (1<<PIN1)) n++; else n--; Show_turnwheel(n); } int main (void) { Set_osc_32(); PORTA_DIRSET = 0xFF; PORTB_DIRSET = 0x0F; PORTC.DIRCLR = (1<<PIN0)|(1<<PIN1)|(1<<PIN3); // PC0, PC1, PC3 sind Input PORTC.INT0MASK = (1<<PIN0); // PC0 löst den Interrupt aus PORTC.INTCTRL = PORT_INT0LVL_LO_gc; PORTC.PIN0CTRL = PORT_ISC_FALLING_gc; PMIC.CTRL |= PMIC_LOLVLEN_bm; // Enable low interrupt level
-
Thread
LCD Zeichen anzeigen
so: PORTD = 0b00000000; PORTC |=(1<<PC0); PORTD = 0x48; PORTC |=(1<<PC2); _delay_us(50); PORTC &= ~(1<<PC2); /* h schreiben */ PORTC &= ~(1<<PC0); _delay_ms(2000); Wobei PC0 das RS Signal
(50); PORTC &= ~( 1 << LCD_E ); PORTC &= ~( 1 << LCD_RS ); _delay_ms(2000); [/C] so sieht man im Code gleich viel besser, welche Einstellungen in welcher Reihenfolge vorgenommen werden.
-
Thread
Btm-222 mit Nibobee verbinden
richtung_rechts=1; } } void sens_init(void){ DDRC &= ~0xF0; // PC4-PC7 als Eingang PORTC |= 0xF0; // Pullup aktivieren } int sens_getRechts(void){ if(!(PINC & 0b10000000)) return 1; if(!(PINC & 0b01000000)) return -1; return 0; } int sens_getLinks(void){ if(!(PINC
mit dem BTM-222. Zwar baut er eine Verbindung auf, sendet und empfängt dann aber meistens (manchmal geht es doch) keine Daten. Abhilfe schafft die Installation des Bluetooth Stacks von Windcomm, der in meinem Fall auf der Treiber-CD meines Laptops versteckt war und komischerweise nicht installiert war.
-
Thread
74LS245 zu lahm?
quasi so aus: [c] do { while(PINC & (1<<PINC5); //warte bis ARDY an der Z80-PIO anliegt PORTC |= (( 1<<PINC3 )); // setze ASTB *buffer++ = PINA; PORTC &= ~(( 1<<PINC3 )); // lösche ASTB while(PINC & (1<<PINC5); //warte bis ARDY an der Z80-PIO erloschen ist while (durchlauf <
Wie genau funktioniert die Z80-PIO? Ich hätte gedacht: Ausgangszustand: /ASTB ist high ARDY geht irgendwann auf high -> sagt mir "ich habe Daten für dich" /ASTB wird auf von mir auf low gesetzt (ich setze es auf High, über den NPN geht es aber auf Low) Daten liegen nun an der PIO an. Ich lese
-
Thread
Atmega PortA komische Pegel
>Und trotzdem liefert er mir an allen Pins von PortC 4V. > DDRA = 0xff; > PORTA = 0x00; Was denn nun PortA oder PortC? Wenn du PortA auf Ausgang setzt floatet PortC. Entscheide dich mal;)
Ist es möglich das sich PortA und PortC gegenseitig stören? Ich habe versucht mal beide auf 0xff mal beide 0x00 und mal den einen 0x00 und den anderen 0xff zu setzen und wenn ich sofort nach einschalten gemessen habe kam mist raus hab ich
-
Thread
Problem mit Stackpointer
ist, wird dieses Bit gelöscht RJMP wait_adc IN R25,ADCL IN R25,ADCH SBIS PORTC,3 RJMP E1 SBIS PORTC,4 RJMP E1 LDI Mikro,0x02 E1: SBIC PORTC,3 RJMP E2 SBIS PORTC,4 RJMP E2 LDI Mikro,0x04 E2: SBIS PORTC,3 RJMP E3 SBIC PORTC,4 RJMP E3 LDI Mikro,0x08 E3: SBIC PORTC,3 RJMP E3 SBIC PORTC,4 RJMP E3 LDI Mikro,0x0F RET ;Hauptprogramm Main: RCALL Akt_Wert SBIS PORTD,6 ;Enable Abfrage RJMP Main Takt_0: LDI R16,0x00
-
Thread
Port in 2 Byte aufteilen-Rechenoperation ausführen-Auf anderem Port ausgeben(Binär)
Also ich möchte einen PORT als 2 BCD eingänge verwenden (z.B. PORTC.0 PORTC.1 PORTC.2 PORTC.3 PORTC.4 PORTC.5 PORTC.6 PORTC.7 8 4 2 1 8 4 2 1 _____________________________ ___________
Robin Wenert schrieb im Beitrag #2705811: > (z.B. PORTC.0 PORTC.1 PORTC.2 PORTC.3 PORTC.4 PORTC.5 PORTC.6 > PORTC.7 > 8 4 2 1 8 4 2 > 1 ich kenne eher die "gespiegelte" Schreibweise, d.h. das
-
Thread
AVR Atmega8 Auswertung des CNY70 Signals (ADC/Schmitt-Trigger)
hast du den ADC Eingang irgendwo versehentlich auf Ausgang programmiert oder der 7414 (spess, der HC geht aber auch) ist putt. Lötbrücke von Pin2 des '14 nach + ist ausgeschlossen?
74HC14 einsparen und kannst den ADC für andere Sachen sparen. Wenn es Dir nur ums digitale Signal geht ist der ADC Overkill. Zudem ist der Analog Comparator (abgekürzt AC) auch viel einfacher einzustellen und zu handeln als der ADC. Und auch der AC hat einen eigenen Interrupt... Grüsse und viel Glück
-
Thread
7Segment-Uhr
DDRC &= ~((1<<PC0)|(1<<PC1)); /* PINS PC0+PC1 auf Eingang (Taster) */ PORTC |= (1 <<PC0)|(1<<PC1); /* Pullup-Widerstände aktivieren */ // status_alt = !(PINC&(1<<PC0)); /* Timer und Interrupt initialisieren*/ TCCR1A = 0;
Rechteck malen. In letzterem Fall wird er sich in Zukunft extrem schwer tun. Ohne Programmierung geht in der E-Technik nicht mehr viel.
-
Thread
Schalterlänge auswerten
Timer0 = Timer , Prescale = 1024 Enable Timer0 On Timer0 Isr_timer0 Enable Interrupts Config Portc.1 = Output Config Portc.2 = Output Config Pinb.0 = Input Portb.0 = 1 Dim W As Byte Do Select Case W Case 1 To 50 : Portc.1 = 1 Wait 1 Case 50 To 255 : Portc.2 = 1 Wait 1 W = 0 Case Else Portc.1 = 0 Portc.2 = 0 End Select Loop End Isr_timer0: If Pinb.0 = 0 Then Incr W End If Return
-
Thread
Programmiersprache - C oder Assembler?
Programmierer noch nicht wirklich vorhanden. Mit zunehmender Größe und komplexität der Software aber geht die Schere immer weiter auseinander. Wenn aufwendige MAthefunktionen dazukommen etwas früher, geht es nur um einfache Logikentscheidungen etwas später. Aber es wird der Zeitpunkt kommen ab dem die komplette
wenn man C lernt, empfiehlt es sich mit ASM den Controller >> erst mal kennen zu lernen. > > 1. geht das auch in C ganz gut. Die zusätzliche Schicht, die C hier drüber legt, macht die Sache nicht leichter, sondern oft schwieriger. Und es geht gar nicht so sehr um die Sprache C an sich, sondern vor
-
Thread
AVR Atmega8 / Atmega32 - BAS Signal
< 17) { PORTC = 0b00000000; } if(n == 621|622|623|624|625 && TCNT1 > 16 && TCNT1 < 257) { PORTC = 0b00000001; n ++; if(TCNT1 == 256) { TCNT1 = 0; }
{ PORTC = 0b00000001; //schwarz } } if(n > 10 && n <= 620 && TCNT1 > 496 && TCNT1 < 513) //hintere Schwarzschulter { PORTC = 0b00000001; n ++;
-
Thread
AD9850-Modul mit AtMega steuern
[i]; while ((SPSR & _BV(SPIF)) == 0) /* wait */; } /* Update now. */ PORTC |= _BV(1); PORTC &= ~_BV(1); } //... int main(void) { uint32_t ddsval = 1000000ul; //... fq_ud(val_to_dds(ddsval)); //... } [/c]
while ((SPSR & _BV(SPIF)) == 0) { // wait while busy } } // Update now. PORTC |= _BV(1); // set PORTC.Bit1 PORTC &= ~_BV(1); // res PORTC.Bit1 } void main(void) { uint32_t ddsval = 1000000ul; AD9850_wr_serial(ddsval); // 1MHz while(1) { //
-
Thread
Time interupt schneller machen
ohne cli/sei geht nicht es kommt zu starkem flimmern
Mike B. schrieb im Beitrag #2699839: > ohne cli/sei geht nicht es kommt zu starkem flimmern das hast du wo anders noch mehr fehler drin, das cli/sei sollte auf jeden Fall dort nicht rein.
-
Thread
Port als Ausgang gesetzt geht direkt auf High. Wieso?
Hallo Leute, ich brauche Hilfe beim Verstehen dieses Stück Codes. Wieso wird das der PD7 auf High gesetzt nachdem ich ihn als Ausgang gesetzt habe. Sollte er nicht Low bleiben bis ich ihn entsprechend manipuliere? PD4 & PD5 bleiben nach dem setzen ja auch low. [c] int main(void){ //Aus- & Eingänge definieren DDRD |= (1<<DDD4)|(1<<DDD5)|(1<<DDD7);//Als Ausgang setzen. LED uses OC1A oc1b oc2 DDRC &= ~((1<<DDC0)|(1<<DDC1));// als eingang setzen PORTC|= (1<<PC0)|(1<<PC1);//pull up widerstand einschalten DDRD &= ~(1<<DDD2);// als eingang setzen PORTD |= (1<<PD2);/
-
Thread
SPI Kopplung von ATmega8 und ATtiny 2313
Servonummer 1-6 ldi R16,0b11110111 and R15,R16 ; Bit 3 löschen Daten_An_Slave2:cbi PORTC,2 ; Slaveselect durch PORTC2 auf low rcall Datentransfer sbi PORTC,2 ; deselektieren ret Daten_An_Slave1:cbi PORTC,1 ; Slaveselect durch PORTC1 auf low rcall Datentransfer sbi PORTC,1 ; deselektieren ret [/avrasm] und jetzt der ATTiny 2313 [avrasm] mainloop: ;wdr sbic PINB,0 ; warten bis Slaveselect, low-Pegel an SS startet den Ablauf rjmp mainloop
-
Thread
Umsteigen von Bascom auf C Gesperrt
muss als gedacht. Erstmal die definition der In-/Outputs (fertig), dann Befehle wie PortX.variable geht gar nicht (durch Arbeit umgangen) und zum Thema Textfile einbinden find ich auch nix... Ich denke diese ganze Arbeitszeit kann ich auch in C investieren. Schleifen und Ports setzten geht ja, nur fehlt
das noch. Ich bin aber auch keiner der sofort nach Forenhilfe schreit, wenn was nicht auf Anhieb geht. Deine Nervosität bezüglich mangelnder Mitarbeit etc. teile ich nicht. Wobei, dir geht es ja nach allem was jetzt von dir zu lesen war um eine Negativ-Kampa gegen Luna. Na dann mach mal.
-
Thread
Atmega 8 + dallas 18s20 + Neuling (never ending story)
mit Timern und Interrupts ankommen. Wenn die Erkennung vom IC funktioniert sag Bescheid, dann geht es weiter.
nicht etwa das bit PC5 auf 0, sondern setzt > alle anderen Bits in PORTC auf 0, und bei PC5 kommt es darauf an ob es > vorher in PORTC gesetzt war. Wenn es gesetzt war bleibt es danach noch > immer auf 1, ansonsten bleibt es auf 0. Das ist auf jeden Fall nicht > das,
-
Thread
Atmega8 + Uart + MK3
} break; case 'C': switch(z2) { case '0': sbi(PORTC,0); break; case '1': sbi(PORTC,1); break; case '2': sbi(PORTC,2); break; case '3': sbi(PORTC,3); break;
} break; case 'c': switch(z2) { case '0': cbi(PORTC,0); break; case '1': cbi(PORTC,1); break; case '2': cbi(PORTC,2); break; case '3': cbi(PORTC,3); break;
-
Thread
ATmega32 + LCD TC1602-08
gemacht! [code] $regfile = "m32def.dat" $crystal = 16000000 Config Portd = Output Config Portc.0 = Output Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcd = 16 * 2 Portc.0 = 0 Initlcd Cls Cursor Off Locate
Verdrahtung. Wenn da ein Fehler drinn ist (und ja, ich hab mich selbst dabei auch schon vertan; das geht schneller als einem lieb ist), dann KANN sich die Software abmühen soviel sie will, es wird nicht funktionieren. Leider gilt die Umkehrung nicht. Wennd dann immer noch nicht geht, dann ist entweder
-
Thread
Probleme beim Code
= 2; } tuerlinkstastertimer = 2; tuerlinkstasterstrom = 1; PORTC |= (1<<PC4); _delay_ms(600); PORTC &= ~ (1<<PC4); tuerlinkstasterstatus = 2; tuerlinkstasterstrom = 0; } } // Rechts
hatte mit C noch nicht viel zu tun deswegen wird der Code vll. etwas umständlich sein aber vorerst geht es mir darum das es geht.
-
Thread
Problem mit PORTB am Atmega8
hängen Taster (0-9)(An PD und an 2 PB Pins.)Den Source Code hänge ich mal an. Wenn ich ihn ausprobiere geht es wenn ich die PB pins weglasse (sind 8 und 9) also 0-7 geht komplett ohen Probleme.Wenn ich nun 8 und 9 dazu machen will drücke ich zb 2 und es blinkt extrem kurz 2 auf und dann wird 8 angezeigt.
Vielen dank!!! Echt ein super Forum hier ! Es geht nun alles und das mit dem layout werd ich mir auch merken! :)
-
Thread
3 RC Kanäle Auswerten
RX_PORT_B PORTB #define RX_DDR_B DDRB #define RX_1 0 #define RX_PIN_C PINC #define RX_PORT_C PORTC #define RX_DDR_C DDRC #define RX_2 0 #define RX_PIN_D PIND #define RX_PORT_D PORTD #define RX_DDR_D DDRD #define RX_3 2 volatile uint16_t timerValue[3] = {0,0,0}; volatile uint16
zweite Puls. Kann man das überhaupt Erkennen? Gruß Toby Entschuldigt die Schreibweise, aber geht mit dem Handy so einfacher ;-)
-
Thread
Pins am Mikrokontroller kaput?
Hallo Ich will an meinem Atmega16 alle Pins an PORTC auf 0 setzten aber es funktioniert nicht! Hab folgendes Programm drauf: [c] #include <avr/io.h> int main(void) { DDRC = 0xFF; PORTC = 0x00; while(1) {} } [/c] Kann man
:D das wars schon... Habs abgeschaltet und jetzt gehts! Was bedeutet das jetzt wenn der aus is? Dann kann ich meinen Mikrocontroller nicht mehr über JTag programmieren/debuggen bis ichs wieder umstelle?
-
Thread
Flackern von Relais beim übertragen - L2930 - 74HC595
ich übertrage mein Programm mit der ISP-Schnittstelle und die hängt an PB5,6,7 (MOSI,MISO,SCK) An PortC hängt das wie Bild (Anhang) zu sehen...
Ich hatte /OE falsch verdrahtet, jetzt gehts...
-
Thread
HD44780 LCD - Simulation OK, AVR bleibt in Funktionen stecken
Datenbus DB4-DB7, das unterste Bit DB4 kann auf den Portbits >0..4 liegen >// LCD DB4-DB7 <--> PORTC Bit PC0-PC3 >#define LCD_DB PC4 >// LCD Steuersignale RS und EN >// LCD RS <--> PORTC Bit PC4 (RS: 0=Data, 1=Command) >#define LCD_RS PD3 >// LCD EN <--
Steuerleitungen auf ihren eigenen Port laufen. Wo muss noch geändert werden? Zu diesem Zwecke geht man jetzt alle Zugriffe auf LCD_PORT durch und stellt sich die Frage: Womit haben wir es hier zu tun? Geht es hier um die Datenleitungen oder um die Steuerleitungen. Alles was mit Datenleitungen zu
-
Thread
AVRISP mkII löst permanent Reset aus
Nach zwei anfänglichen Resets nach dem Anstecken. Aber sobald ich manuell per Taster Reset auslöse gehts auch wieder los mit dem sekündlichen Resets.
/*Motor 3*/ #define en3 PC2 #define dir3 PC3 #define clk3 PC4 #define m3_port PORTC /*Motor 4*/ #define en4 PC5 #define dir4 PC6 #define clk4 PC7 #define m4_port PORTC /*------------Defines für Pollin-Board------------*/ /*SPI-Bus*/ #define MOSI_pin
-
Thread
STM32 Tutorial
deutlicher haben möchtest kannst du's gerne selbst anpassen, ich bin grad zu faul nachzulesen, wie's geht. ;-)
Wie schaffe ich es denn, dass ich z.B. Pin 8 und 9 bei PortC als Ausgang habe und Pin 5 an PortC als Eingang für nen Knopf... bzw einen anderen Pin an Port C als Analog? Also wie muss dann meine Init Struct aussehen? Irgendwie raff ich es noch nicht so ganz
-
Thread
Timer CTC, PWM wann genau rücksetzen
Andreas S. schrieb im Beitrag #2674219: > Das geht leider nicht so gut in meinem Fall. Hab nämlich erst wieder > Dienstag Praktikum wo ich den Controller programmiere und ich hätte > gerne heut den Sonntag genutzt um mich auf die theoretische Prüfung
der Wert im TCNT0 Register ist im CTC-Modus beim compare match Interrupt immer gleich 0 PORTC.0^=1; } */ interrupt[16]compareMatch_timer0() { value_cm=TCNT0; //der Wert im TCNT0 Register ist bei fast PWM beim CM interrupt gleich 151 (immer OCR0+1) PORTC.0=0; }
-
Thread
LED-Lauflicht wie Gummiball?
Programm sieht jetzt so aus: [code] avr.device = atmega32 avr.clock = 20000000 avr.stack = 16 portc.mode = output, pulldown dim i as byte do for i=0 to 7 portc = led.ByteValue(i) waitms 50 next for i=6 downto 1 portc = led.ByteValue(i) waitms 50 next loop
hab das mal umgesetzt: [code] avr.device = atmega32 avr.clock = 20000000 avr.stack = 16 portc.mode = output, pulldown dim i as byte do for i=0 to 7 portc = led.ByteValue(i) waitms 10*(i+1) next for i=7 downto 0 portc = led.ByteValue(i) waitms 10*(i+1) next
-
Thread
PWM mit PIC18LF23K22
Konfigurationsdatei abgedeckt und man kann nur den TMR0 nochmal separat auf einen "anderen" Oszialltor legen? Oder geht das bei dem PIC18 nun auch mit den anderen Timern? Vielleicht könntest du mir als kleine Hilfestellung eine von dir kommentierte init() Datei bzw. ein PWM-Beispiel für einen PIC18 in C anhängen,
abgedeckt und man kann nur den TMR0 nochmal separat > auf einen "anderen" Oszialltor legen? Oder geht das bei dem PIC18 nun > auch mit den anderen Timern? Du kannst da Einstellen, ob der PLL Ein- oder Abgeschaltet sein soll (Wenn aus, ist er wirklich aus, wenn an, dann kann man ihn trotzdem per
-
Thread
RTC DS1307 mit Bascom konfigurieren und abfragen
die Portdefinitionen in den Quelltext einfügst: 'configure the scl and sda pins Config Sda = Portc.4 Config Scl = Portc.5 Interessanterweise geht es bei M644def.dat auch ohne. Das ist offenbar ein Tribut des letzten Bascom Updates. Seitdem die da nun auf "Teufel komm raus" den XMEGA mit einflechten
Sda = Portc.4 ' Scl = Portc.5 Config Twi = 100000 ' Init TWBR und TWSR 'Typical you need a speed of 400000Hz. Some devices will work on 100000Hz as well. ' TWI
-
Thread
ATMega 64, ALL AVR, Anfänger Problem
DDRC 0x34. Moemntan scheitert es daran das ich die PortBITS nicht einzeln setzen kann [c] PORTC0 = V1_1; PORTC1 = V1_2; PORTC2 = V2_1; PORTC3 = V2_2; PORTC4 = V3_1; PORTC5 = V3_2; PORTC6 = Kranz_an; PORTC7 = Kranz_LR; PORTA0 = ML_Z; PORTA1 = MR_Z; [/C] Muss ich da statt
DDRC 0x34. > > Moemntan scheitert es daran das ich die PortBITS nicht einzeln setzen > kann > PORTC0 = V1_1; > PORTC1 = V1_2; > PORTC2 = V2_1; > PORTC3 = V2_2; > PORTC4 = V3_1; > PORTC5 = V3_2; > PORTC6 = Kranz_an; > PORTC7 = Kranz_LR; > > PORTA0 = ML_Z; > PORTA1 = MR_Z; >
-
Thread
Globale Variablen zur laufzeit erstellen.
muss ich mich nach knapp einem Jahr doch mal dem Forum widmen. Wie die Überschrift schon aussagt, geht es mir um dieses Thema. Ich habe eine Platine, welche 2 Modi beherschen soll. 1. Modi über UART EEprom beschreiben, 2. Modi EEprom auslesen. Controller ist der Mega8.. Der Wechsel zwischen den
[code] if (PIND & (1 << PD0)) { /*If High Signal from the level converter * */ PORTC |= (1 << PC3); // Red LED on, UART-Modus setup_uart(); } [/code] Damit wird ermittelt, ob an dem UArt-Pin RXD ein Pegelwandler bzw. ein SerialAdaper steckt. Nun sollen im "Uart"-Modus
-
Thread
AVR Starterkit Probleme
Du kannst ja auf dem Board mal nachsehen wohin die Led am Kontroller geht. Laut Schaltplan auf Port C5.
anderes stand weiss ich auch nicht. Habe jetzt die blink.hex Datei in den Controller geladen und es geht immernoch nicht :/
-
Thread
SPI für ADC MCP3204 auf ATXMega256A3 initialisieren
%%%%*/ void PSIBusIni( void ) { /* Init SS pin as output with wired AND and pull-up. */ PORTC.DIRSET = PIN4_bm; PORTC.PIN4CTRL = PORT_OPC_WIREDANDPULL_gc; /* Set SS output to high. (No slave addressed). */ PORTC.OUTSET = PIN4_bm; /* Initialize SPI master on port C. */ SPI_MasterInit
%%%%%%*/ void PSIBusIni(void) { /* Init SS pin as output with wired AND and pull-up. */ PORTC.DIRSET = PIN4_bm; PORTC.PIN4CTRL = PORT_OPC_WIREDANDPULL_gc; /* Set SS output to high. (No slave addressed). */ PORTC.OUTSET = PIN4_bm; /* Initialize SPI master on port C. */ SPI_MasterInit