-
Thread
gcc 4.3.3: böse Falle bei Nicht-ASCII-Zeichen
legt ein merkwürdiges Verhalten an den Tag, wenn es um Nicht-ASCII-Zeichen bei Zuweisung auf uint8_t geht. Im folgenden Testprogramm wird die Abfrage "if (Zeich=='§') .." komplett ignoriert, ohne eine Warnung auszugeben. GCC 4.1.2 (WinAVR-20070525) gibt hier wenigstens eine Warnung aus: ../Test.c:14:
int main(void) { Zeich = PORTB; if (Zeich=='#') Zeich = 1; if (Zeich=='§') Zeich = 1; PORTC = '§'; return Zeich; } Ausschnitt aus Makefile PROJECT = Test MCU = atmega168 TARGET = Test.elf CC = avr-gcc.exe ## Options common to compile, link and assembly rules COMMON = -mmcu=$
-
Thread
Taster-Matrix Code von Peda auf AVR
Nur habe ich nun noch folgendes Problem ich habe den folgenden Code der im anhang ist geflasht an PORTC hängen 8 LEDs, diese sollen mir die key_nr mitteilen. Bei der LED Leiste wird mir eine '0010 1011' dezimal 43 angezeigt. Wenn ich nun die Taste 1 Drücke dann sehe ich eine '00101010' also eine
das ich mich erst jetzt melde aber ich lag die lezten 2 Tage flach Hoffe, das es wieder besser geht und Dir obiges hilft. Gruß Volkmar
-
Thread
GLCD 128x64 lässt sich nicht programmiern
exchanged by a little delay (this is the safe way) } */ LCD_DATA_PORT=0x00; // Daten Portc wieder löschen }
dann kompatibel zu meinem NT7108 gestellt wird, wenns doch nicht ganz zutrifft. Naja, Hauptsache es geht jetzt! ALSO, MEGA MEGA GROßEN DANK AN EUCH FÜR EURE HILFESTELLUNG !!!
-
Thread
Programmierung im Keil
Wenn schon PORTC&&0x01 ^^ dann bitte PORTC & 0x01 schreiben & = Binaeres UND && = Logisches UND
Ich hab den Fehler :) Den Befehl PORTC&... gibts gar nicht. Richtig gehts so if ( PINSC&0x01==1) { } Danke euch trotzdem für die Antworten , MFG
-
Thread
EA eDIPTFT43-A RS232 und ATMAGA88 mit BASCOM
doch dann der Displayinhalt verschwinden? Oder muss das bcc auch noch durch was ersatz werden? Und geht das mit dem Print? Der ATMEGA sendet auf jedenfall Daten, das habe ich mit dem Oszi überprüft.
Ausgabesing_ohne_bcc + Chr(bcc) Print "{017},3,#DL,"; Print Ausgabesing_ohne_bcc Do Toggle Portc.5 Waitms 50 Toggle Portc.5 Waitms 50 Loop End[/code]
-
Thread
I2CEprom 24LC512 Page Write Bascom - TWI Experten gesucht
Manfred S. schrieb im Beitrag #2331152: > Acknowdlege Polling geht sicherer so: Was ist sicherer ? Wenn die I2C-HW zuverlässig funktioniert, dann geht die einfachste Version, wenn Err = 0 ist, dann wurde der Befehl erfolgreich ausgeführt. Was soll da unsicher
immer noch Sicherheiten, Zähler, Timeouts, etc. dazu bauen. War aber nicht die Frage, die war: Wie geht's mit Bascom-Mitteln ?
-
Thread
ATmega168 Interrupts funktionieren nicht mehr.
0,128 ms 1/(16000000 / 8 / 256) Sekunden Counter1++; }//ISR Ende ISR(INT0_vect) {PORTC |= (1<<PC4) ; //zum überprüfen ob er die ISR betritt,geht niemals an if(Aufoderab==0) { TIMSK0 = 0x01; // 0x01 = 1<<TOIE0);; Aktiviert den Zähler Aufoderab=1; EICRA = 0x02;
PORTC |= (1<<PC4) ;//LED_4 an. } } ISR(INT0_vect) { PORTC |= (1<<PC3) ;//LED_3 an. } [/c]
-
Thread
ATMega(8) und int. RC
Frage zum ATMega... Wenn ich den int. Osc. auf 1MHz stelle und folgenden code schreibe: do portc.0 = 1 waitms 100 portc.0 = 0 waitms 100 loop blinkt die led langsamer als wenn ich den int. Osc. auf 8MHz stelle...warum? im code steht doch das es 100 ms warten soll (muss doch egal sein
Stefan S. schrieb im Beitrag #2324575: > Hallo, > do > portc.0 = 1 > waitms 100 > portc.0 = 0 > waitms 100 > loop > danke stefan 'System frequency $crystal = 1000000 ' Bei 1 MHz '$crystal = 8000000 ' Bei 8 MHz
-
Thread
Atemga16 Bascom Shiftin Problem PINA.0
Problem. und zwar. ich habe insgesammt 6 PINs am Atmega16 die ich mittels Shiftin abfrage. an PortC habe ich keine Probleme. PortC. 0,2,4,6 wenn ich jetzt aber PortA.0 & 2 Abfrage geht PortA.0 "anscheinend" nicht. "anscheinend" weil ich PortA.2 zuvor abfrage auf Signale um festzustellen ob was
Tach karsten, was heißt "geht nicht"? Poste erstmal den code und dann sehen wir mal weiter. Thor
-
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
deklaration mit define,wie richtig, so doch nicht oder?
PORTC #define TASTER_PIN PINC #define TASTER_DDR DDRC #define TASTE_LINKS PC0 #define TASTE_RECHTS PC1 #define TASTE_ENTER PC7 #define LED_PORT PORTC #define LED_DDR
[/C] und durch Anwenden aller Textersetzungen entsteht für den Compiler dann der Code [C] PORTC &= ( 1<<PC2 ); [/C] welches er in eine "Clear Bit 2 an PORTC"-Assembler-Instruktion übersetzt.
-
Thread
Was mache ich falsch
Aber für das Ausschalten. Wenn Du dem Controller nicht sagst, was er machen soll wenn PC5 low ist, geht die LED nicht wieder aus.
der geschweiften Klammern ist korrekt, wenn auch seltsam eingerückt. Bei diversen AVRs liegt auf PORTC das JTAG, das werksseitig aktiviert ist. Dann funktioniert einige der Pins des Ports nicht "einfach" als Ein-/Ausgang. Über eine Fuse lässt sich ggf. das JTAG abschalten. Gruß
-
Thread
ARM Cortex-M3 – Mehrere Output-Pins gleichzeitig ansprechen
parallel auf einen Port ausgeben (also z.B. mehrere LEDs ansteuern) möchte, mache ich das ja z.B. so: PORTC = 0x03; Da die Portstruktur bei den ARM Cortex-M3 etwas komplexer ist, ist mir bisher nur die Möglichkeit über das BSRR in den Sinn gekommen. (Ausgänge auf Push-Pull geschaltet.) Der Lower Teil
Setzen bzw. Rücksetzen, indem entweder high- bzw. low-halfword setze. Hast Du das so gemeint, oder geht das wirklich in einer Zeile? Gruß kyrel
-
Thread
ATmega32 läuft nicht richtig an
aktivieren PORTD |= (1<<ENCODER_BUTTON_PIN)|(1<<ENCODER_A_PIN)|(1<<ENCODER_B_PIN)|(1<<RX_PIN); PORTC |= (1<<MOTOR_CLOSE_SWITCH_PIN)|(1<<MOTOR_OPEN_SWITCH_PIN)|(1<<L1_PIN)|(1<<L2_PIN); PORTA |= (1<<DAWN_PIN); PORTB |= (1<<MAN_DOOR_BUTTON_PIN); lcd_init(LCD_DISP_ON); timer1_init()
weg sein. Sobald die Timer initialisiert sind, läuft eine ISR die den Drehencoder abfragt. Beides geht aber nicht immer (wie oben beschrieben). Ich habe auch schon die lcd_init unter die timer_inits geschoben. Macht keinen Unterschied.
-
Thread
Eingänge setzen beim AT90CAN128
Im Simulator geht es so...
klappt alles, hab nur was mit VCC und GND vertauscht! Jou...da würde ich aufpassen, ansonsten geht er vielleicht bald gar nicht mehr ;-)
-
Thread
Dimmer über Seriell
mehrere LEDs an einem Atmega 8 dimmen.Ich habe da schon mal etwas zusammen gesucht. Dieses Programm geht aber nur halb. ICh kann die LEDs zwar dimemn aber nur wenn ich die Bytes im Programm festlege. Wenn ich über Seriell einen Byte schicke, dann geht die LED nur an. Und zwar gebe ich zu erst eien byte
SetBits: ; Die neue Bitbelegung am Port ausgeben out PORTC, temp reti int_rxc: push temp ; temp auf dem Stack sichern in temp, UDR ; empfangenes Byte lesen,
-
Thread
Reset eines DS18S20 geht nicht
Diesen relevanten Teil hab ich völlig vergessen :P [c]#define ONE_WIRE_PORT PORTC #define ONE_WIRE_DDR DDRC #define ONE_WIRE_PIN PINC #define ONE_WIRE_BIT PC1 #define ONE_WIRE_INPUT_MODE() ONE_WIRE_DDR &= ~(1<<ONE_WIRE_BIT) #define ONE_WIRE_OUTPUT_MODE() ONE_WIRE_DDR |= (
Ja! ... F_CPU war zwar angegeben, das drang wohl aber nicht bis nach 1wire.c/h durch.. jedenfalls geht es jetzt.. Danke, das hier hat mir geholfen wieder mit einem klareren Kopf an die Sache zu gehen.
-
Thread
mehrere über RS232 kommende hex-Werte (String) auswerten
Millisekunden Start Watchdog ' Watchdog starten Led1 Alias Portc.1 Led2 Alias Portc.0 Config Servos = 2 , Servo1 = Portd.5 , Servo2 = Portb.1 , Reload = 10 'Servos konfigurieren Config Led1 = Output 'Led1 "rot"
zuweisen Select Case Com1 Case &H01 ; &H04 ; &H06 ; &H02 ; &HFF 'Es geht um diese Werte, die als "01040602FF" empfangen werden Winkel1 = 70 Servo(1) = Winkel1 Winkel2 = 70 Servo(2) = Winkel2
-
Thread
Atmega324A Probleme bei FET Steuerung
> PortC JTAGEN? HTH
Und ein letzter: AVR-Studio 5 mit 324P als Target geht auch. Mh.
-
Thread
Drehimpulsgeber entprellen
crystal = 16000000 $swstack = 50 $hwstack = 50 $framesize = 50 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , _ Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 Config Lcd = 16 * 4 Cls Cursor Off Config Pinb.2 = Input Portb.2 = 1 Config Pinb.4 = Input Portb
nicht, sondern begrenzt nur unnötig die Schrittfrequenz. Spätestens bei einer Maschinensteuerung geht man damit fürchterlich baden.
-
Thread
LM75 mit Mega88PA auslesen
Hi nochmal, hab grad gesehen du benutzt die lib von Peter Fleury, da gehts dann etwas anders: [c] #define LM75 0x90 // Device Adresse i2c_init(); // init I2C interface ret = i2c_start(LM75+I2C_WRITE);
. Das dürfte > eigentlich nicht sein, oder? Willst du da was anderes sehen? Mit nem Messgerät geht vieles, aber die Bits siehst du nicht ;)
-
Thread
Zwei kleine Fragen zu Bascom Do Loop Schleife
ich hole jetzt mein Steckbrett, einen ATMega8 und ein bisschen Kleinkram und teste, was da nicht geht... Das will ich jetzt einfach mal wissen. Es kann doch nicht sein, dass so ein kleines Progrämmchen nicht geht... Gruß Jonathan
Ich habe langsam überhaupt keine Erklärung, warum diese ISR Variante nicht geht und meine alte Int0 "besser" geht....Rätsel ( Also an der Schaltung bzw Hardware, AVR kann es nicht liegen )
-
Thread
Enhanced Capture mit PIC18f448
Hallo Forum, Für einen Drehzahlmesser habe ich eine Schaltung entworfen bei der ich den PORTC2 als PWM-Ausgang nutze und den PORTD4 für den Capture-Modus um die Periode der Frequenz zu ermitteln.Zum programmieren nutze ich C18 von Microchip. (PIC18F448) Sind die Einstellungen für diesen
Prinzip ist das ja wunderbar aber Du hast ja ein CCP und ein ECCP Modul in deinem PIC. Vielleicht geht die Verwendung der C18 Librarie ja nur wenn man zwei CCP Module hat, denn hier steht nur 2xCCP und nicht ECCP: [c] T1_CCP1_T3_CCP2 [/c] Aber das ist nur eine Vermutung. 3.Und wenn das auch
-
Thread
AVR: Pointer(-Array) auf PORTs
dann dynamisch ansteuern kann. Leider weiß ich nich was für ein Pointertype z.B. PORTA sein soll. Geht das überhaupt? lg PoWl
Beispiel [C]volatile uint8_t * porta = &PORTA; volatile uint8_t * ports[] = { &PORTA, &PORTB, &PORTC }; [/C]
-
Thread
Erfahrung wäre nicht schnell
soll einfach nur einen Pin ein und ausschalten. mit ca. 2000 Hz (1000 bis 5000Hz sind OK). Kurz um, geht so noch nicht! Das zweite Problem ist in der main, im while loop. Ich möchte einen sollwert aus dem PORTC einlesen. Und diesen Wert für das Zählen des Interrupt ereignisses nutzen. Das lesen geht
Danke für die Infos, das Program geht jetzt, nur ein fehler war glaub ich in den Hilfen Albert schrieb: DDRC = 0xff; //PORTC auf Input aber ich glaub das muss DDRC = 0x00; sein um C als Eingang zu nutzen. Danke! Liloba
-
Thread
LCD Problem mit blafusel´s Routinen
delay_loop_2 (((F_CPU/4000)*us)/1000) // wartet µs void lcd_write_init(uint8_t data) { PORTC = (data>>4); // output high nibble only,(!) zzgl. Zustand für RS-Leitung lcd_flash_e (); } // Enable-Leitung toggeln void lcd_flash_e () { PORTC = PORTC | ( 1<<DDC5 ) ; // Enable
Nach Strom weg, Strom drauf ist wieder alles beim alten.... Nix geht mer -.- Ich verzweilfel langsam -.-
-
Thread
__builtin_avr_delay_cycles
tschuldigung, vergessen: mit der backward-compatible version von delay_ms() geht dann das was du machen willst wieder. mfg
Blinken einer LED schreiben: void blink(int16_t interval_ms, int8_t repeat) { DDRC = 0xFF; PORTC = 0xFF; uint8_t i; for (i=0; i<repeat; i++) { PORTC &= 0b11111110; _delay_ms(interval_ms); PORTC |= 0b00000001; _delay_ms(interval_ms); } } der
-
Thread
Sommerzeitberechnung mit Bascom
sollte oder ein Byte - was ist bei Bascom > besser zum Weiterrechnen? (z.B. 1 Stunde addieren) - geht das mit Bit > genauso? Keine Ahnung. Wird aber ziemlich egal sein. Denn die kleinste handhabbare Einheit in einem Computer ist ein Byte. Es gibt zwar Bitbefehle, aber die sind so universell nun
.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2 Config Lcd = 16 * 2 Config Sda = Portc.1 'I2C-Pins definieren, bei Atmega 8: PortC.4 Config Scl = Portc.0 'PortC.5 bei Atmega 8 Const Ds1307_write = 208
-
Thread
Sinus mit DDS erstellt - geht nicht über 400 hz
Ich habe die Werte damals über PWM + Filter ausgegeben, klappte super! Aber R2R geht ebensogut! Knut
die nicht hat, dann das 10k Netzwerk kaufen, denke ich. Oder Widerstände ausmessen, was ja immer geht.
-
Thread
Schrittmotoren
PB5); // PIN0-5 als Ausgang für die Motoren definieren // PortB als Ausgang definieren DDRC = 0; //PORTC als Eingang für PCINT MASK 1 definieren TCCR1A = (1<<COM1A0) | (0<<WGM11); TCCR1B = (0<<WGM13) | (1<<WGM12) | (1<<CS10); OCR1A=18432; //****************** Interrupt initialisieren ***
#2282998: > ich könnte das nur wenn ich mit Assembler programmiere, in C weiß ich > nicht wie das geht, weil du gar nicht weißt wo dein Prog steht. Wieso weißt du nicht wie das geht, wenn ich nicht weiß, wo mein "Prog" steht? In C unter AVRStudio gibt es im Menü "Debug" einige nützliche Funktionen
-
Thread
Grosse Statemachine
if ( taster == 1 ) { state++; } if ( state == 60 ) { state = 0; } PORTC= state; } Das ist eine Statemachine mit 60 zuständen und sie ist wunderbar lesbar.
App heraus, die zeigt, wie man Chaos produziert. Die 60 states sind im Übrigen nicht viel. Das geht noch schlimmer.
-
Thread
4x4 Matrixtastatur mit Tasterentprellung
also nicht von KEY_ROW0 bis KEY_ROW3, sondern von KEY_ROW1 bis KEY_ROW4: [code] #define KEY_ROW1 PORTC0 #define KEY_ROW2 PORTC1 #define KEY_ROW3 PORTC2 #define KEY_ROW4 PORTC3 #define KEY_COL1 PORTC4 #define KEY_COL2 PORTC5 #define KEY_COL3 PORTC6 #define KEY_COL4 PORTC7 [/code] Somit
Außerdem ist mir ein ganz großer Fehler im ersten Posting passiert. Der ATmega8 hat gar kein PC7, geht nur bis PC6, und das ist auch noch der RESET-Pin. Im Anhang ist eine geänderte Version des Quelltextes aus dem Urposting: PortD statt PortC wird nun verwendet. Gruß, Marc
-
Thread
Einer Char-Variablen Ausgänge zuweisen
setzen bzw. löschen muss? Zum Beispiel: [c] char port_ersatz; // definiere port_ersatz.0 als PORTC.6 // definiere port_ersatz.1 als PORTC.7 // definiere port_ersatz.2 als PORTB.2 // definiere port_ersatz.3 als PORTB.3 // definiere port_ersatz.4 als PORTB.4 // definiere port_ersatz.5 als PORTB
Nein, so geht das nicht. Du musst schon getrennt den Ports die für sie relevanten Werte zuweisen, bei Deiner Bit-Anordnung also: PORTC = (Wert & 0x03) << 6; PORTB = (Wert & 0xFC);
-
Thread
Unkontulliertes LED geblinke
sbi(PORTC,MOTORAUSGANG_X); } } return(0); } ISR (TIMER2_OVF_vect) { if(motor_x != 0) { toggle(PORTC,MOTORAUSGANG_X); toggle(PORTD,DIODE_X); } TCNT2 = 70; toggle(PORTD,
DDRD = 0b00111111; //Pullup-Widerstände der Eingänge Aktivieren PORTB = 0b00100000; PORTC = 0b00111111; Deine Endschalter haben keinen PullUp.
-
Thread
DS18B20 multiplexen
zu bestimmen und damit alle vier Sensoren in Reihe abfragen. In etwa so: Do CONFIG 1WIRE = PORTC.1 Temperatur messen CONFIG 1WIRE = PORTC.2 Temperatur messen CONFIG 1WIRE = PORTC.3 Temperatur messen usw. loop Was meint ihr, haut das hin oder kriegt der Controller nen Koller
Das geht, ich mach das mit einem M128 und 6 Sensoren: [code] SUB DSRESET For ch = 1 to Channels Select Case ch Case 1: 1wreset PinG , 1 1wwrite &HCC , 1 , Ping
-
Thread
Programm hängt sich auf - Fehlersuche
dann noch die Drehzahl die durch den INT0 berechnet wird kleiner als eine Zieldrehzahl ist, wird der PORTC0 und 1 auf 1 geschaltet. Dahinter hängt ein MOSFET der ein Magnetventil auf Masse schaltet. Insb. wenn es zum Anschalten des MOSFETS gekommen ist, bleibt das Programm gerne hängen. Äussern tut sich das dadurch das die LED nicht mehr an geht, obwohl beide eingänge den richtigen Pegel haben. Hat jemand ne Idee? bzw. Tipp zur Fehlereingrenzung
-
Thread
Zwei Schieberegister in Reihe: Denkfehler?
PORTB = 0b00000000; //clear output data latch TRISB = 0b00000000; //set to output PORTC = 0b00000000; //clear output data latch TRISC = 0b00000000; //set to output PORTD = 0b00000000; //clear output data latch TRISD = 0b00000000; //set to output //while (1) {
Du solltest das mal mit uint8_t in 8 bit Portionen zerlegen. VerUNDen mitt FF ist nicht nötig; geht auch mit 8 bit shiften. > //wait (1); // PIG zu schnell...? Ob das Schwein zu schnell ist, wer weiß ... Joachim ... schrieb im Beitrag #2276629: > Ich schiebe immer 16 bit. Denke
-
Thread
LCD ansteuerung mit Radig Software
http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=13257&flv=1&bereich=&marke= Da gehts einwandfrei! Hat ELV irgendwelche besundere LCD controller ? Im Datenplatt steht leider nichts. Gruß Marvin
LCD_Port_DDR DDRC //Port an dem das Display angeschlossen wurde #define LCD_Port_Write PORTC #define LCD_Port_Read PINC #define LCD_RS 4 //Pin für RS #define LCD_RW 5 //Pin für Read/Write #define LCD_E 6 //Pin für Enable [/c] und
-
Thread
Ausgänge bei 1,7V
Hallo Gemeinde. Ich möchte auf PORTC(Bit 2,3,4,5,6) 5V als Ausgänge haben. Wenn ich schreibe: /* System: Atmega16 Stk500 */ #define IO_DDR DDRC #define IO_Port PORTC #define DL_Mstr PC2 #define DL
jemand die Lösung für? Seit Jahren der Dauerläufer: http://www.mikrocontroller.net/search?query=portc+geht+nicht Oder für Schreibfaule: http://www.mikrocontroller.net/search?query=portc
-
Thread
Interrupt programmierung mit HI-Tech
weil er nur in einem Fall benutzt wird :) und dieser Fall dritt dann ein wenn es ums Dimmen von LEDs geht.
//PORTB TRISB = 0b11000000; PORTB = 0b11110000; //PORTC TRISC = 0b11011111; PORTC = 0b11111111; ANSEL = 0b00111111; ANSELH = 0b00000000; //PWM CCP1CON = 0b00001101; T2CON = 0b01111110; //Interrupt
-
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
PIC 18F2455 Defekt??
D+/D- Pins sind (C4,5 glaube) sind ja normale I/O pins. JEIN. Im Manual steht: Unlike other PORTC pins, RC4 and RC5 do not have TRISC bits associated with them. Lesen geht, schreiben geht nicht.
-
Thread
Objektorientierung mit avr gcc
Suchfunktion. Z.B. hier: http://www.mikrocontroller.net/topic/143537 Der Grundtenor ist: - ja, es geht - C++ muß nicht langsamer sein oder mehr Code produzieren, kann es aber - man muß sich zurückhalten - die STL kann man sich komplett abschminken - Mit templates kann man mit wenigen Zeilen viel
Jetzt, wo ich weiß worum es geht :-) könnte man ja auf einem AVR speicherplatzsparend bei new/delete vielleicht sogar auf malloc()/free() verzichten und sich mit dem Operator(!) ;-) 'new' nur einen Pointer auf einen vorher reservierten
-
Thread
AVR Studio 5/Debug: No Source Available
util/delay.h> int main(void) { DDRC = 0xFF; // Alle auf Ausgang while(1) { PORTC = 0x00; _delay_ms(1000); PORTC = 0xFF; _delay_ms(1000); } } Wenn ich das nun debugge, erscheint eine neuer Tab, darin steht: "No disassembly available" Die Meldung "No
erscheint der disassemblierte Code im Tab. Wenn ich dann mehrmals F10 drücke sehe ich, der gelbe Pfeil geht immer tiefer, scheint etwas auszuführen. Dann irgendwann erscheint 'Disassembly cannot be displayed in run mode". Ich krieg es einfach nicht hin, diesen einfachen Code zu debuggen. Kann mir jemand
-
Thread
LED an AVR ATmega16 bleibt dunkel
1) /* loop forever */ { _delay_ms(1000); /* wait a second */ PORTC = 0xff; /* turn all output pins on */ _delay_ms(1000); /* wait again a second */ PORTC = 0x00; /* turn all output pins off */ } return 0; /* never achieved
Das stimmt, portC läuft über aVCC, den solltest du beschalten
-
Thread
Frage zum Portexpander 74HCT165
c] [c] while(1) { if (stopbit == false) { // Clock im Ruhezustand auf 1 PORTC |= (1<<PC4); // An PL mal stroben... // PL auf High PORTC |= (1<<PC5); // PL auf Low PORTC &= ~(1<<PC5); // PL auf High PORTC |= (1<<PC5); unsigned int m; for(m=1
{ usart_write_str("1"); } // An Clock mal stroben... // Clock auf High PORTC |= (1<<PC4); // Clock auf Low PORTC &= ~(1<<PC4); // Clock auf High PORTC |= (1<<PC4); } stopbit = true; } [/c] Das stopbit setze ich dann über die serielle zurück, damit
-
Thread
Erste GLCD (Touch) -Schaltung
am Stück (es sei denn das Display deiner Wahl hat SPI) und zwei Analogeingänge für den Touch - das geht beim M8 schon schlecht. Ein M16 sollte es schon sein. Sascha
Beim M8 hat PortD alle 8 Leitungen, mach sich aber nicht gut, denn dann fehlt der UART (PD0/PD1). PortC hat nur 6 Leitungen ist also eh' nichts für den Datenbus. PortB hat zwar wieder 8 Leitungen, aber nur wenn du keinen Quarz anschließt. Der M328 hat auch nicht mehr Anschlüsse. Sascha