-
Thread
Gibt es einfach zu handhabende "große" Rams (16/32MB?)
(werd ich mit nem geliehenen Looper mal machen, der hat halt nicht "mein" routing, aber fürn Test gehts).
Also ich glaub schon dass das geht. 0,1s ist beim Musikmachen auch VIEL, ich vermute mit etwas Gefühl liegt man da einiges drunter. Muss man einfach mal probieren. wenn ich zu mir selbst mit loops spiel geht das auch "ausm gefühl
-
Thread
SSD1963 - TFT-Controller - Pixel auslesen
B_WR); sbi(PORTD, B_RS); set_direction_registers_read(); PORTA = 0xFF; PORTC = 0xFF; pulse_low(PORTD, B_RD); //R_D = 0; //dummy read pulse_low(PORTD, B_RD); // R_D = 0; r = PINA; pixeldat = (r << 8) + PINC; /* cbi(PORTD, B_RD);
set_direction_registers_read(); // PORTA = 0xFF; //pullups nicht notwendig // PORTC = 0xFF; pulse_low(PORTD, B_RD); //R_D = 0; //dummy read pulse_low(PORTD, B_RD); // R_D = 0; r = PINA; pixeldat = (r << 8) | PINC; //+ geht aber auch pulse_high
-
Thread
Ultraschall Modul HCSR04, falsche Auswertung
_delay_ms(100); PORTC &= ~(1<<PC0); // _delay_us(15); // -> Löst die Messung des HCSR04 aus. PORTC |= (1<<PC0); // //Jetzt löst der Interrupt aus, weil das Modul den Echo auf high
while (1) { PORTC &= ~(1<<PC0); // _delay_ms(100); // -> Löst die Messung des HCSR04 aus. PORTC |= (1<<PC0); // //Jetzt löst der Interrupt aus, weil das Modul den Echo auf
-
Thread
C-Code für Zähler mit INT, Ausgabe per UART streikt
konfiguriert, dass er bei jeder negativen Flanke auslöst. Zur Kontrolle des ganzen toogelt eine LED an Portc.0. Soweit so gut, dieses Beispiel ist fast 1:1 aus dem Netz, ich habe es verstanden und habe es etwas erweitert. Ich habe eine Variable "n" erstellt, mit der ich die Impulse zählen will. Das ganze
dann ersetzt der Präprozessor den Text und es entsteht [c] i = 19200UL * 5; [/c] und erst das geht dann zum eigentlichen C-Compiler. C ist nicht BASCOM. In C gibt es nichts vergleichbares zu den BASCOM Config Anweisungen. Das geht schon alleine deswegen nicht, weil es C Compiler vom kleinsten
-
Thread
Zeigt her eure Kunstwerke (2014) Gesperrt Bilder
Schön dass es weiter geht.
Hier geht's weiter: https://www.mikrocontroller.net/topic/354864
-
Thread
PIC18F Can Hardwarefilter anstatt Software Filter?
PORTAbits.RA3 //#define HBC PORTAbits.RA4 #define HBMOC PORTAbits.RA5 //relay control PORTC #define HBC PORTCbits.RC6 #define WWC PORTCbits.RC5 #define HC PORTCbits.RC4 //Inputs PORTC #define SA PORTCbits.RC7 #define SLS PORTCbits.RC3 #define
Filter und Priorities einzurichten und Fehlerzustände abzufragen. Wenn eine Nachricht verloren geht dann bekommt der das mit und sagt Dir auch was wenn Du ihm zuhörst. Geht z.B. perfekt indem Du die Chip Register über den Debugger anschaust. Fehlerbit in IRQ auswerten und Breakpoint auf die Bedingung
-
Thread
schöner Code ?
also zum Beispiel schreiben (Bitte nicht festnageln, ist extrem lange her): ..... INT CONST es geht nach oben := 1; INT CONST es geht nach unten := 0; INT VAR richtung := es geht nach unten; SELECT richtung OF CASE es geht nach oben: jetzt runterzaehlen; CASE es geht nach unten: jetzt raufzaehlen; END SELECT jetzt runterzaehlen: if (++pwm == TIMER1_TOP) richtung = es geht nach unten; jetzt raufzaehlen:
-
Thread
Zweidimensionales Array im EEPROM eines ATMEGA168A auslagern (nur lesen)
und kann direkt auf einen Port oder ins SPI kopiert werden. PORTD = framebuffer[zeile][farbe]; PORTC = framebuffer[zeile][farbe]>>8;
nicht, und macht es nicht. Die direkten Portzugriffe dauern alle nur einen Taktzyklus, schneller geht es einfach nicht. Oliver
-
Thread
STM32F4 Discovery - Audiodac + I2S
i2s.init [code] #define SpiPeriphNr 3 #define SpiAf GPIO_AF_SPI3 #define SpiMisoPort PORTC #define SpiMisoPinNr 7 #define SpiMosiPort PORTC #define SpiMosiPinNr 12 #define SpiSckPort PORTC #define SpiSckPinNr 10 ////// SPI Clock Rcc rcc; #if SpiPeriphNr == 1 #define SpiPeriph
2 Möglichkeiten; -- Lesen geht nicht richtig -- I2S Senden geht nicht richtig. Lass einfach mal das Lesen weg und sende eine synthetischen Ton. z.B. einen Sinus, den du dir vorher in eine kleine Tabelle schreibst. Dann kann
-
Thread
C++ auf Mikrocontrollern
Standard umsetzen kann. Musst halt im Keil Manual nachschauen wie man da Sachen in den Flash packt; geht vermutlich genau wie in C.
der Code sie ohne besondere Vorkehrungen direkt von da lesen ohne Umweg über den RAM. Nur schreiben geht nicht ohne weiteres.
-
Thread
Fröling Heizungssteuerung auslesen.
int wertrunter; char Zeichen; unsigned int read; // PD0 und PD1 reserviert für TX und RX PORTC = 0xf8; // Pull UP bei C3 Taster weiter , C4 Taster hoch , C5 Taster runter PORTB = 0XFF; lcd_init(); lcd_on(); // Display an while (1) { {print ("0X4D
Tagesverbrauch daraus (1 min saugen entspricht (bei mir) ca. 25% Tagestankverbrauch). Aber nun geht es trotzdem an die Direktauslesung :-)
-
Thread
[PICASM]? Wir das kommen?
Test mit [ avrasm ] [avrasm] init bsf STATUS, RP0 clrf TRISC bcf STATUS, RP0 clrf PORTC main movlw 0x9F movwf HIGHN movwf LOWN swapf HIGHN,f movlw 0x0F andwf HIGHN,f andwf LOWN,f movlw 0x30 addwf HIGHN,f addwf LOWN,f movlw 0x3A subwf
vom Z80 (vor-CP/M-Ära). Den meisten aktuellen Assemblern sind die Spalten reichlich egal, da geht dann auch sowas: [avrasm] label: ldi r24, 23 [/avrasm] Probier doch mal, ob du den Doppelpunkt auch schreiben kannst, dann müsste das ja alles für die PIC-Assembler genauso nutzbar sein.
-
Thread
Display DG12232 v. Pollin
m16def.dat" $crystal = 8000000 $lib "glcdSED1520.lbx" Config Graphlcd = 120 * 64sed , Dataport = Portc , Controlport = Portd , Ce = 5 , Ce2 = 6 , Cd = 3 , Rd = 4 Do Wait 2 Cls Setfont Font8x8 Lcdat 1 , 1 , "TEST" Lcdat 2 , 1 , "Probeausgabe" Setfont Font16x16 Lcdat 3 , 1 , "Test2"
Morgen geht es weiter. Hab noch ein zweites Display diesen Typs hier. Werde Morgen dann mal das jetzige vorsichtig ablöten und das andere ran. Wenn dieses dann auch so rum zickt, dann ist es etwas anderes als nur
-
Thread
LM339 schaltet komisch
Jetzt gerade klappt es wieder mal, jedoch nur kurz, habe das gefühl, dass der MC nicht immer an geht/bleibt/ weiß allerdings noch nicht wo dran das liegt...
= 0b11111111; //Pull-Up PortA ein DDRD = 0b11111111; //PortD als Ausgang deklariert PORTC = 0b11111111; //Pull-up PortC ein while (1) { char _dataa = PINA; //_dataa entspricht den eingängen von PINA PORTB = _dataa; //PORTB soll so beschaltet
-
Thread
AVR: Wie kann das sein? (Timer1)
); while(1) { // mach nix. } } ISR(TIMER1_OVF_vect) { if (toggle) { PORTC = _BV(0); toggle = false; } else { PORTC = _BV(2); toggle = true; } } [/c] Hat jemand 'ne Idee? Das wäre toll. Ich blick's nicht! VG Torsten
führen. c) Kannst du mal mit avrdude die Fuses auslesen? d) Kannst du mal in der ISR PORTC = _BV(0); ersetzen durch PORTC = PORTC & ~_BV(2) | _BV(0); und PORTC = _BV(2); ersetzen durch PORTC = PORTC & ~_BV(0) | _BV(2); Sollte keinen Effekt haben wiel ja
-
Thread
AVR eigene Pins verbinden?
Jawoll..., geht das.
PC0 // rote LED2 // Port Defines #define PORTLED1 PORTB #define PORTLED2 PORTC // Initialisierungsfunktionen void init_ports(void); void init_timer1(void); //Timer1 16-bit Input Capture Service Routine ISR (TIMER1_CAPT_vect){ if ( !(TCCR1B & (1<<ICES1) )
-
Thread
Immer noch Probleme mit 74HC595
dazu. Es wäre unschön, wenn hier Fehler nicht korrigiert würden. Wobei das auch an meine Adresse geht. Ich hatte es vollkommen verdrängt. Gruß Frank
Halllo, Ich habe alle eure Tips durchgesetzt...und jetzt geht es. Wodran es genau gelegen hat, weiss ich noch nicht. Ich glaube ich werd auch nicht mehr auf Fehlersuche gehen.. Danke
-
Thread
Inline Assembler nach C
down the RF - Chip \n" + " CBI PORTD,5 ;55 Power down the RF - Chip \n" + " CBI PORTC,1 ;57 Power down the RF - Chip \n" + " CBI PORTB,1 ;59 Power down the RF - Chip \n" + " RJMP END_RX_IRQ ;61 Jump to end of ISR \n" + " RESET_RX:
implementieren. Meiner Meinung nach wird viel zu oft unnötig Assembler hinzu gemixt und dann geht die Lesbarkeit, Wartbarkeit und Fehlersicherheit zum Teufel.
-
Thread
Hilfe bei Atmega32 Initialisierung
es leider nicht. Hab jetzt über all wo ich ne 0 haben möchte Register &= ~(1<<pin); geschrieben. Geht leider trotzdem nicht. Weder Interrupt noch PWM.
Achso und wie geht das bei AVR ohne shiften?
-
Thread
Zähler mit Taster und Zeit
hier gehts weiter (oder auch nicht) http://www.mikrocontroller.net/topic/317043
Bitte Helft mir Weiter es geht hierbei auch um Viel! Bitte um Code?
-
Thread
Atmega8 +ADC+Timer = Programmierung nur mit Reset-Taste
zur Not auch eine LED) an den Reset Eingang gehalten? Dann müsstest du sehen, wie der Pin auf Masse geht, ehe ihn der Programmer anspricht.
angeschlossen. Kannst du auch nicht so ohne weiteres. PIN1 (Reset) ist nicht mit PC6 der Stiftleiste PortC verbunden sondern mit PORTE/AUX Pin RST. MfG Spess
-
Thread
ATMEGA644 PORTA und C nicht sauber ansteuerbar
A und C leuchtet nichts. Sicher, das das JTAG-Interface abgeschaltet ist. Das würde 4 Pins vom PortC blockieren. MfG Spess
Was aus deinem Eröffnungsposting für mich nicht so recht hervor geht: Hast du die Platine selbst gebaut? Wenn ja, dann überprüf noch mal, ob an AVcc auch die Versorgungsspannung anliegt. Das ist der Eingang, der den Port A (dort wo der ADC sitzt) mit Strom versorgt
-
Thread
Einsteigerfrage Atmel Studio
Die Ports heißen, wie sie eben heißen: PORTA, PORTB, PORTC, PORTD usw... Welche Ports dein Controller hat, und wie die heißen, findest du im Datenblatt. Aber um deine Frage zu beantworten: in deiner Quellcodedatei hast du ein [c] #include <avr/io.h>
the Pin" Zu jedem PORT gibt es auch ein Richtungsregister: DDR PORTA --> DDRA, PORTB --> DDRB, PORTC --> DDRC... Alles was ich bisher mit Atmel-Controllern gemacht habe (SPI, USART, Timer, Ext. Interrupts, LED-Cube, u.ä.) ging Wunderbar ohne in die Header zu schauen, weil alles mit Code-Beispielen
-
Thread
ATxmega128A4 ADC Problem
Oszillators zu takten, einen Timer einzustellen und mit dem USART Daten an meinen PC zu senden. Es geht darum einen Spannungswert an PA0 zu messen und das 12 bit Ergebniss an den PC zu senden nur das funktioniert nicht so wie ich mir das vorgestellt habe. Wenn ich am PC in meinem Terminalprogramm
INTCTRLB |= TC_CCAINTLVL_HI_gc; //Compare or Capture A Interrupt high level //USART C0 PORTC.DIR |= PIN3_bm; //TxD Pin (PC3) = Output PORTC.OUT |= PIN3_bm; //TxD Pin (PC3) = High USARTC0.CTRLB |= USART_CLK2X_bm; //Double Transmission Speed USARTC0.BAUDCTRLA
-
Thread
Mega8 assembler LCD ADC beendet nicht
lcd routine aus dem tut leicht verändert so, dass E und RS an PORTB hängen, obwohl die daten durch PORTC laufen. Das funnktioniert soweit alles einwandfrei und sollte mit dem Problem (eigentlich) nichts zu tuhen haben. Die Sache ist, dass ich zwecks Abgastemperatur ein thermoelement mit Op am ADC4
Hat sich erledigt, hatte es in geistiger abwesendheit mit MOV versucht klar, dass das nicht geht.... Danke an alle beteiligten, hätte wohl noch ne weile gedauert, bis ich durch das brett geschaut hätte.... :D :D mfg Amper
-
Thread
Codingstyle vs Makros
@ Peter stimmt so geht es natürlich auch. Die Variante beseitigt die invertierte Logik aber auch nicht. Macht lediglich den Zugriff schön elegant. Klar man könnte sowas machen: [c] #define POWER_LED SBIT(PORTA,
, 0xFE ; 254 96: 98 2b or r25, r24 98: 92 b9 out 0x02, r25 ; 2 PORTC ^= 1<<0; 9a: 88 b1 in r24, 0x08 ; 8 9c: 82 27 eor r24, r18 9e: 88 b9 out 0x08, r24 ; 8 [/c]
-
Thread
DMX-Empfang mit Atmega 8 und Bascom Probleme
damit 3 LED´s über PWM zu steuern. Problem: Die LEDs leuchten wie gewollt je 1s auf, dannach geht die Valid-LED an und die 3 LEDs Leuchten wie über DMX eingestellt. Allerdings nur für ca. 1s, dannch gehen sie aus und machmal geht nach ca. 5 weiteren Sekunden die ValiD-LED auch aus oder der Mega
Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Output Config Portb.3 = Output Config Portc.5 = Input Config Portc.4 = Input Config Portc.3 = Input Config Portc.2 = Input Config Portc.1 = Input Config Portc.0 = Input Config Portb.5 = Input Config Portb.4 = Input Config Portd.6 = Input
-
Thread
Atmega8 Programmierung (LED Matrix)
main(void) { DDRC = 0xff; DDRB = 0xff; DDRD = 0xff; while(1) { PORTC = (1<<PC1)|(1<<PC3); PORTD = (1<<PD5) | (1<<PD7); _delay_ms(3000); PORTC = (0<<PC1) | (0<<PC3); PORTD = (0<<PD5) | (0<<PD7); _delay_ms(1000); } return 0;
Andreas Hermann schrieb im Beitrag #3428008: > PORTC = (0<<PC1) | (0<<PC3); Warum so kompliziert? Schreib doch gleich ganz einfach PORTC = 0; denn genau das ist es, was du hier machst. Es hilft nichts. Wenn du weiter kommen willst,
-
Thread
Atmega8: ähnlich garagentorsteuerung programmieren
ich auch verständlich. Hier mein code bis jetzt: [c] #include <avr/io.h> void stop() { PORTC &= ~(1<<PC0); PORTC &= ~(1<<PC2); } void move(uint16_t dir) { switch (dir) { case 0: PORTC |= (1<<PC1); PORTC |= (1<<PC2); PORTC |= (1<<PC0); break; case 1: PORTC &= ~(1<<PC1); PORTC |= (1<<PC2); PORTC |= (1<<PC0); break; } } int main(void) { PORTD = 0xFF; PORTB = 0xFF; PORTC = 0x00; PORTC |= (1<<PC3); DDRB = 0x00;
-
Thread
Mikrocontroller
mappen, damit ist dein I/O Zugriff schneller. Hier ein Codeschnipsel, sollte selbsterkärend sein. //PORTC wird als Virtueller Port definiert PORTCFG.VPCTRLA |= PORTCFG_VP02MAP_PORTC_gc; //Der Virtuelle Port0 wird als Ausgang definiert VPORT0.DIR = PIN0_bm; Dann z.B. mit VPORT0.OUT = 0x00; den PortC auf 0 setzen, einzelne Bits geht natürlich auch. Ein Bit-Zugriff mittels VPORT ist wirklich eine SBI oder CBI Anweisung, wenn du einen normalen Port Zugriff verwendest, sind es drei einzelne Befehle. Grüße, Kai
-
Thread
undefined reference to
0xFF; // interne Pull-ups für Port A aktivieren DDRC = 0x00; // Port A als Eingang PORTC = 0xFF; // interne Pull-ups für Port A aktivieren DDRD = 0xFF; // Gesamter Port C als Ausgang PORTD = 0xFF; // Port C auf 1 setzten, damit LED's an sind Inituart();
So jetzt gehts endlich, wie Peter II schon gesagt hat lags am Makefile. Mit [c] SRC = $(TARGET).c uart.c [/c] geht es :) Kann man nicht im Makefile festlegen das alle *.c Dateien die im gleichen Ordner wie
-
Thread
Fehler auf AtMega32 Platine
, an den ich mein LCD anschließen wollte. Nun das Problem: Es funktionieren alle Ports, ausser PORTC 2 -5. Das ist ausgerechnet der Port, der noch zusätzlich auf meinen 2x4 LCD-Stecker geht. Ich kann aber einfach keinen Fehler in meinem Schaltplan finden. Das Problem äußert sich so, dass bei komplett aktivierten Ports auf PORTC 4 nur 1,66 V anliegen auf PORT C 2, 3 und 5 liegen die vollen 5 V an. Wenn ich jetzt jedoch eine LED an PORTC 2, 3 oder 5 anschließe, dann leuchtet diese nicht (bzw. mini-minimal), und die Spannung
-
Thread
ATmega328: INT0 geht nur, wenn zu Beginn HIGH
Übertragung fertig ; Anz_LEDs_an = SPDR; // Übertragene Daten auslesen PORTC &= ~(1 << PC1); PORTC &= ~(1 << PC2); PORTC &= ~(1 << PC3); PORTC &= ~(1 << PC4); PORTC |= ((Anz_LEDs_an & 0x01)<< 1) | ((Anz_LEDs_an & 0x02)<< 1) | ((Anz_LEDs_an & 0x04)<< 1) | ((Anz_LEDs_an
// SS auf HIGH, Slave wird nicht angesprochen sei(); [/c] (Rest unverändert) geht es. Vielen Dank für die schnelle Antwort!
-
Thread
DMX-Receiver mit xmega - UART empfängt nur Müll
SN75176 5V braucht, kann ich den nicht über den µC versorgen, das mache ich extern. Der Ausgang des ICs geht an den PIN2 von PORTC - der Eingangsport von USARTC0. Allerdings empfange ich nur Bytes mit eher zufälligem Inhalt. DMX enthält 2 Stopp-Bits. Das kann man zwar nicht einstellen, wird aber laut Datenblatt
-
Thread
AVR-Board Schaltplan
zu verbinden ist, auch wenn man den ADC nicht benutzt? Weil AVCC der Stromversorungspin für den PortC ist.
kann wer von euch für mich das routen? pls, weiß nicht wie das geht ;(
-
Thread
Serielles Display
mache gerade eine Fehler analyse und möchte mal sowie es ulrich radig gemacht hatte meine pins am portC anschließen.
anderen Kombinationen der 'Zahlenwerten' bzw. der RS Leitung. Dann bist du sicher. Das ganze geht schneller, als hier eine Frage einzutippen und so ganz nebenbei erhöht das auch noch deine Programmierpraxis und deine Fähigkeiten dir selbst zu helfen, indem du dir überlegst, wie man etwas testen
-
Thread
ADC STM32 Kallibrationfehler ?
Speed of port GPIO_Init(GPIOC, &GPIO_InitStructure); // PortC ADC1_Configuration(); // ADC1 configuration ADC1_Calibration(); // ADC1 calibration } void ADC1_Configuration(void) { ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
die 1.2V (welche die interne Referenz bietet) anzulegen. Wenn deine zu messende Spannung von 0-1.2V geht hast du eben bei 1.2V Referenz die best möglichste Genauigkeit mit dem eingebauten ADC (es sind nicht ganz exakt diese Werte, näheres im Datenblatt bzw. Referencesheet). Wenn deine Eingangsspannung
-
Thread
Display geht immernoch nicht.
So habe nun Kabel an das Display gelötet werde nun lcd.h von PortB auf PortC ändern und das Programm kompilieren übertragen und testen. Ich gebe dann bescheid!
das Poti auf Linksanschlag ist. Wie soll ich nun vorgehen? in der lcd.h hab ich von PORTB auf PORTC umgestellt.
-
Thread
JTAG deaktivieren ATMega16
konnte ich > den µC leider nicht mehr neu beschreiben. Tja, über welchen Weg denn? Über JTAG geht es dann natürlich nicht mehr, das sollte doch wohl klar sein, oder??? Was bleibt, ist SPI, dafür ist Bit 5 zuständig. Das steht auf 0, was bedeutet: SPI ist enabled. Geht SPI trotzdem nicht, ist
11011001. Also ist Bit 6=1, also ist JTAG disabled, > also genau, was du willst. Komisch den auf PORTC bekomme ich leider keinen Strom mit diesen fusebits. c-hater schrieb im Beitrag #3397475: > Was bleibt, ist SPI, dafür ist Bit 5 zuständig. Das steht auf 0, was > bedeutet: SPI ist enabled. Geht
-
Thread
LED Treiber WS2803 Pinbelegung und Ansteuerung
ausprobiert aber da passiert auch nichts. [code] // led stuff #define LEDDDR DDRC #define LEDPORT PORTC #define LEDCKI 1 #define LEDSDI 0 // init LEDs void led_init(void) { // set pins as output LEDDDR = 0xFF; // set pins high LEDPORT = 0xFF; LEDPORT &= ~(1<<LEDCKI); _
Hoi Hoi! Es geht wenn man drauf achtet genau 144 Bits zu verschieben und PIN3 für IREF benutzt. Nun kommen die Daten in den Chip, jetzt muss ich mir nurnoch einig werden wie ich die Animationen erstellen möchte :)
-
Thread
ATMega 16 Thermometer Display zeigt nichts an
deswegen muss ich den immer abschalten.Weis nicht warum das so ist.Wenn ich vergesse den abzuschalten geht nix mehr,weil ich den in den Einstellungen eingeschalteten WD mit gesendet hab.Wenn dann nix geht,fällts mir gleich ein. "WD abschalten" ! :)
habe ich die alten Einstellungen nur zur SIcherheit einfach nochmal überschrieben und genau seit dem geht nichts mehr.
-
Thread
Peltier PWM ATMEGA48
= Output Config Pinb.1 = Output Config Portd.6 = Output Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 'Display Parameter Config Lcd = 20 * 2 'config LCD Cursor Off Config
voneinander unabhängige PWMs erzeugen. Ist es vllt. eher so, das die Betriebsspannung in die Knie geht und deswegen der Lüfter langsamer wird? Lass dir auf das LCD doch mal die PWM Werte ausgeben und mess auch mal die Betriebsspannung, während du an der PWM rumdrehst.
-
Thread
Problem Schieberegister 595er ud 597er
ich aber den Code ausführe, der vom 597er lesen soll, und das Datum an den 595er weitergibt, dann geht nix mehr. Die Idee ist simpel: Auf die Inputs des 597er Spannung legen, dann erwarte ich, dass dies weitergegeben wird an den 595 als Output. Der Schaltplan sollte passen, ich benutze ein Pollin-Board
schreiben, genau diese werden auf den Leds angezeigt, also im > Code-Beispiel die 233. [c] PORTC &= ~(1<<DD_SS_i); PORTC |= (1<<DD_SS_i); PORTC &= ~(1<<DD_SS_i); PORTC |= (1<<DD_p597); PORTC &= ~(1<<DD_p597); PORTC |= (1<<DD_p597); [/c] Ich steig durch deine Bezeichnungen
-
Thread
Probleme mit ATMEGA16
A überschritten werden oder der Regler zu heiß wird nimmt dieser Einfluß auf den Stromfluß. Dann geht aber auch die Spannung in die Knie. Es gibt Spannugsregler und es gibt Stromregler. Es gibt aber keine Regler die beides gleichzeitig Regeln, sondern höchstens begrenzen.
allerdings gibt der µC auf keinem Port Strom. Hier mal den code den ich benutze, hauptsächlich geht es mir aktuell um die bootmsg welche leider nicht funktioniert : [code] // ############################################ // // 4x4x4 LED Cube project // By Christian Moen 2008 // chr@syntaks.org
-
Thread
"static const" Objekt "wegoptimieren"?
Markus Grabner schrieb im Beitrag #3381452: > aber mir geht es hier darum auszuloten, wie weit man mit den > Sprachelementen von C++ (und der optimizer-Implementierung im avr-g++) > kommt. Das Problem ist, dass der Compiler zwar erkennen kann dass solche
}; constexpr PortFactory PORTA (0); constexpr PortFactory PORTB (1); constexpr PortFactory PORTC (2); constexpr PortPin LED1 { PORTC[3] }; int main () { PORTA [0].set (); PORTB [5].clear (); LED1.set (); }[/c] Die PORTA,B,C,LED1 Instanzen werden hier natürlich wieder wegoptimiert
-
Thread
Spannungsindikator mit Bargraph-LED realisieren_02
Spannungswerte zu stark einbrechen. Danke sehr - mal schauen, was im anderen Thread so vor sich geht. LG - Maik
die deinem Lipo zu schaffen macht. Dich interessiert ja auch nicht, wie gut es einem Maultier geht, wenn es im Stall steht. Interessant ist der Fall: was passiert wenn ich dem 500kg auf den Rücken schnalle? Wie stark geht es dann in die Knie? Muss ich ihm eine Pause gönnen oder geht es noch?
-
Thread
Problem mit SPI Flash AT45DB321D
into buffer, sends the data*/ UDR0 = data; } int main(void) { //5 Leds DDRC = 0xff; PORTC = 0x00; SPI_MasterInit(); USART_Init(8); //16Mhz, Baud: 115200 char msg[] = {"Hello... Ready!"}; for(uint8_t i=0;i<15;i++) { USART_Transmit(msg[i]); } PORTC =
. Und was ich auch gerade noch festgestellt habe ist, dass anscheint der FLASH_CS niemals auf LOW geht, obwohl er das eigentlich müsste. MfG Philipp
-
Thread
Promgrammfehler in Arduino
@Karl Heinz (kbuchegg) Stimmt so geht das auch, ganz ohne Funktionszeiger ist auch noch dazu flexibler und viel kompakter, wenn man das weiter abstrahiert hat wie du. Anpassungen im Ablauf kann er dann rein über die Daten schnell ändern
bevor jetzt wieder leute schreien mach es selber und lass es nicht andere leute für dich machen. Es geht mir nur um ein Beispielprogramm nicht um ein komplettes funktionierendes Programm. Danke schonmal
-
Thread
Idiotischer Anfängerfehler
ich nur den Port einschalte oder ausschalte, also nur EINE Anweisung in der while schleife, dann geht es. Hat jemand eine rettende Idee ? [c] #define __AVR_ATmega16__ 1 #define OSCSPEED 8000000 /* in Hz */ #include "avr/io.h" void Initialize() { PORTB = 0x01; //Led is set off PORTC = 0x00; PORTD = 0x00; DDRB = 0x01; // Led is set as output DDRC = 0x01; DDRD = 0x01; } int main() { unsigned long l; Initialize(); while (1) { PORTB = 0xFF;
-
Thread
LCD zeigt nichts an
Datenbus DB4-DB7, das unterste Bit DB4 kann auf den Portbits 0..4 liegen // LCD DB4-DB7 <--> PORTC Bit PC0-PC3 #define LCD_DB PD0 // LCD Steuersignale RS und EN // LCD RS <--> PORTC Bit PC4 (RS: 0=Data, 1=Command) #define LCD_RS PD4 // LCD EN <--> PORTC
Das hier [C] // LCD Steuersignale RS und EN am Control Port // LCD RS <--> PORTC Bit PB2 (RS: 0=Data, 1=Command) #define LCD_RS PB2 // LCD EN <--> PORTC Bit PB0 (EN: 1-Impuls für Daten) #define LCD_EN PB0 [/c] ist Ernst zu nehmen! Überall,