-
Thread
Inbetriebnahme ENC28J60 Radig/RoeBue Arduino nano3
command_setvar}, {"TIME",command_time}, //{"PING", command_ping}, {"PORTB",command_portb}, {"PORTC",command_portc}, {"PORTCSET",command_setPORTC}, [/code] diese Befehle werden wohl über die serielle Schnittstelle gegeben. Bisher habe ich mit HTERM noch keinen großen Effekt festgestellt wenn
Manfred schrieb im Beitrag #4772364: > Das heißt also, mit fester IP im Rechner aus 192.168.0.x geht das, gut? ja. Das geht so prima ! das Dumme ist nur gewesen daß ich so natürlich nicht mehr ins Internet kam. Ich muss die Adressen natürlich so abstimmen daß beides geht. Vielen Dank übrigens
-
Thread
AVR INT1 löst bei INT0 aus
sei(); // aktiviert Global Interrupts } ISR(INT0_vect) // ISR für INT0 { PORTC = 0b00001010; } ISR(INT1_vect) // ISR für INT1 { PORTC = 0b00000101; } /******************************************************************/ // main /***************************
Da M. schrieb im Beitrag #4770447: > ISR(INT0_vect) // ISR für INT0 > { > PORTC = 0b00001010; > } > > ISR(INT1_vect) // ISR für INT1 > { > PORTC = 0b00000101; > } Hallo, ich bin nicht unbedingt der Meinung, dass die Taster das ursprüngliche Problem sind..
-
Thread
AVR und C++ - ein Versuch
Bisher habe ich IO per #define definiert und über inline Funktionen bedient. #define LED3 (PORTC, 3) Schöner wäre natürlich: dInput button1(PORTC,1); dOutput led3(PORTC,3); Ja diese MCUCPP ist sehr schön gemacht. Danke für den Link.
meistgenutzte bei mir, aber die Seite habe ich noch nie gesehen :( Also denne: in die Hände spucken und los geht's ;)
-
Thread
Pin ist Active Low, warum?
offener PIN bedeutet meist high, mehr high geht halt nicht, Abhilfe wäre ein pulldown zu schalten oder einzulöten. Wobei ich immer einen externen pullup R vorziehen würde, Begründung: 1. Externe Pullups kann keiner per SW abschalten! 2. Pullups
Joachim B. schrieb im Beitrag #4755048: > offener PIN bedeutet meist high, mehr high geht halt nicht ... Das ist definitiv *falsch* Das mag vielleicht zu TTL-Zeiten so gewesen sein. Bei aktuellen µC ist ein offener Eingangspin erstmal ein nicht zulässiger Betriebszustand, weil der Eingang
-
Thread
einfachstmögliche Fehlerbehandlung I2C gesucht
programmierte Wartezeit von 5-10ms die ich bis jetzt in jedem Beispiel fand. Ein komplettes Beschreiben geht dann deutlich schneller.
clock stretching zusammengeht, > da könnte man mit einem anderen Port warten ob SCL wieder high geht. das hier war mir neu, könnte man mit Timeout für SCL prüfen am AVR ja einbauen Christian M. schrieb im Beitrag #4755948: > dann geht das mit 8mal > wackeln am Clock. Dafür gibt's sogar ne AN
-
Thread
AVR als EPROM benutzen (C-Optimierung)
Tim T. schrieb im Beitrag #4751313: > PORTC = pgm_read_byte(&speicher[(PINB << 8) | PINA]); Was passiert, wenn Du stattdessen > PORTC = pgm_read_byte(&speicher[(PINB << 8) + PINA]); verwendest?
.ORG FIRSTBOOTSTART main: ;1 in ZL,PINA ; 1 in ZH,PINB ; 1 lpm R0,Z ; 3 out PORTC,R0 ; 1 ;2 in ZL,PINA ; 1 in ZH,PINB ; 1 lpm R0,Z ; 3 out PORTC,R0 ; 1 ;3 in ZL,PINA ; 1 in ZH,PINB ; 1 lpm R0,Z ; 3 out PORTC,R0 ; 1 ... ;511 in ZL,PINA
-
Thread
Asuros fahren nicht
(1 << PD7); // Wheel LED OFF DDRC |= (1 << PC0) | (1 << PC1); // Output => no odometrie PORTC |= (1 << PC0) | (1 << PC1); } if (!left) PORTC &= ~(1 << PC1); if (!right) PORTC &= ~(1 << PC0); } /* function to read out line follow phototransistors (left,rigth) */ void LineData(unsigned
> Die von Asuro empfohlene Toolchain mit WinAVR und dem PN > geht leider mit neuem Windows nicht mehr. WinAVR habe ich allerdings erst vor einer Woche ohne Probleme auf einem frisch installiertem Laptop getestet. Wo hakte es denn?
-
Thread
C code UART Atmega und Optimierung
case 'C': PORTC |= ( 1 << PB2 ); break; case 'c': PORTC &= ~( 1 << PB2 ); break; case 'D': PORTC |= ( 1 << PB3 ); break; case 'd': PORTC &= ~( 1 << PB3 ); break; case 'E': PORTC |= ( 1 << PB4 ); break; case 'e': PORTC &= ~( 1 << PB4 ); break; case 'F': PORTC |= ( 1 << PB5 ); break; case 'f': PORTC &= ~( 1 << PB5 ); break;
-
Thread
kurzer Denkanstoß zur Pin Ansteuerung per Uart im ATMega
Byte? [code] einschalten: C12C14 -> PortC 2 an, 4 an. ausschalten: C02C04 -> PortC 2 aus, 4 aus. [/code] ist doch recht lang wenn es um alle geht. Es sollte noch verständlich sein, also nicht einfach [code] ein: C10 -> C2 C4 an
#4740515: > Was wäre eine einfache und simple Comandozeile, mit wenigen Byte? > einschalten: C12C14 -> PortC 2 an, 4 an. > ausschalten: C02C04 -> PortC 2 aus, 4 aus. > > ist doch recht lang wenn es um alle geht. Wenn es um alle geht, könnte man z.B.[pre]einschalten: C1A -> PortC alle ein. > ausschalten
-
Thread
Fragen zu meinem Batterietester
); // orange led soll leuchten PORTC &= ~(1<<PC2); } else if (voltage <= 1.4) { PORTC |= (1<<PC3); _delay_ms(leddeelay); // rote led soll leuchten PORTC &= ~(1<<PC3); } } [/c]
); // orange led soll leuchten PORTC &= ~(1<<PC2); } else if (voltage <= 1.4) { PORTC |= (1<<PC3); _delay_ms(leddeelay); // rote led soll leuchten PORTC &= ~(1<<PC3); } } } [
-
Thread
Anfänger Frage zu variable hochzählen
include <util/delay.h> #include <stdbool.h> #include <avr/io.h> #define led (1<<PC0) #define ein PORTC |= #define aus PORTC &= ~ bool tastergedrueckt = true; int main(void) { DDRC = (1<<PC0); PORTD =(1<<PD0); void ledblink() { PORTC |= (1<<PC0); _delay_ms(400); PORTC
in dieser Schleife zu initialisieren. Schau, wo deine Endlosschleife beginnt und wie weit sie geht und überlege Dir dann einfach mal, was durch den Ausdruck int a = 0; innerhalb dieser Endlosschleife bewirkt wird. Apropos, auch das [c] #define led (1<<PC0) #define ein PORTC |= #define
-
Thread
Hilfe TIMER4_OVF_vect wird nicht ausgeführt
<< PC3 ) | ( 1 << PC4 ) | ( 1 << PC5 ); // PB0 bis PB5 Stepper-Interface (arduino 32 bis 37) PORTC |= ( 1 << PC0 ) | ( 1 << PC1 ); // Disable Stepper DDRE &= ~( 1 << PE4 ); // Tacho-Input for Motor-Fan PORTE |= ( 1 << PE4 ); // Enable Pullup EICRB |= ( 1 << ISC40); // Any
ich hab mal die anderen Timer deaktiviert (die machen ganz anderen Kram) und siehe da... ZACK.. es geht ! Verdammt.. dann ist mein µC zu beschaeftigt mit Interrupts. Da muss ich da das ganze wohl mal überarbeiten. Vielen Dank @mschoeldgen
-
Thread
Hilfe ADC ATMEGA8
Ich glaube, die portc-pins als ausgang zu konfigurieren, hilft deinem vorhaben auch nicht so richtig nach vorn. Lass die portc-pins mal auf eingang.
Ja, sie leuchtet einmal auf, und geht wieder aus
-
Thread
etwas akademische Frage zu C
Fußnote doch eher drauf an, was *nachher* drinstand und nicht vorher?!? Also: PORTA = PORTB = PORTC = 0xFF; wurde vor der Draft-Änderung interpretiert als: PORTC = 0xFF; PORTB = PORTC; PORTA = PORTB; Also: Was jeweils genommen wurde, war der Wert *nach* der vorhergehenden Zuweisung
Klar geht das: [c] for(uint8_t i=0;; i++) { // ... if(i==255) break; } [/c]
-
Thread
Vergesslicher, ungeduldiger atmega bei UART
// Asynchron 8N1 ist bei mega 168 default UBRR0 = 129; // Pullups für Hall Sensoren PORTC|= 0b00111000; char sensor[200]; uint8_t sensorold = 0; uint8_t sensorbin = 0; while (1){ sensorbin = 0; if ( PINC & (1<<PINC5) ) { sensorbin
Hi, geht es mit [c] If(PINC != sensorold) { utoa(sensor,PINC,10); sensorold = PINC; while (i <= l){ uart_putc(sensor[i]); i++; }; } [/c] Gruß JackFrost
-
Thread
Attiny1634 - pb3 input problem
ATtiny1634_io-test.c * */ #include <avr/io.h> // outputs, low-active #define EN_DEBUG_LED PORTC &= ~(1<<PC1); #define DIS_DEBUG_LED PORTC |= (1<<PC1); // inputs, low-active #define INPUT1 !(PINB & 1<<PB3) // geht noch ned #define INPUT2 !(PINC & 1<<PC0) int main(void) {
Hallo Markus, bitte, gerne ;-) Freut mich, dass es jetzt geht! dir auch eine schöne Woche Gruß, Sascha
-
Thread
bitte um hilfe bei switch case aufbau
ich habe die Hardware überprüft verkabelung usw. mehrmals, wenn ich es mit ner if Anweisung mache gehts. Es muss doch nur noch ne Kleinigkeit sein, aber welche?
Huber M. schrieb im Beitrag #4679294: > wenn ich es mit ner if Anweisung mache gehts. Damit hast Du schön bewiesen, welches Werkzeug das richtige dafür ist. Warum willst Du unbedingt das falsche nehmen?
-
Thread
Entprellen mikrocontroller-Anhang
PC5; //Als Ausgang setzen for(i = 0; i < 2; i++){ if( debounce( PIND, PD6 ) ) PORTC ^= 1<<PC5; //toggle/schreibe PC5 in PORTC was verbirgt sich hinter der debounce( PIND, PD6 ) function? und weiter sollte es nicht DDRD |= 1<<PD6 heißen ?
schrieb im Beitrag #4666051: > was verbirgt sich hinter der debounce( PIND, PD6 ) function? Es geht um den Taster auf einem Drehgeber, also neben der Möglichkeit ihn zu drehen noch um die Möglichkeit auf ihn draufzudrücken. Das ist ein normaler Taster der hier mit entprellt wird wie hier: https
-
Thread
IR Transistor empfängt zwei Signal bei einen Tasten druck(Flag 0 und dann Flag 1)
die LED geht auch aus. Okay. > Wenn ich aber Sleep dabei lasse. Geht mein Gerät nicht aus. Bzw es wird > nicht gesendet das IR-Frame. Aber meine Fernbedienung geht schon aus. Das ist merkwürdig. Ich bin
irsnd_send_data(&irmp_dat, TRUE); //ON Command senden um es auszuschalten _delay_ms(1000); //Warten PORTC &= ~(1<<LED_25); //Alle LEDS auschalten PORTC &= ~(1<<LED_50); PORTC &= ~(1<<LED_75); PORTC &= ~(1<<LED_100); systemOn = 0; //System dekativieren _delay_ms(
-
Thread
Pins und Bits verknüpfen
Denkfehler? [code] DDRC = (1 << DDRC1) |(0 << DDRC2) | (0 << DDRC3) | (0 << DDRC4) | (0 << DDRC5); PORTC = (1 << PORTC2)| (1 << PORTC3)| (1 << PORTC4)| (1 << PORTC5); Ausgabe = (PINC5 << 0) | (PINC4 << 1) | (PINC3 << 2) | (PINC2 << 3); //Ich will hier Bit 0-3 entsprechend der PINC's setzen
gestalten als ich es in der Ausgaberoutine programmiert habe [code] //macros #define Heizung_an (PORTC |= (1 << PORTC1)); // Funktion um das Relais zu schalten #define Heizung_aus (PORTC &= ~(1 << PORTC1)); // Funktion um das Relais zu schalten [/code] Gruß Dietmar
-
Thread
Timer OCF0 Flag zurücksetzen
versuche jetzt mit einer Aufgaben-Lösung klar zu kommen, die mir nicht ganz logisch erscheint. Es geht um Signal Erzeugung mit Timer0 in CTC Mode mit Atmega AVR. Die Lösung ist als jpg Bild angehängt. Was mir dabei nicht klar ist, warum wird OCF0-Flag durch 1 setzen gelöscht? wenn als erstes
bleibt solange an dieser Stelle bis das OCF0-Flag gesetzt wurde. Ist dies der Fall, wird ein Pin an PORTC getoggelt, das Flag zurückgesetzt und das ganze wiederholt. Vermutlich wird in einem bestimmten Intervall eine LED ein-/ausgeschaltet.
-
Thread
PWM mit Tastern Regeln
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 1 Config Portc = Input Config Portb.1 = Output Config Portb.2 = Output Config Portb.3 = Output Config Portb.4 = Input Config Portb.5 = Input
Bitwait-Befehl > zu lösen sein, oder? Nein, denn da wartest du ewig bis genau dieser Pin auf Null geht. In der Zwischenzeit kannst du den anderen Taster kaputtdrücken, passiert nichts. ElektronikEckart schrieb im Beitrag #4641768: > Die genannten Fehler habe ich jetzt verbessert, kann aber nicht
-
Thread
SPI Atmega16M1
. (Aktueller Stand) [c] #include .... int main(void) { SPI_INIT(); while(1) { PORTC &= ~(1 << PC5); SPI_Transfer(0b00000101); PORTC |= 1 << PC5; } return(0); } [/c] Erkennt jemand einen Fehler in der SPI_INIT? die Transfer Funktion sollte so auf jeden fall in Ordnung
AVRe schrieb im Beitrag #4641315: > PORTC &= ~(1 << PC5); Als Ausgang gesetzt ? DDRC |= (1<<PC5); Normal ist doch PortB.4, also: DDRB |= (1<<PB4); und dann: PORTB &= ~(1 << PB4); Auch: [c] DDRB = (1 << DDB1) | (1 <
-
Thread
Folientastatur permanente ausgabe
("7 "); if ( PIND & (1<<PIND4) ) usart_transmit_string("* "); PORTC &= ~(1 << DDC0); // column 1 low PORTC |= (1 << DDC1); // column 2 high if ( PINC & (1<<PINC3) ) usart_transmit_string("2 "); if ( PINC & (1<<PINC4) ) usart_transmit_string("5 ");
// Pullup an PORTD |= (1 << DDD4); // Pullup an sei(); // Global Interrupts activate PORTC |= ((1 << DDC0) | (1 << DDC1) | (1 << DDC2) | (1 << DDC3)); // all rows high //PORTC &= ~(1 << DDC1); while (1){ PORTC &= ~(1 << DDC0); // row 1 low if ( !(PINC & (1<<PINC4)) ) usart_transmit_string
-
Thread
LDS Befehl funktioniert im controller nicht.
Hallo zusammen bei folgendem Programmteil geht offensichtlich der lds (1. Zeile nach Timer1_comp_B:)Befehl nicht. Im Simulator klappt alles, aber die serielle Schnittstelle gibt nur hx00 aus. Wenn ich temp3 mit anderen Werten lade funktioniert
es sein dass man den Timer nicht auslesen kann, oder was mache ich > denn da verkehrt. Und warum geht das im Simulator?? AVR Simulator ist sowieso Sch... Und man soll nicht versuchen erst TCNT1H zu lesen... Versuche es erst mit TCNT1L und dann TCNT1H ;-)
-
Thread
Atmega88P, Blinklicht in AtmelStudio 7 simulieren
ehrlich.. du willst dich doch hier nur wichtig machen ohne auch nur annähernd zu wissen worum es geht. Ich kann auf deine "Hilfe" verzichten. Vielen Dank für deine Beteiligung. Gruß Dennis
ehrlich.. du willst dich doch hier nur wichtig machen ohne auch nur > annähernd zu wissen worum es geht. Ich kann auf deine "Hilfe" > verzichten. Vielen Dank für deine Beteiligung. Laller
-
Thread
Pin Change Interrupt PCINT0
Status-LEDs PC0, PC1, PC2, PC3 DDRC |= ((1<<DDC0)|(1<<DDC1)|(1<<DDC2)|(1<<DDC3)|(1<<DDC4)); PORTC &= ~((1<<PORTC0)|(1<<PORTC1)|(1<<PORTC2)|(1<<PORTC3)|(1<<PORTC4)); // -- Konfiguration PCINT0 Interrupt an Pin PB0, PB1 & PB2 -- DDRB &= ~((1<<DDB0)|(1<<DDB2)|(1<<DDB2)); PORTB |=
Gebastelt). [c] ISR (PCINT0_vect) { for (unsigned char i = 1; i <=15; i++) { PORTC = i; _delay_ms(200); } PCIFR |= (1<<PCIF0); } [/c] So geht es nun. Aber warum wird das PCIF0 Flag nicht selbständig nach der Abarbeitung gelöscht?
-
Thread
Assembler Programm zu umständlich
kommt ggf. noch der CRT0-Startcode aus der C-Bibliothek. Muss ja, wegen Stack. [c] PORTC = (PORTC & 0x0f) | i; // Ausgabe von i auf PORTC[0..3] [/c] Die unteren 4 bits sollen ausgeblendet werden, oder ? [c] PORTC = (PORTC & 0xf0) | i; // Ausgabe von i auf PORTC[0..3] [/
den Stack-Pointer mit 0 initialisieren. Die neueren setzen ihn stattdessen auf RAMEND. > PORTC = (PORTC & 0x0f) | i; // Ausgabe von i auf PORTC[0..3] > > Die unteren 4 bits sollen ausgeblendet werden, oder ? > > PORTC = (PORTC & 0xf0) | i; // Ausgabe von i auf PORTC[0..3] Ja
-
Thread
ATMEGA8 - ULN2803 - LM23-K
Geht leider immer noch nicht.
>Geht leider immer noch nicht. Den ULN2803 falsch rum eingebaut?
-
Thread
Verständnis Zugriff auf IO-Ports, Portierung von AVR zu ESP
und verstehe den Quellcode nicht vollständigt. Kann mir jemand dabei auf die Sprünge helfen? Es geht um folgenden Code. [c]#define portOfPin(P)\ (((P)>=0&&(P)<8)?&PORTD:(((P)>7&&(P)<14)?&PORTB:&PORTC)) #define ddrOfPin(P)\ (((P)>=0&&(P)<8)?&DDRD:(((P)>7&&(P)<14)?&DDRB:&DDRC)) #define pinOfPin
-
Thread
Atmega8 und I2C-Display startet nicht
<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); } void Port_init() { DDRB |=(1<<PB0);// PB0 Ausgang (LED) PORTC |=(1<<PC4);//PC4 Pullup (SDA) PORTC |=(1<<PC5);//PC5 Pullup (SCL) } void I2C_init() // (100KHz) { TWSR = 0; TWBR = 12; } void uart_send_string(const char *s) { while(!(UCSRA&(1<<UDRE
ausgegeben, das hat wohl zuviel Verzögerung gebracht. Hab alles UART-Anzeigezeugs rausgenommen und ES GEHT. Ich hab den NoBlinkCursor nach rechts verschoben und XY anpeilen geht auch. :-p Ich frag mich jetzt nur, warum eine FOR-Schleife nicht geht?! for(i=0;i<10;i++) CursorMoveRight In Kurzform geschrieben
-
Thread
DMX-Transmitter Code von Henne’s Sites ändern
> Dieser kann aber auf 1% und besser kalibriert werden, was ja > ausreichend genau ist. Wie geht das? Kann mir jemand folgenden Befehl erklären: [c]DmxField[0]= ~(PINC);[/c]
vollständig macht) immer zunächst ein Break gesendet (damit die diversen Empfänger wissen, jetzt gehts los, quasi ein Synchronzeichen) und dann 512 Bytes (ein sog. "Universum") und dann gehts von vorne wieder los. Den Break kann man übrigens als "dirty trick" auch dadurch erzeugen, indem man zunächst
-
Thread
Attiny2313 + LM7001 + Bascom - Wer kann helfen?
Freude, das es nun endlich geht ... Pustekuchen ... Es geht auch mit deinem Code nicht. Der Sinus will sich einfach nicht verändern. Ich habe natürlich auch die Frequenzwerte für Nwert immer mal verändert um zu schauen ob es daran
Marc V. schrieb im Beitrag #4589875: > Ja, es geht nun mal nicht anders. Das sehe ich anders. Zielgerichtete Fehlersuche geht anders. Es fehlen (nur als Beispiel) Angaben zur Frequenz des VCO bei 1V Regelspannung und 4V Regelspannung. Woher weiss
-
Thread
DS18S20 wird vom ATmega8 nicht gefunden
swstack = 64 $framesize = 64 Config Lcd = 20 * 4a , Chipset = Ks077 Config Lcdpin = Pin , Db7 = Portc.0 , Db6 = Portc.1 , Db5 = Portc.2 , Db4 = Portc.3 , E = Portc.4 , Rs = Portc.5 Initlcd Config 1wire = Portd.7 Const Ds18s20 = &H10 Const Skiprom = &HCC
m8def.dat" $crystal = 8000000 Config Lcd = 20 * 4a , Chipset = Ks077 Config Lcdpin = Pin , Db7 = Portc.0 , Db6 = Portc.1 , Db5 = Portc.2 , Db4 = Portc.3 , E = Portc.4 , Rs = Portc.5 $hwstack = 40 $swstack = 40 $framesize = 60 Declare Sub Temperatur_aus_ds18b20 Declare Sub Temperatur_aus_ds18s20
-
Thread
ATmega32 16PU erster Schritt mit AtmelStudio
Und das Board hat auch nur den Chip und ein paar LEDs dran. Mit meinem "jungfreulichen" Chip geht das leider nicht. Bisher habe ich auch nur ISP angeschlossen und eben die eine LED wie oben beschrieben. Ich vermute, dass es mit der Einstellung im Programm zu tun hat. Das mit den Fuse-Bits
endif #include <avr/io.h> #include <util\delay.h> int main(void) {DDRC |= (1<<6); do{ PORTC |= (1<<6); _delay_ms(1000); PORTC &= ~(1<<6); }while(1); } [c]
-
Thread
AVR- Taster an PortPin anschließen
Start DDRD &= ~(1<<PD3); //Int1 DDRC &= ~(1<<PC4); //Ende // Pull-up resistor PORTC |= _BV(PC3); PORTC |= _BV(PC2); PORTD |= (1<<PD1); // Enable pull-up resistor PORTD |= (1<<PD2); // Enable pull-up resistor PORTC |= (1<<PC4); // Enable pull-up resistor
Jo, die funktioniert. Im Moment geht das Programm immer in die IF-Abfrage rein und die grüne LED blinkt.
-
Thread
Atmel Studio 7 - Atmega328p - Befehle werden rot unterstrichen
und DDRB5. Wie dem auch sei, diese Sachen einfach von einem Patchlevel zum nächsten umzubenennen geht gar nicht. Stell Dir mal vor, man würde sowas in der Windows API oder bei Linux in der libc machen! Dann müssten die Programmierer auf der ganzen Welt der Welt zusammen gerechnet Hundert-Tausende
anbieten. > Wie dem auch sei, diese Sachen einfach von einem Patchlevel zum nächsten > umzubenennen geht gar nicht. Absolut richtig!
-
Thread
ATtiny1634 kein Eingang mit Pullup?
=0xff; DDRB=0x00; PORTB=0xff; while (1) { if (PINB&(1<<DDB3)) { PORTC=0x00; } else { PORTC=0xff; } } } [/C] Was kann die Ursache sein? Fuses falsch? Danke im Voraus! Beste Grüße Dani
noch nicht... EDIT scheinbar kann ich diesen Port nicht als Eingang verwenden. Auf dein PAn geht es.
-
Thread
SPI immer gleiche Antwort
von SPC müssen die Daten stabil sein. CS muss rechtzeitig /vor/ der Übertragung auf Low liegen und geht irgendwann /danach/ wieder auf High.
>CS muss rechtzeitig vor der Übertragung auf Low liegen und geht irgendwann >danach wieder auf High In seinem Programm geht es nie High.
-
Thread
FT800 / FT810 Library
// EVE_memWrite16(REG_TOUCH_RZTHRESH, EVE_TOUCH_RZTHRESH); /* eliminate any false touches */ geht nicht ! undeclared ! touch (resistiv) geht aber gut (wie vorher).
Kann man nur auf einem Video sehen...geht das hier ?
-
Thread
PIC18F66 Konflikt zwischen RA0 und Init CAN-Modul
TRISC = 0x08; // RC3(SCK) & RC4(SDI) as input, others as output PORTC = 0x00; // clear PORTC TRISD = 0x00; // set PORTD as output TRISE = 16; // RE4(CAN RX) as input, others as output (CAN TX
configureCAN(); // Configure CAN module Lcd_Init(); while(1) { PORTC = 0x1; Delay_ms(500); PORTC = 0x0; Delay_ms (500); for(k=0;k<4;k++) { PORTB = pin_mux[k]; // set MUX/I0 Delay_ms(1); adc_rd = ADC_Read(0); // get ADC value from
-
Artikel
Fahrradcomputer
Fahrradtachos haben daher einen Meßbereich bis 199 km/h oder darüber. Kurbeldrehzahl. Der Reedkontakt geht auch auf einen Interrupteingang. Temperatur. Der Butterfly hat einen NTC an einem Analogport. Uhrzeit. Die Uhrzeit wird nicht wie beim Butterfly-Demo in Sekunden-, Minuten- und Stundenvariablen sondern
Schließer) ersetzt, betätigt durch einen Magneten 'am Vorderrad (Teil von altem Fahrradcomputer) 'taster2 PORTC.5 wählt die Anzeige aus, langer Tastendruck löscht den jeweiligen Wert ' zu Beginn kann mit dem Poti1 PORTC.0 der Radumfang eingegeben werden. ' 4 K Größe (Demo Version)wird ausgenutzt, es sind keine
-
Thread
TLC5940 mit XMEGA ansteuern
TLC verbunden definiert ist er als Ausgang und initial auf High gesetzt [c]#define GSCLK_PORT PORTC #define GSCLK_PIN 2 //SIN TLC = MOSI #define SIN_PORT PORTC #define SIN_PIN 5 //SCLK TLC = CLK #define SCLK_PORT PORTC #define SCLK_PIN 7 //Blank TLC = SS #define BLANK_PORT PORTC #define BLANK_PIN 4 #define DCPRG_PORT PORTC #define DCPRG_PIN 0 #define VPRG_PORT PORTC #define VPRG_PIN 3 #define XLAT_PORT PORTC #define XLAT_PIN 1 //MISO wird nicht gebraucht #define MISO_PORT PORTC #define MISO_PIN 6 [/c]
-
Thread
Atmega16 PortC p2-5 ohne Funktion
microcontroller Welt und steh vor einem Problem. Hatte mir eine LED Brücke gebaut (8 LEDs) und diese an PortC 0-7 angeschlossen. Dann diese alle mit DDRC = 0xFF; PortC = 0x00; alle auf Low Pegel gesetzt jedoch gehen nicht alle LEDs nur PC0 PC1 PC6 und PC7. Die andern sind ohne Pegel. Hab die selbe Programmierung
Schaltet das JTAG Interface ab, geht auch dauerhaft über die Fuses.
-
Thread
Atmel AVR 168 xplained Mini Code funkt nicht
Hallo, Knut schrieb schon einiges. Noch mal klarer: dies führt zu PortC als Eingang mit Pullup on. [c]DDRC = 0b00000000; PORTC = 0xFF;[/c]
} } [/c] Am Ausgang PD5 müsste dan das gleiche Signal heraus kommen, wie in PC1 rein geht.