-
Thread
Funktionsparameter Gesperrt
**************************************************/ // Definition der PORTs #define PortLcdData PORTC #define PortLcdDataPIN PINC #define PortLcdDataDDR DDRC #define PortLcdCtrl PORTA #define PortLcdCtrlDDR DDRA /*********************************************************************************
2313 Mehr weiß ich bis dato auch nicht. Ist bis jetzt aber auch nicht wichtig. Diese Funktion geht erst einmal und hat nichts mit meinem Problem zu tun. Komplett OHNE USART stürzt der Chip trotzdem ab. LG, Marcel
-
Thread
RS232 Befehl
"m8def.dat" $crystal = 8000000 $baud = 9600 Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Cls Config Pind.2 = Input Config Pind.3 = Input Config Pind.4 = Input Config Pind.5 = Input Do Debounce Pind
Danke!!! jetzt geht es. >In der Anleitung steht, dass die Box ASCII-Befehle möchte und keine >Hexstrings Hm, nicht gesehen. Noch mal, vielen Dank! Gruss Alex
-
Thread
GLCD KS0108 Port zuweisen
PORTA #define KS0108_DATA_DIR DDRA #define KS0108_DATA_PIN PINA #define KS0108_CTRL_PORT PORTC #define KS0108_CTRL_DIR DDRC #define KS0108_DI (1 << 2) #define KS0108_RW (1 << 1) #define KS0108_EN (1 << 0) #define KS0108_CS1 (1 << 6) #define KS0108_CS2 (1
man, aber wie bereits gesagt: Du musst die LIB umschreiben. Ein paar defines im Headerfile ändern geht nicht.
-
Thread
schnelles SPI für ATXMEGA 256
Nun kommt mein Problem: Wenn ich die SPI Geschwindigkeit so konfiguriere, das es schneller geht als 2 Mhz gehen regelmäßig Bytes verloren. Dies beobachte ich mit Hilfe des AARDVARK(Beagle) SPI/I2C Protocol Analyzer von Totalphase.com . Hat jemand eine Idee, wie ich SPI Datenpakete schneller
ist die Nettorate etwas niedriger, da der XMega jedes Byte nachladen muss. Oder Du nimmst DMA, dann geht´s schneller.
-
Thread
Code auf Mega32 läuft nicht? Minimalcode
am µC mucken. habe im Code dann extra zum Test "nur" versucht, einen pin auf High zu schalten. Geht nicht! Hier der Code: [c] #define F_CPU 1000000 #include <avr/io.h> #include <util/delay.h> #include <stdio.h> #define IO_DDR DDRC #define IO_PORT PORTC #define SELF_HOLD
_delay_ms(100); } PORTC |= (1<<LED); PORTC &= ~(1<<SELF_HOLD); // selbsthaltung lösen µC stromlos!! return; } [/c] Dieser Code soll erst mal auf dem Entwicklungsboard laufen, um zu schauen, ob die Pins überhaupt
-
Thread
Touch Taster
'C4 low? Ddrc.5 = 0 'C5 hochohmig Portc.5 = 0 'ohne Pullup Ddrc.4 = 1 Next Da 'C4 low 'Loop Portc.4 = 0 Portc.5 = 0 Ddrc.4 =
'C4 low? Ddrc.1 = 0 'C5 hochohmig Portc.1 = 0 'ohne Pullup Ddrc.0 = 1 Next Db 'C4 low 'Loop Portc.0 = 0 Portc.1 = 0 Ddrc.0 =
-
Thread
V-USB: HIDKeys ignoriert ersten Tastendruck
Kommentare ein wenig unpassend ? [c]PORTC = 0x01; /* disable pull-up for PC0 */[/c] Alle Pins außer PC0 als Ausgang und in Kombination mit obiger Zeile Low: [c]DDRC = 0xfe; /* PC0 as input */[/c] keyPressed() scannt Pins von 0-
eine unvorhersehbare Kombination geschickt und es ist eigentlich verwunderlich, daß es so überhaupt geht.
-
Thread
Schaltung für Lüfter-Tachosignal auswertung
weiter , ich weis jetzt welche Pins ich benutzen kann, aber eine Frage bleibt da noch: Jeder Port ( PORTC, PORTD, PORTE, PORTF ) hat einen TC0 und jeder hat nochmal 4 channels. Kann ich also jetzt mit einem Port 4 Tachosignale auswerten oder geht pro TC nur ein Signal, obwohl 4 channels zur verfügung stehen
-
Thread
Programm verhält sich nicht wie geplant
bedingung = true; } void init(void) { DDRB = 0xFF; PORTB = 0xFF; DDRC = 0x04; PORTC = 0x04; TCCR1A |= (1<<COM1A1) | (1<<COM1A0); TCCR1B |= (1<<WGM12) | (1<<CS12); TIMSK1 |= (1<<OCIE1A); OCR1A = 1952; sei(); PORTB = 0xFE; }[/c]
Programmierer weiß nicht, wie er das in seiner Programmiersprache umsetzen kann. Dieser Punkt geht normalerweise Hand in Hand mit dem nächsten Punkt, der da lautet * der Programmierer kennt seine Programmiersprache nicht oder nicht richtig. Meistens ist das Hauptproblem schon im Punkt 1
-
Thread
Timer1, CTC, Interrupt, REST, mega8, Problematik
Hab es probiert und es geht nicht.
Jetzt geht alles! Ich habe ständig das ELF anstatt des HEX-File geflasht! Vielen Dank an alle :-)
-
Thread
Byte an PORTS ausgeben
PORTC ein Byte erhalte? Controller: ATMEGA 8a
halt mit dem PORT Toggeln: [c] PORTB = (PORTB & 0xC0) | (ucData & 0x3F); ucData >>= 6; PORTC = (PORTC & 0xFC) | (ucData & 0x03); [/c] Aber wie gesagt: nicht atomar
-
Thread
Problem mit Sprungadressen und Timer
macht man es denn besser? Ich habe noch nie Interrupts benutzt, deshalb weiß ich auch nicht wie es geht. Ich habe das zum großteil aus dem Tutorial. Gruß Jannis
musste du einigermaßen beherrschen, bevor es an komplexere Funktion des Programmes wie Interrupts geht.
-
Thread
Schrittmotor mit Atmega 8 warum geht PD0 als Eingang nicht?
t i; void rueck_vor_fahrt (void) { while(1) { if ( PIND & (1<<PIND1)) { PORTC = NARANJA; _delay_ms(DELAY); PORTC = GRIS; _delay_ms(DELAY); PORTC = AMARILLO; _delay_ms(DELAY); PORTC = NEGRO; _delay_ms(DELAY); } if ( PIND & (1<<PIND4)) { PORTC = NEGRO; _delay_ms(DELAY); PORTC = AMARILLO; _delay_ms(DELAY); PORTC = GRIS; _delay_ms(DELAY); PORTC = NARANJA; _delay_ms(DELAY);
-
Thread
Bascom Softwareinterrupts
Programm das gut Funktioniert: [code] $regfile = "m8def.dat" $crystal = 8000000 Led1 Alias Portc.4 Config Led1 = Output Led2 Alias Portd.2 Config Led2 = Output Led3 Alias Portc.5 Config Led3 = Output Led4 Alias Portd.3 Config Led4 = Output Led5 Alias Portd.0 Config Led5 = Output
So in etwa. [pre] $regfile = "m8def.dat" $crystal = 8000000 Led1 Alias Portc.4 Config Led1 = Output Led2 Alias Portd.2 Config Led2 = Output Led3 Alias Portc.5 Config Led3 = Output Led4 Alias Portd.3 Config Led4 = Output Led5 Alias Portd.0 Config Led5 = Output
-
Thread
Buderus EMS-"Gateway" mit PIC18F / Sammelbestellung
PS: Das mit den 4 Heizkreisen geht aus den Planungsunterlagen EMS und RC35 hervor.
und den Curser, der aber nicht auf meine Tastatur reagiert. *edit* Wenn ich eine Taste betätige geht die rote LED an, wenn ich eine weitere Taste drücke geht sie wieder aus ... usw. Gruß Jens
-
Thread
XMEGA 128A3 Timer starten und anhalten
initialization void tcc0_init(void) { unsigned char s; unsigned char n; // Note: the correct PORTC direction for the Compare Channels outputs // is configured in the ports_init function // Save interrupts enabled/disabled state s=SREG; // Disable interrupts #asm("cli")
Konfigurationsregister ohne aktiverten CLK beschreiben würden? Werden die neuen Zustände übernommen oder geht dies nur mit dem aktiverten CLK Counter? Wenn die Konfigurations auch ohne CLK geht dann kann man ja zuerst die Konfiguration in einer Funktion implementieren. Das Start und Anhalten des Counters
-
Thread
RTC Minute getrennt lesen Bascom
temp\test\test.bas [\code] Die Zeile 209 gibts gar nicht mehr in meinem Programm. Das Programm geht nur bis 208. Das ist mein Programm [code] $regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 Config Porta = Output Config Sda = Portc.1 ' I2C Bus konfigurieren Config Scl = Portc.0 Const Ds1307w = &HD0 ' Addresse der Ds1307 Uhr Const Ds1307r = &HD1 Config Clock = User ' Interne Time/Date Routinen
-
Thread
Reset durch Stack overflow?
== ffopen(file_name)){ ffseek(file.length); // Spult bis zum Dateiende vor um anzuhaengen, geht auch ohne Option MMC_OVER_WRITE ! } ffwrites(str); // write date to file // read temp ADC values adc_value = ADC_Read_Avg(2,3); temp = ((VREF*100*(long)adc_value)/(float)ADC_MAX_VALUE
new line ffwrite(0x0D); ffwrite(0x0A); ffclose(); //close file cycle++; PORTC &= ~(1<<PC5); // reset PC5 return; } [/c]
-
Thread
Probleme auf ATmega88PA
angeschlossen, die Spalten sind von links nach rechts an PB0 - PB5 PORTB ist für GND zuständig, PORTC für VCC. Das heißt, wenn ich LED 14 einschalten will: PORTC = 0x00; // Alles aus (in Sperrrichtung) PORTB = 0xFF; PORTC |= (1<<PC3); PORTB &= ~(1<<PB3); So, nun lasse ich das ganze über einen
wieder auf 0 setzen! ISR (TIMER0_OVF_vect) { PORTB = 0xFF; // Alles aus, Dioden in Sperrichtung PORTC = 0x00; PORTB &= ~(1<<(currentLed / 4)); // Hier sieht man nochmal, was ich mit dem Umrechnen meinte PORTC |= (1<<(5 - (currentLed % 4))); do { currentLed++; } while (~LED_MASK & (1<<currentLed
-
Thread
AT90USB646 USB wird nicht erkannt
Programm eingespielt und hänge mit dem Osci auf PC0 und PC1: [c] int main() { DDRC = 0xFF; PORTC = 0xFF; int cntr = 0; while(1) { if(cntr == 255) { PORTC |= (1<<PC0); cntr = 0; } else { PORTC &= ~(1<<PC0); cntr++; } } }
nicht errinnern, dass jemand mal die Ursache ergründet und berichtet hätte, höchstens ein "jetzt geht es" oder so, teilweise nach Chip-Tausch. Meine Boards liefen stets, war vielleicht nur Glück. Aber AT90USB128x -- will man den heute noch freiwillig einsetzen, ist doch schon etwas angegraut. (Ich hoffe
-
Thread
Rückgabewert von Funktion wird nicht übegeben
hängen LEDs mit vorwiederstand. Wenn ich folgenden Code compiliere und auf den Controller übertrage geht die jeweilige LED aus wenn ich den entsprechenden Taster drücke. [c] #include <avr/io.h> int main(void){ DDRD=0xff; PORTD=0xff; while(1){ PORTC=PIND; }//end while
PORT C ist als Ausgang geschaltet. wenn ich schreibe PORTC=PIND; funktionert es. Wenn ich schreibe PORTC=abc(); dann funktioniert es nicht...
-
Thread
Lauflicht schalten
licht gesteckt. Programmcode siehe hier: $regfile = "m8def.dat" $crystal = 1000000 Config Portc.0 = Output Config Portc.1 = Output Config Portc.2 = Output Do Portc.0 = 1 Portc.0 = 0 Waitms 100 Portc.1 = 1 Portc.1 = 0 Waitms 100 Portc.2 = 1 Portc.2 = 0 Waitms
$regfile = "m8def.dat" $crystal = 1000000 Config Portc.0 = Output Config Portc.1 = Output Config Portc.2 = Output Do Portc.0 = 1 Waitms 500 Portc.1 = 1 Waitms 500 Portc.2 = 1 Waitms 1000 Portc.0 = 0 Portc.1 = 0 Portc.2
-
Thread
2 Einsteigerfragen - Arithmetik & Frequenz
Antwort zu spät gelesen. Ich habe nmlich gerade das Interface von Digital-Enlightenment aufgebaut (es geht auch) aber dort wird ja ein 24MHz Quarz verwendet. Ist das nicht reichlich übertaktet?
testet ja nur die Bits FE und DOR um dann den nächsten Schritt jeweils zu überspringen. Aber wann gehts denn dann mal rein in die Labels Overrun bzw. Frame_Error?
-
Thread
DS1302 nur alle 2s gültiges Signal?
RTC_Init(); while (1) { _delay_ms(1); temp2 = Read_DS1302(0x81); PORTC = ~temp2; } } //************************************** // Write //************************************** void Write( char cmd ) { uint8_t n; RTC_DATA_LINE_IS_OUTPUT
sag doch erst mal was genau nicht geht wenn's nicht geht! I2C-Start, DS1302 adressieren, Adresse setzen, Byte lesen? Also ich hab die DS1302 schon des öfteren eingesetzt und diesbezüglich noch keine Probleme gehabt. Sascha
-
Thread
Problem mit Mega1284P und XBee
Mach das mal so: int main(void) { DDRC |= 0xff; PORTC |= 0xff; uart_init(); sei(); uart_puts("asdfghjkl\n"); PORTC &= ~PORTC; while (1) { // USART0_RX_vect(); // was soll das denn werden? } return 0; }
Ah, cool jetzt gehts, vielen dank :)
-
Thread
Xmega: utoa/itoa/ltoa funktioniert nicht
Stelle im Code (und zwar ans Ende der adc_getchan() Funktion). Wo liegt hier das Problem? Und warum geht es mit den Megas, mit dem Xmega aber nicht? Noch ne andere Frage: wo kann ich mir den Code der Funktion utoa() ansehen? In stdlib.h steht ja nur der Prototyp. [c]#include <avr/io.h> #include <stdlib.h
Hier die usart.c: [c]#include <avr/io.h> void usartC0_init(void) { PORTC.DIRSET = PIN3_bm; // TxD PORTC.DIRCLR = PIN2_bm; // RxD USARTC0.CTRLA = USART_RXCINTLVL_HI_gc; USARTC0.CTRLB = USART_RXEN_bm | USART_TXEN_bm; USARTC0.CTRLC = USART_CHSIZE_8BIT_gc
-
Thread
Wie unterbreche ich ein Programm ?
der Do-Loop Schleife in einem SUB springen und dort do-loop ausführen bis der Schalter wieder Low geht. Wie setze ich es um ? Ich grübele schon seit stunden..bitte um ein paar Codezeilen.. Danke..
.1 = Input Portd.1 = 1 Taster1 Alias Pind.1 Config Lcdpin = Pin , Db7 = Portb.5 , Db6 = Portc.1 , Db5 = Portc.2 , _ Db4 = Portc.3 , E = Portc.4 , Rs = Portc.5 Config Lcd = 16 * 2 Cls Cursor Off Do Pause = 2 Speed = 1 If Taster1 = 0 Then Do Incr G Waitms Speed
-
Thread
Relais schaltet aus statt ein
vom Temp. - sensor ///t_soll/ kommt von PIND if((t_ist <= t_soll + 1)) //&& !(PORTC & (1<<RELAIS_C))) { //Heizung //an //(Relais HIGH) PORTC |= (1<<RELAIS_C); } else if((t_ist >= t_soll - 1))// && (PORTC & (1<<RELAIS_C))) {
führt dazu das das Relais an geht aber nicht mehr aus beim Überschreiten der Soll Temp
-
Thread
Zahlenschloss mit mega8 problem
is übrigens *immer* wahr: [c] if (PINC | 0x08) { i++; PORTC=0x00; } [/c] Wenn Du das Bit 0x08 in der Variable PINC prüfen möchtest, so solltest Du den Ausdruck so formulieren: [c] if (PINC & 0x08) [/c] Gruß! Sven
hier is übrigens immer wahr: [c] if (PINC | 0x08) { i++; PORTC=0x00; } [/c] es soll ja der taster gedrückt werden und beim loslassen, wird i erhöht...
-
Thread
Avr assmebler Programm funktioniert nur sporadisch
ldi temp, 1<<toie0 | 1<<toie1 out timsk, temp ldi led1, 150 ; Grün an ldi temp,0xff ; portc als Ausgang out ddrc, temp sei pwmloop: out portc, outport rjmp pwmloop pwm: inc pwmcounter ldi outport,0xff ;Alle leds an cp pwmcounter
http://www.mikrocontroller.net/articles/AVR-Tutorial:_PWM Und Push,Pop nicht vergessen. Wie das geht siehe http://www.mikrocontroller.net/articles/AVR-Tutorial:_Stack Gruß gtf
-
Thread
LED, µC und autobatterie
330 Ohm in Serie zur Diode schalten, wenn Du nicht möchtest dass der uC-Ausgang schon früh kaputt geht. Mein Vorschlag wäre, dass Du den Elko und die Diode weglässt und die Helligkeit per Software (PWM) steuerst, wenn Du schon ein uC hast! Dann kannst Du Ein- und Ausschaltgeschwindigkeit per SW steuern
) #define PORT_A &PORTA, &DDRA, &PINA #define PORT_B &PORTB, &DDRB, &PINB #define PORT_C &PORTC, &DDRC, &PINC #define PORT_D &PORTD, &DDRD, &PIND #define PORT_E &PORTE, &DDRE, &PINE #define PORT_F &PORTF, &DDRF, &PINF #define PORT_G &PORTG, &DDRG, &PING #endif //_MAIN_H_ [/c]
-
Thread
invertierten UART Empfangen mit Atmega88
C5 mit RXD. Immer wenn wenn ein Pin change auf D2 kommt, ändere ich C5 was dann in den RXD Pin geht. Problem ist: es kommt hin und wieder zu bitfehlern (selten, aber sie kommen), die nicht auftreten wenn ich die invertierung in hardware mache. Das ist der Code: ISR(PCINT2_vect) { if(PIND & (1<<PIND2)) { PORTC &= ~(1<<PORTC5); } else { PORTC |= (1<<PORTC5); } } void PCINT_Init() { PCMSK2 |= (1<<PCINT18); // D2 PCICR |= (1<<PCIE2); } Jemand ne Idee ?
-
Thread
Schiebregister
ausmacht, kannst du "mit den Buchstaben" und damit habe ich mich noch nicht beschäftigt. es geht mir ja nur darum wie ich diese Bits... ka wie ich das bezeichnen soll in das schieberegister kriege.
einen Pin auf 1 setzen, dort mal einen Pin auf 0 setzen vertrauen. Wenns danach immer noch nicht geht, hast du irgendwo einen Verdrahtungsfehler. Aber Achtung: Nur weil aus deinem Schieberegister da jetzt die richtigen Bits rauskommen, leuchtet höchst wahrscheinlich in deiner Matrix noch nichts
-
Thread
Float - Wert über UART setzten
10]; sprintf(char_wert,"%.1f",float_wert); Ansatz 2: Zugriff auf den Floatwert mit Pointer, Geht auch nicht, da nicht als Asci Übertragen wird. unsigned char *p; p = (unsigned char) float_wert; char_wert[0]= *p++; char_wert[1]= *p++; char_wert[2]= *p++
Aktivieren_der_Floating_Point_Version_von_sprintf_beim_WinAVR_mit_AVR-Studio > Ansatz 2: > Zugriff auf den Floatwert mit Pointer, > Geht auch nicht, da nicht als Asci Übertragen wird. Eben. Diese Version legst du am besten gleich wieder ad acta
-
Thread
Mikrocontroller hängt Interrupt schuld?
for(;;){ Das ist eine Endlosschleife im Interrupt, sprich er geht einmal rein und nie wieder raus.
> Das ist eine Endlosschleife im Interrupt, sprich er geht einmal rein und > nie wieder raus. Die for-Anweisung ist in der main-Funktion.
-
Thread
Verständnisproblem bei Erzeugung eines 36kHz Signals mit ATMega8
ausgegeben wird. Nix Oskar. Wieso? >// timer 2 interrupt routine >ISR(TIMER2_COMP_vect) >{PORTC=PORTC^(flag); // if bit 3 of “flag” is set, PORTC3 Geht auch in Software. Doch Oskar. Allerdings ist unklar, warum es beim TO nicht funktioniert. MfG Spess
-
Thread
PIC Mikrocontroller
warum kann ich so keine 2 Ausgänge gleichzeitig auf logisch 1 schalten?? WIe meinst Du das? Was geht denn nicht?
warum kann ich so keine 2 Ausgänge gleichzeitig auf logisch 1 schalten?? Wer sagt, dass es nicht geht. Bzw-Weise woran machst du fest, dass es nicht geht ? Taktquelle, Stromversorgung, Schaltplan, Layout, kompletter Code, ist PORTA definiert, wie sieht die wait loop aus, Config-Bits ? Es gibt
-
Thread
Bräuchte hilfe bei der Programmierung eines Atmega 32
besser zu verstehen hier auch mal eine Kleine Programm info: PortB = Eingänge PortD = Ausgänge PortC = Ausgänge Wenn PortBO und PortB4 High sind solle PortC0 auf High gesetzt werden und an PortC1 sollen 80 Pulse rausgegeben werden. Nach den 80 Pulsen soll PortD0 auf High gesetzt werden bis von
dass hier jegliche Grundlagen fehlen und der Autor die ersten Hausübungen, in denen es um Schleifen geht (traditionell in einer der ersten Stunden), komplett geschwänzt hat.
-
Thread
DS2405 1 Wire Auswerten
Byte senden, Byte empfangen. Solche Routinen findest auch im netz bzw. hier. Beim 1-wire Reset geht es darum das du die Datenleitung mind. 480µs auf low ziehst danach wieder auf high. Ein angeschlossener Sensor muss dann die Datenleitung für 60µs-120µs auf low ziehen. Das musst du dann Detektieren
mit dem Reset usw. ist nicht das problem.Die Routine habe ich schon geschrieben. Config 1wire = Portc.7 Dim Sp(9) As Byte 1wreset ' Initialisierung 1wwrite &HCC ' überspringe ROM-Befehl 1wwrite &H44
-
Thread
Linefollower: I-Anteil wählen
************************************************************ while(!cancel_mode) { if( PORTC & (1<<PC0) ) LED_AUS else LED_EIN //BEARBEITER SENSOREN UND REGELDIFFERENZ############################ //lese Sensorwerte ein sensorL0 = GetADC_8bit(0); sensorL1
in den Regler reinschicke ist der Bereich, den ich mir durch die Sensoren ausrechne. Der Bereich geht fließend und linear von -345...345. Es gibt zwar sehr sehr kleine Lücken dazwischen, aber die sind jetzt nicht der Rede Wert. Die Differenz ist -100 wenn Fehlerhafte Werte auftreten und dadurch soll
-
Thread
XMEGA Timer0 und Timer1
will nich... Ich habe für beide die gleiche Konfiguration genommen: //PinX PinN als Ausgang PORTC.DIR |= (1<<PIN0); //Periode ins PER-Register TCC0_PER = 0x1388; // 1388h entspricht 5000d //TimerCounterXN.ControlRegisterA = Prescaler TCC0.CTRLA |= TC_CLKSEL_DIV8_gc; //SingleSlope PWM
TC_WGMODE_SS_gc; //CaptureCompare-ENable aktivieren TCC0.CTRLB |= TC0_CCAEN_bm; //Ausgangspin PORTC.DIR |= (1<<PIN1); //Periodendauer-Auflösung ins PER-Register TCC1_PER = 0x200; //TimerCounterXN.ControlRegisterA Prescaler TCC1.CTRLA |= TC_CLKSEL_DIV1024_gc; //WaveGeneratioMode_SingleSlope
-
Thread
PIC16lf1823 General purpose I/Os mit Schmitt Trigger ?
es richtig verstanden habe, willst du einen General Purpose I/O von TTL auf ST umschalten. Und das geht nicht. Ich bin jetzt auch nicht der PIC Experte, bin mir aber ziemlich sicher. Vielleicht kann das noch jemand bestätigen.
Guck mal die PIC18(L)F1xK50 an. z.B. Den 18F14K50, der hat den gesamten PORTC als ST-I/O. edit: Ich hab nicht drauf geachtet, wie viel Strom er zieht, aber wenn es nicht so schnell sein muss, bei 32kHz braucht er grad mal 20µA
-
Thread
Eine Lcdanzeige mit einem Atmega8 steuern
sry falsches geht nur zu öffnen mit eagle das jetzt der schalt plan
Hi >sry falsches geht nur zu öffnen mit eagle das jetzt der schalt plan Das auch nur mit Eagle. MfG Spess
-
Thread
atmega32 Ports kaputt?
Zeig deine Software, sonst geht hier gar nichts.
. Aber diesmal nicht die Kabel kreuz und quer, sondern vom 7805 gehts auf die beiden waagrechten Verteiler und von dort gehts mit kurzen! Brücken auf die jeweiligen IC-Pin Schienen im Steckbrett Den Programmer wild zu verdrahten ist schon ok, das geht nicht anders
-
Thread
LCD an Atmega8 PortC
Hallo! Ich möchte gerne ein LCD an PortC des Mega 8 anschliessen. Ich hab jetzt eine Routine für einen Mega32 gefunden und möchte diese gerne verwenden. Jetzt hab ich nur ein Problem. Der Mega32 hat am PortC mehr anschlüsse. Und das
Geht aber um Mega8 :-)
-
Thread
compilerfehler: multiple definition of `fuerporta'
void multiplexSetColumns1(void) { PORTC = (muster1>>1); fuerporta = muster1 & ~0b111111110; fuerporta = (fuerporta<<multiplexLastColumn); PORTA = (fuerporta | PORTA); } // 5V Spannungen auf Säulen legen (Anodenpins bei LEDs) void multiplexSetColumns2(void) { PORTC = (muster2>>1); fuerporta = muster2 & ~0b111111110; fuerporta = (fuerporta<<multiplexLastColumn); PORTA = (fuerporta | PORTA); } void multiplexSetLevel(int freischaltung, int level) {