-
Thread
ISR Timer Interrupt 1 funktioniert nicht richtig
schalten [/c] Damit werden die Tastenpins auf Output geschaltet; sie geben jetzt 'high' aus (denn nach PORTC hast Du 0xf geschrieben). Jetzt hast Du bei gedrückter Taste einen sauberen Kurzschluss des Ausgangs. Wozu die ganze In/Out-Umschalterei? Weiter habe ich nicht geschaut.
Ein-und Ausgängen... wir benutzen in unserer FH das MINIMexle mit einem ATmega88 und dort hängt an PortC sowohl die Taster als auch die Steuerleitungen fürs LCD. Gruß und danke an alle :)
-
Thread
Mikroncontroller über Programm mit intigrierter GUI steuern
so aus (nur zur Orientierung, wie Ablauf aussieht): Do 'PC2: Signal einschalten (HIGH) Portc.2 = 1 'xx Sekunden Warten Waits 3 'PC2: Signal ausschalten (LOW) Portc.2 = 0 'xx Sekunden Warten Waits 60 Loop Jetzt würde ich gerne die delay-Zeiten über eine GUI
übertragen von Steuersignalen an den USART ersparen Da wirst du wohl nicht drum herum kommen. Um was geht es denn genau?
-
Thread
Problem mit PWM aus Timer2 mit ATmega8535
Timerinitialisierung gemacht wird. Es steht zwar nirgendwo das es so, wie Du es gemacht hast, nicht geht, aber man könnte es mal probieren. Schreib mal bitte ob das geholfen hat. Ein kleiner Hinweis noch: >Spannend ist hier auch, daß im TEXT des >Datenblattes gesagt wird, COM21:0=1 wäre für "toggle
r19 .def counter=r20 .def lcd_page=r21 .equ FREQ=7372800 .equ TIME50MUS=123 .equ LCD_COMMAND_PORTC=0b00001110 .equ LCD_DATA_PORTC=0b00001111 .equ A0=0 .equ CS2=1 .equ CS1=2 .equ READ=3 .equ WRITE=4 ; Steuer-Pins: ; PC0: A0 (0: Command, 1: Data) ; PC1: CS2 (0: right display active
-
Thread
TWI: Quartz notwendig?
geht, völlig problemlos. Lass dich nicht irre machen.
und Bits 6 und 7 auf PC0 und PC1, dann ist das schnell erledigt: PORTB = (PORTB&0xC0)|(tmp&0x3f); PORTC = (PORTC&0xFC)|(tmp>>6);, ggf. noch mittels cli(), sei() Interrupt-fest machen). Einlesen geht sogar noch schneller, falls es Inputs werden sollen. Wenn die zusätzlichen Takte ein Problem sein sollten
-
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
USART wird langsamer und verliert Daten
Es geht also nur ums Durchreichen ? Bei gleicher Baudrate ? Dann braucht man nicht mal ein FIFO, sondern nur ein Register.
Sender 2 Stoppbits einstellen und bei allen anderen jedoch 1 Stopbit. Bei bidirektionaler Übertragung geht das jedoch nicht.
-
Thread
KS0108_Library
t i=0; i<150000000; i++); Schon mal die Ausgaben (Warnungen) deines Compilers gelesen? uint16 geht nur von 0 ... 65535, das macht deine Pause dann schon recht kurz. Sascha
Hi >Benutze ein Atmega 1284p. Da PortC für den Datenbus verwendetet wird stellt sich die Frage, ob das JTEG-Interface von PortC abgeschaltet ist. MfG Spess
-
Thread
[avr-gcc] PORT Definition in einer Liste speichern
müsste ins Flash, weil die doch etwas länger wird. Wie lege ich das an? Einfach ein PROGMEM anhängen geht nich. Und wie greife ich darauf zu?
] = { { &PORTA, 0, &PORTA, 1, 0, 0, &PORTD, 2}, { &PORTB, 0, 0, 0, 0, 0, &PORTD, 2}, { &PORTC, 0, 0, 0, &PORTE, 1, &PORTD, 2}, { &PORTD, 0, &PORTB, 1, &PORTE, 1, &PORTD, 2}, { &PORTE, 0, &PORTC, 1, &PORTE, 1, &PORTD, 2}, { 0, 0, 0, 0, 0, 0, 0, 0} } int main(void) { sei();
-
Thread
1-wire Repeater
der Sensoren (ca. 13 Stk) dem Bus etwas zu viel und geht in die Knie. Deshalb der Repeater. Wenn nun der Master den Bus auf NULL legt, legt der Repeater den Pin des Slaves auch auf Null. Dieser muß dann zu gegebener Zeit den Bus länger auf Null halten
master_aktiv && !slave_aktiv)) { DDRC = _BV(3); DDRD = 0x00; master_aktiv = !master_signal; PORTC = ((PIND & (1<<PIND2)) << 1);; } } } Gruß Christian
-
Thread
AVR/ EIA-485 Hardwareseitig Problem oder Software / Pegel
als Code den Standard angepaßten Code aus den Datenblätern. Somit nix selbstzusammengebrautes. Es geht ja erstmal um die Hardwareseitige Nutzung. Das Protokoll sei erstmal hinten angestellt. Kann mir einer weiterhelfen. Schonmal besten Dank.
Temperature or b) Serial Number return Value;//Data[8]; } ISR (INT0_vect) { PORTC = ~Testo_Send( 'U', TESTO_1); set_SS_X(2); } ISR (INT1_vect) { PORTC = ~Testo_Send( 'U', TESTO_2); unset_SS_X(2); } ISR (INT3_vect) { PORTC = 0xBB; PORTC = ~ReceiveByte(); }
-
Thread
Atmel Mega 8 verhält sich nicht wie in AVR Studio Simulation
von PIN 3/ springt er auf 0x01 bzw. 0x02. Das ganze auf den Atmel geflasht, leuchtet ganz kurz PORTC2 (Also Wert 4) auf, dann springt er auf PORTC0 (Also Wert 1), das Setzen von PIN4 führt zu einem Sprung auf PORTC1 (Also Wert 2), jedoch nur so lange, wie der Taster gedrückt wird, danach erfolgt wieder der Sprung auf PORTC0 (Also Wert 1). PIN3 hat gar keinen Einfluss, offensichtlich wird also immer zu Beginn eines Schleifendurchlaufs der Wert geändert und ich weiß nicht warum. Was ich mich frage, wieso funktioniert
-
Thread
Analog Digitalwandler ATmega8535
= (1<<ADIF); result /= 4; } if (result == 0) { for (;;) { set_Portc(PC1);//Lampe ein wait(2000); reset_Portc(PC1);//Lampe aus wait(2000); } } } Bin für jede Hilfe Dankbar. Gruß Micha
auszuwählen. Ist so direkt nix gegen einzuwenden, nur ein bisschen arg unübersichtlich geschrieben. Geht auch in einer Zeile... @Micha: PORTC.1, an dem anscheinend eine Lampe hängt, wird nirgends als Ausgang konfiguriert. Das kann so nix werden.
-
Thread
#define in main
doch nur den Zugriff auf den Pin Sensorabhaengig umleiten. peter (Gast) schrieb doch schon, wie es geht. Der Rest der Software bleibt davon doch voellig unberuehrt (wie du schon richtig festgestellt hast).
unsigned char Mask ) { *pPort |= Mask; } int main() { SetBit( &PORTA, PA0 ); SetBit( &PORTC, PC1 ); SetBitMask( &PORTC, ( 1 << PC3 ) ); } [/C] Geht das so auch mit CodeVision?
-
Thread
Mega32, LCD HD44780 will nicht.
1000000 Config Lcdpin = Pin , Db4 = Porta.7 , Db5 = Porta.6 , Db6 = Porta.5 , Db7 = Porta.4 , E = Portc.6 , Rs = Portc.7 Config Lcd = 16 * 2 Cls Lcd "Hallo" End [/code] RW ist auf GND gelegt, hab Mehrmals Belegung mit Multimeter durchgecheckt, stimmt soweit. An einen ATMega8 funktioniert
gleich > aussehen. fast > Datenleitung getauscht und läuft! genau einfach tauschen - dann geht es 1a. Gast ^^
-
Thread
Lib für Sensirion SHT1x Sensor an AVR
Verlängerung) ging gar nichts mehr, bis ich den Auslesetakt auf ca. 300kHz reduziert hatte. Seitdem geht es! Es ist also wirklich wichtig, bei Kabellängen über 0,5m auch das "richtige" Kabel zu verwenden! Grüße Hermann
define F_CPU 16000000 ... /* SHT SCK and DATA Port and Pin definitions */ #define SHT_DATA_PORT PORTC #define SHT_SCK_PORT PORTC #define SHT_DATA_DDR DDRC #define SHT_SCK_DDR DDRC #define SHT_DATA_PORT_PIN PINC // ! the PINx register of the DATA Port ! #define SHT_DATA_PIN PC3 #define SHT_SCK_PIN
-
Thread
KS0073 EA DIP204B-4NLW Bascom Frage
'I²C2 Config Pinc.3 = Output 'I²C2 Config Scl = Portc.3 'I²C2 SCL Config Sda = Portc.2 'I²C2 SDA ' ########################### ' ### LCD Konfiguration ### ' ##########
einer lösung geführt, schätze mal das es an der LCD_i2c.lib liegt. direkt am atmega ohne diese lib geht alles ohne problem
-
Thread
LCD lib lässt sich nicht Compil.
ich dann auch schon, wenn ich anstatt DDR(Displ_Port) oder so ählich schreibe DDRA oder DDRC dann gehts, aber waru geht das nicht so? der sinn des ganzen is ja das man alles im LCD.h file konfigurieren kann in nicht immer in den einzelnen routinen rumfingern muss , oder ? dafür muss es doch ne sinvolle
. Du kannst also jetzt: DDR(PORTB) = value; oder DDR(PORTC) = ... schreiben und mußt _nicht_: DDR(DDRB) = value; schreiben. Schmittchen.
-
Thread
Entwicklungsboard Easy PIC v7 (PIC18F45K22)
FALLING_EDGE_INT &PORTB_PULLUPS_OFF); WriteTimer0(0); while(1){ if(counter %2) PORTC= 0xF0; else{ PORTC= 0x0F; counter= 0; } Delay10KTCYx(255); counter++; } } [/c]
Geht der hier nicht in den DEBUG Modus ? #pragma config DEBUG = ON Nimm die ganzen #pragma raus und stell es im Compilerprogramm ein. PROJECT/EDIT PROJEKCT
-
Thread
Problem mit Tastereinlesung
delay_ms(30); // zum entprellen if((PIND.5 == 0)&&(modus_hoch == 0)) { modus_hoch = 1; PORTC.3 = 1; // LED als Anzeige } if((PIND.5 == 1)&&(modus_hoch == 1)) { modus_hoch = 0; PORTC.3 = 0; } } Dabei ist "modus_hoch" eine globale "unsigned char" Variable
if(PIND.5 == 0) { switch (modus_hoch) { case 0: modus_hoch = 1; PORTC.3 = 1; break; case 1: modus_hoch = 0; PORTC.3 = 0; break; } } } Aber auch das klappt nicht :o( Ich geb für heute auf!! Morgen sieht die
-
Thread
LCD+Optimierung
für das > LCD kein Problem, zu schnelles schon. Sein Problem war ja: In einer Debug Version geht es, in einer Release nicht. Debug: die Zeiten von den _delay_xx stimmen nicht, daher geht es Release: die Zeiten von den _delay_xx stimmen, daher geht es nicht. Mfg Karl Heinz
, daher geht es nicht. Es fehlen delays an der richtige Stelle. MFG Falk
-
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
15x 7-Segmentanzeigen (5x 3er) mit Bascom
Statisch mit Schieberegistern geht's ganz einfach http://www.mikrocontroller.net/topic/291503#new
eigenes, beschrifte es ausführlich. Egal in welcher Programmiersprache du das umsetzt, allem voran geht ein Programmablaufplan auf PAPIER. Der Timer soll den Takt für die gesamte Abarbeitung der Routinen vorgeben. Maßgeblich ist er für den Multiplextakt verantwortlich. Es geht auch ohne Timer mit 1000en
-
Thread
Vorwärts/Rückwärtszähler
ausgeben. // Invertierung des Zählerstands für die Ausgabe auf den LEDs // nicht vergessen. PORTC = ~Cnt; while (1) { switch (State) { case 0: if((PINB & (1 << 7)) && Cnt < 254) { Cnt++; PORTC = ~Cnt; State = 1; } else
spielen sich aber nur die Bälle zu und tun im Grunde nichts. Erst wenn keine Taste mehr gedrückt ist, geht es wieder zurück in den Zustand 0.
-
Thread
Problem mit UART zwischen zwei ATmega8
kurz das Sendekabel aus und wieder eingesteckt habe nur noch Datenmüll an - beim langsamen Senden geht das problemlos - bitte gebt mir einen Tipp: Es wird einfach eine Zahl gezählt und gesendet - beim Empfänger am PortC ausgegeben - Port B zeigt Paritätsfehler an.... Sender: [c] # include
(UCSRA &(1<<RXC)) | (UCSRA &(1<<PE)) ){ if(UCSRA &(1<<PE)) {temp=UDR;PORTB=255;} else PORTB=0; } PORTC=UDR; } } [/c] DANKE!!!!
-
Thread
7-Segment Anzeige ansteuern
Hallo Community! Mir geht es darum ein 7-Segment Display mit einem ATmega8 anzusteuern. Das alles möchte ich in C (GCC) machen. Einzelne Zahlen darzustellen ist ja nicht das Problem, jedoch scheitere ich daran Variablen auszugeben
Ok, es gab ein paar Schwierigkeiten (Fehler meinerseits), aber jetzt geht es! Ich danke euch! Edgar
-
Thread
Interner Pullup Widerstand, Buttonansteuerung klappt nicht
CURSOR_HOME 0x02 // Pinbelegung für das LCD, an verwendete Pins anpassen #define LCD_PORT_4 PORTC #define LCD_DDR_4 DDRC #define LCD_D4 PC0 #define LCD_PORT_5 PORTC #define LCD_DDR_5 DDRC #define LCD_D5 PC1 #define LCD_PORT_6 PORTC #define LCD_DDR_6 DDRC #define LCD_D6 PC2 #define LCD_PORT_7 PORTC #define LCD_DDR_7 DDRC #define LCD_D7 PC3 #define LCD_RS_PORT PORTB #define LCD_RS_DDR DDRB #define LCD_RS PB3 #define LCD_EN1_PORT PORTB #define LCD_EN1_DDR DDRB
-
Thread
AVR-C-Compiler !?!
Eingang DDRC = 0xFF; //PortC als Ausgang DDRB = 0x01; PORTD = 0xFF; //Pullup PORTC = 0x00; PORTB = 0x06; } int main (void) { ini(); while(1) { PORTC |= (1 << PC1); _delay_ms(200); PORTC &= ~(1 << PC1); _delay_ms(200); } return 0; } die delays sind aber
Das zweite Link geht nicht, weil das Forum hier zwischen 2 Unterstriche wie der hier _ ein <u> bzw </u> setzt. Das muss man im Browser-Adressleiste korrigieren.
-
Thread
Wie kann ich Daten von einem Register aufsplitten ?!
KS0108B) halbwegs anzusteuern (manuell, also sprich per feste befehle). Das Problem ist das DB0-3 an PortC und DB4-7 an PortB liegen. Gibt es eine möglichkeit, das ich z.b. ein Register wie z.b. 0b11110000 so aufzusplitten, das jetzt die ersten bits 0-3 auf PortC Pin 2-5 ausgegeben werden und die anderen
du dann erst eine UND Verknüpfung mit 1111 0000 und schiebst sie dann 2 stelle nach rechts und mit Portc ODER verknüpfen. Mal dir das mal auf einem Blatt Papier auf, da sieht man das gut. MFG Dieter
-
Thread
LCD und AVR Board
Schaltplan wäre nett. Was geht denn nicht ? Versuchs mal mit einer 44870 Lib. Der Kontroller ist kompatibel.
Ich habe das LCD am PORTB. Ich bin schon alles mehrmals durchgegangen (Aschluss etc) Am portC (eher unwichtig) ist eine lichtschranke angeschlossen. Wenn die Lichtschranke verdeckt ist, geht eine LED für 5s an (auch port C). Parallel dazu geht die LCD Beleuchtung an... das klappt (hat ja
-
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
Interrupt dauerhaft laufen lassen...
danke für den Post. Ich habe es jetzt mal damit versucht (in der Interupt-Routine): PORTC=0x33; //LED'S while(PIND.3==1) { delay_ms(1); } PORTC=0x00; jedoch bleiben die LEDS aus (bzw. gehen so
dass wir uns richtig verstehen. Taster gedrückt -> LED an Taster nicht gedrückt -> LED aus Es geht so, wie Andi schon schrieb. Der ext. Interrupt kann so eingestellt werden, dass die ISR bei jeder Flanke aufgerufen wird. Du musst also in der ISR nur den aktuellen Zustand des Pins einlesen und die
-
Thread
Frage zu Portpinabfrage bei PWM
dass man sie über z.B. das Bit PD7 abfragen kann. Aber in meinem schlauen Buch steht, dass das nicht geht. Und probiert habe ich es auch schon ... geht echt nicht?! :-O Oder habe ich Dich nun verkehrt verstanden? Danke! Dennis
Also ich habe das gerade nochens probiert. Das geht echt nicht..^^
-
Thread
Zeigt her Eure Kunstwerke! Gesperrt Bilder
Sowas geht natürlich auch (Schaltregler LM2594).
Link geht nicht...
-
Thread
Eigenbau Mp3 Player
gewechselt wird, dann wird die SD Karte möglicherweise an einem anderen µC Port angeschlossen, zb PORTC. Dann braucht man nur diese eine Zeile ändern, und alles ist wieder in Butter .equ MMC_Write = PORTC ;//Port an der die MMC/SD-Karte angeschlossen ist also des SPI > So kann ich nicht
ich in Hex/Bin/Dez rechne. Aber nur nicht, wie man damit Text (Dateinamen) darstellen kann. Wie geht das denn?
-
Thread
avr-gcc: direkter Register Zugriff vs structure-mapping und fehlende Optimierung?
Beitrag #7349917: > Dies passiert aber nur, wenn der Zugriff auf das direction-register von > PortC mit structure-mapping zugegriffen wird. Beim direkten Zugriff via > VPORTC_DIR ist gcc nicht mehr in der Lage zu optimieren: [...] > Das ist sehr merkwürdig. > Was geht da vor? (Ein aliasing Problem
> Compiler *darf* den Wert von "counter" nicht raus- oder reinziehen. Ja, klar. Aber darum geht es doch in diesem Beispiel gar nicht. Hier geht es darum, dass in ATOMIC_BLOCK ja zweimal der Zugriff auf das Status-Register mit dem Macro SREG stattfindet. Und weil das so ist und mit dem Fehler
-
Thread
Protokoll für Kommandos an den MC selber schreiben
set PORTE as output PORTE.OUT = 0xff; // set PORTE to high (LED = off) PORTC.DIR = 0xff; PORTC.OUT = 0xff; } void ConfigCLK(void) // Configure ClockSystem { OSC.CTRL = 3; // set internal oscillator to 32MHz while(OSC.STATUS != 3); CCP
alle "dummen" Fragen zu CRC allgemein: http://www.flipcode.com/documents/crc.txt Achja allgemein geht es um Parität: http://de.wikipedia.org/wiki/Parit%C3%A4tsbit Dir reicht es wenn Du einen Bitfehler erkennst und immer wieder neu senden kannst.
-
Thread
ADC LTC2436 an Atmega8, in C
(1 << DDB2); // Slave Select Ausgang DDRC |= (1 << DDC1); // CS_nicht, ADC LTC2436 PORTC |= (1 << PC1); // CS_nicht ein // Enable SPI, Master, Vorteiler 32 SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR1); SPSR = (1 << SPI2X); uint32_t SPI_lesen() { // LTC2436
Mit dem neuen Bauteil geht's gleich besser! Jetzt machen beide Channels grundsätzlich das richtige. Allerdings steht im Datenblatt dass automatisch beim ersten Aufruf des ADCs, Kanal 0 ausgelesen wird, beim 2 Aufruf Kanal
-
Thread
Xmas LEDs AVR 8x8->16x10 längst auf quer
jetzt gehts halbwegs :| ich hatte aus einer Grafik-LCD Routine in Erinnerung, wie man das reinschieben muss ;) einen Teil vom aktuellen Byte und einen Teil des nächsten... Ganz hundertprozentig funktioniert
indx<19;indx++) sr[indx]= shadow_ram[indx]; i= 0; frame_rate++; } else { PORTC =sr[i++]; //Jetzt die Werte den Ports zuweisen PORTA =sr[i++]; PORTD = zeile++; // Jeweilige Zeile aktivieren } } [/pre]
-
Thread
Methode auf avr (7 segment)
methode? also als java syntag meine ich sowas: public void eins() { //mache 1 an } wie geht das in c?
} } [/c] Nur wie verwende ich die methode jetzt? so gehts offenbar nicht???
-
Thread
Ausgang des AVR von Pollin über die Webpage schalten
einen Ausgang über die Webseite schalten? Habe vieles probiert im Sourcecode der webpage.h aber nix geht. Auszug webpage.h "<input type=\"checkbox\" name=\"OUT\" value=\"A\"%PORTC0>" "Port C Pin 0<br>\r\n" ...so gehts schon mal nicht und ist bestimmt total flasch ;) Am parallelen Anschluß hängt
wird der Wert aus Port_tmp dem entsprechendem Port zugeordnet >> PORTA = PORT_tmp; wenn's nun PortC sein soll, so änderst du das hier einfach ab >> PORTC = PORT_tmp; und schon kannst du PC0 bis PC2 schalten. Der Nachteil dieser Lösung ist natürlich, das immer alle im <form> enthaltenen Werte
-
Thread
Übelste Anfängerfrage zum AVR GCC Tutorial -> Taster
Falls Taster an PIN PB0 gedrueckt */ /* LED an Port PC5 an- bzw. ausschalten: */ PORTC |= (1<<PC5); } return 0; } [/c]
ich nicht zu doof für die Schaltung war. Mit dieser Lösung (wahrscheinlich nicht wirklich elegant) geht es jedenfalls. Danke für eure Hilfe! [c]while(1){ if (!(PIND & (1<<PINC7))) { PORTC |= (1<<PC5); _delay_ms(1000); PORTC &= ~ (1<<PC5); } } [/c]
-
Thread
Funktionspointer im PROGMEM?
liegt wird der gleiche Code erzeugt aber die RAM Werte nicht richtig geladen - der Sprung geht an die Adresse 0. Hier ist ein Beispiel wie ich eine Zuordnung von Tasten zu Funktionen realisiert habe: [C] void Btn0Click(void) { PORTC &= ~_BV(0); pos=middlePos; } void Btn1Click(void) { PORTC &= ~_BV(0); pos+=deltaPos; } void Btn2Click(void) { PORTC |= _BV(0); pos-=deltaPos; } typedef struct { short bitnr; void (*fnAction)(void); } ACTION; const ACTION ActionTab
-
Thread
Zugriff auf Strings im Flash
eigentlich "funktioniert nicht" und "klappt" ? heisst das "kompiliert schon gar nicht" oder "der uC geht in flammen auf" ?
Nein. Es geht ja um den Pointer. Auf den String greift strcpy_P zu.
-
Thread
Sensor über I²C-Bus auslesen - Bascom-Code
Baud-Rate $baud = 9600 'Ports für IIC-Bus Config Scl = Portc.0 Config Sda = Portc.1 'Deklaration der Variablen Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und
'BEEP Sound Portd.7 , 400 , 450 'BEEP Config Portc = Output Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 'Konfiguration COM-Port 1 Open "com1:" For Binary As #1
-
Thread
AVR eclipse error message problem!!
. "Symbol 'PORTC' could not be resolved" habe schon danach gegoogelt nur leider nichts gefunden.
ich Eclipse_cpp_indigo mit dem AVR_Plugin installiert habe. Mit Eclipse_java_indigo + AVR_Plugin geht es aber.
-
Thread
Atmega8 defekt?
nicht die Ursache, dass eine Schaltung die vor ein paar Wochen noch funktionierte, jetzt nicht mehr geht.
programmieren. Entweder über den Brenner oder besser über eine eigene Spannungsversorgung. Ganz ohne Spannung geht nichts
-
Thread
Attiny85 Problem mit digital Input B0 u. B4
verschoben sondern C-üblich maskiert. Das Problem erinnert an den Jtag-Port bei manchen Atmegas, der PortC Blockiert. Muss beim Attiny85 irgendwas freigeschaltet werden?
im Beitrag #5376512: > Damit ist doch alles klar - oder? Mir ist nicht klar, warum PB0 nicht geht. grundschüler schrieb im Beitrag #5376490: > Außenbeschaltung gibt es nicht, nur die Taster an ground. Wie wird die Platine versorgt? Doch nicht aus einem USB-Port, oder?
-
Thread
LCD reagiert nicht
Allerdings funktioniert das nicht so ganz. Der Datenbus (8bit) hängt an PORTA, die Enableleitungen an PORTC.0und1, die Registerselectleitung an PORTD.7 und Read/Write liegt an Masse. (kein Busyflag lesbar). Vom Mikrocontroller her funktioniert alles anscheinend prächtig. (Über die Leitungen PORTC2,3 ist
Wenn keines im 4Bit Modus geht, dann hast du wohl einen Fehler im Code.
-
Thread
DG-12232 Ansteuerung von 2xSED1520 Controller
ging bisher imme wunderbar, hab an den Dateien nix geändert, und selbst die Beispieldatei main.c geht nicht zu kompilieren... Ich verstehs einfach nicht... Weiss vlt einer von euch, worans liegen kann? Danke schonmal, Marvin
Dank Euch funktioniert meins! :) ATmega8@8MHz, PortD als Data, PortC als Control. Die Korrekturen von Marvin sind gut. Ich habe keine Ameisenstraße, sondern Buchstaben, Pixel- und Vektorgrafik - und das recht flott. Die Pixelgrafik kann man sich notfalls auch
-
Thread
PIC16F887 auf MC2V0 - I2C
durch eine For schleife, solange du mit dem XC8 arbeitest. Im Anhang ein Bild von der Anzeige des PORTC direkt nach dem Ausführen der Zeile SDA=1; Man sieht, RC4 ändert seinen Zustand.
For schleife, solange du mit dem XC8 > arbeitest. > > Im Anhang ein Bild von der Anzeige des PORTC direkt nach dem Ausführen > der Zeile SDA=1; > Man sieht, RC4 ändert seinen Zustand. Hm bei mir geht er nicht mehr aus... werd mal mit dem Osci paar PINs testen mfg J. Bier