-
Thread
TFT LCD Ansteuerung
= 1; LCD_RD = 1; PORTC = 0x00; //DBhigh Output eeprom_write(0x00, Datalo); eeprom_write(0x01, Datahi); [/c] Jedoch bleiben die Wert im EEPROM auf 0xFF. Ich habe versucht das Auslesen nach dem Diagramm auf Seite
Hallo, PORTC = 0xFF; //DBhigh Input .. schaltet den Datenport gewiss nicht auf Input wenn du DBhigh = 0x00 zur Ausgabe verwendest, dann kann Datahi = DBhigh nicht zum Einlesen verwendet werden, da Ausgabe ja
-
Thread
PORTS schalten nicht
festgelegt und das Abschalten der Jatg Fuses bringt keinen unterschied... es sieht sogar so aus das z.B PORTC 1 immer hin und her Springt... zwischen 0 und 3.5V
; DDRD = 0xFF; while(1) { PORTD = 0xFF; PORTA = 0xFF; PORTB= 0xFF; PORTC = 0xFF; } }
-
Thread
Zwei Signale verarbeiten mit Flagg
> //PULLI > PINC |= (1 << PC0); > PINC |= (1 << PC1); PORTC. Die Pullups werden über PORTC eingeschaltet
... schaltet den Pull Up ein besser DDRD |= (1<<PD0); Wenn den Rest der Compiler frisst, geht's.
-
Thread
Sinustabelle, header und Werte verwenden
schrittweise debuggen > kann, bevor ich ganz am Ende alles in den uC packe und feststelle, dass > nichts geht. Das tust du sowieso nicht :-) Also das "ganz am Ende alles zum ersten mal in den µC packen". Du fängst mit deiner Entwicklung so an, dass du möglichst schnell etwas hast, womit du auf die reale
256;i++) { SineTable[i] = sinelookup[i]; } for(i=0;i<256;i++) { PORTC = SineTable[i]; } } [/C] jetzt kann es natürlich immer noch sein, dass der Compiler schnallt, dass SineTable und sinelookup eigentlich das gleiche sind, und SineTable rauswirft, weil sich
-
Thread
PIC16F ADC Problem
FVRCONbits.FVREN = 1; /**** Clear Port Register ****/ PORTA = 0; PORTB = 0; PORTC = 0; PORTE = 0; /**** Configure ADC ****/ /* Result format: right aligned */ ADCON1 = _ADCON1_ADFM_MASK; /* Conversion clock: Fosc/64 */ ADCON1bits.ADCS = 0x6;
und nach der Messung einen Breakpoint setze, ist nach jeder Messung der Wert ein wenig kleiner. Das geht so lange, bis der Wert da ankommt, wo die Spannung tatsächlich liegt. Da bleibt er dann stabil...
-
Thread
Rechteckgenerator mit verschiedenen Frequenzen
Spess, vielen Dank für die Info, ich wusste nur das das mit nem XMega und den OUTTGL Registern geht, aber bei den neueren Megas nun auch, interessant! Sorry Peter, mein Fehler!
per Waveform Generator ausgeben lassen. Wenn das Hauptprogramm nur einfach in den Sleep Modus geht, ist auch die Reaktionszeit auf einen Interrupt immer gleich.
-
Thread
Temperaturanzeige mit PIC16f872 und LCD display problem
der I/O-Ports TRISA = 255; ADCON1 = 128; PORTA = 0; TRISB = 1; PORTB = 0; TRISC = 0; PORTC = 0; // Timer1 Einstellungen PIR1.TMR1IF = 0; PIE1.TMR1IE = 1; TMR1H = 11; TMR1L = 220; T1CON.TMR1ON = 1; T1CON.TMR1CS = 0; T1CON.T1OSCEN = 0; T1CON.T1CKPS0= 1; T1CON.T1CKPS1= 1;
True RH =(Sensor RH)/(1,0546-0,00216*Temperatur) ad = ad/Mitte; // Geht über den Speicher shorttoStr(ad, txt); // Umwandeln lcd_out(2,12,txt); // Ausgeben Lcd_Chr(2,16,'%'); // delay_ms(1); Lcd_Out(2,1,"Luftfeuchte:"); delay_ms
-
Thread
Veränderung von OCR1A und OCR1B über Taster
//WGM11:13 für Fast PWM mit Obergrenze ICR1 OCR1A = Impuls1; //OC1A geht low bei Zählerstand von Impuls1 OCR1B = Impuls2; //OC1B geht low bei Zählerstand von Impuls2 //Timer0-Konfiguration TCCR0 |= (1<<CS02); //Timer0 Vorteiler
ausgelöst habe und dadurch das Problem kam. Zu genauer Analyse fehlt mir aber die Erfahrung/KnowHow. Mit PortC läufts. Natürlich muss man bei einem Problem erst die gegebene Situation auseinander nehmen, keine Frage. Aber hin und wieder passt doch der Spruch: "Probieren geht über Studieren" Gruß Steffen
-
Thread
Problem mit Subroutine CALL-RET.
Ja es geht nur um das dritte....extented....
@MWS Danke.....habe ich ganz übersehen.... jetzt geht auch fuse=FF und RET DANKE an alle........... :-D
-
Thread
PIC18F bleibt bei Tastendruck hängen
Befehle zum Ein-Ausschalten einbauen und die Stelle wo es hängt einkreisen. Mit dem Pickit Debugger geht es aber 100 mal so schnell.
in Mainloop abfragen -> ganz schlecht. Tasten brauchen Entprellen + Flankenerkennung. Beides geht am besten mit einem Timerinterrupt.
-
Thread
Portansteuerung
while(1) { if (M >=1) Richtung=links; else Richtung=rechts; PORTC |=(Richtung<<1) ; // Drehrichtung if (Schritte <= 1200) { PORTC |=(1<<0) ; _delay_ms(0.020); // SM Enable bevor Timer2 eingeschaltet wird
es ist ok. Wer radfahren lernen will, muss auch runterfallen. Die selbst gemachte Erkenntnis 'so gehts nicht' ist oft mehr wert als eine vorgekaute Lösung.
-
Thread
XMEGA TWI timing Problem
mir ja der eine oder andere helfen. Hier meine main.c: int main(void) { PORTC.PIN0CTRL = 0x18; //Pull Up SDA PORTC.PIN1CTRL = 0x18; //Pull Up CLK int i=0; int Status = 0; int temperature=0; unsigned int humi=0; char status = 0; char lowbyte = 0;
Beispiel für das TWI-Modul, das man leicht an eigene Slaves anpassen kann. So wie Du das gemacht hast, geht es nicht.
-
Thread
Entprellung Ziffern-Tastenfeld
Nachdem das jetzt geht, gibt es leider ein neues Problemchen: Ich habe noch 2 Tasten an PC5 und PC6 hängen. An PC0 bis PC3 hängen Ausgänge (Multiplexing eines LED-Displays). Ich möchte nun die Entprell-Routine erweitern
bewirken nichts. Also meine Vermutung ist, dass ich die Wechselwirkungen mit den anderen Pins an PORTC nicht richtig "ausgeblendet" bekomme??
-
Thread
externer 32,768kHz Crystal für Timer1 funktioniert nicht PIC16F1823
] void interrupt(void) { if(PIR1.TMR1IF == 1) //interrupt from Timer1? { PORTC.B2 = 1; //nur zum testen! ob er überhaupt in die ISR geht PIR1.TMR1IF = 0; //re-enabling the interrupt TMR1H = 0x80; //high byte TMR1L = 0x00; //low byte }
define PORTA digital TRISA = 0xFF; // define PORTA as input TRISC = 0x00; // define PORTC as output PORTC = 0x00; PORTC.B2 = 0; TIMER1_Init(); while(1) { } } [/c] und ich bin drauf gekommen das er am Ende der INIT bei der while-Schleife
-
Thread
Feuchtesensor AM2302/DHT22 avr-gcc
Moin, jetzt geht er wieder. Ich hatte ein technisches Problem mit der Website. Gruß Kalle
Markus E. schrieb im Beitrag #4264298: > geht es nur mir so oder kommt unter dem Link nichts mehr auf seiner > Homepage? > > http://publicgit.pgollor.de/avr/am2302 Doch der Link geht noch, aber du wirst im Browser nichts sehen, da es ein
-
Thread
LCD zu langsam
alles posten. Nur ein paar Ausschnitte: Hier werden die Signale eingelesen: [c] uint8_t newPORTC = PINC; if ( (newPORTC ^ lastPORTC) & 0x02 && (newPORTC & 0x02) ) { if (newPORTC & 0x01 ) xVAL--; else xVAL++; changed |= 0x01; } if ( (newPORTC ^ lastPORTC) & 0x08 && (newPORTC & 0x08) ) { if (newPORTC & 0x04 ) yVAL--; else yVAL++; changed |= 0x02; } if ( (newPORTC ^ lastPORTC) & 0x20 && (newPORTC & 0x20 ) ) { if (newPORTC & 0x10 ) zVAL--;
-
Thread
Lüftersteuerung mit C
PORTC |=_BV(PC1); _delay_ms(19); } //LED leuchtet etwa halbhell for(i=0;i<100;i++){ PORTC &= ~_BV(PC1); _delay_ms(5); PORTC |=_BV
i<100;i++){ > PORTC &= ~_BV(PC1); _delay_ms(19); > PORTC |=_BV(PC1); _delay_ms(1); > } > > } LED jeweils 19ms an, 1ms aus -> leuchtet hell. > > return 0; Das ist nur Formalität
-
Thread
TIPP: Atxmega DFU-Bootloader auf eigenen "Boot-Pin" verbiegen (direkt im Hex-File)
Offset von 0x20 zum nächsten hat ist es recht einfach. Für den Atxmega32a4u bei dem der Default-Port PORTC.3 und man ihn auf PORTA.2 ändern will sieht das so aus: [pre] Vorher Adresse | Nachher Adresse PORTC_DIR 0x640 | PORTA_DIR 0x600 PORTC_IN 0x648 | PORTA_IN
020000020000FC :1080000000C00091780005FD6AC0F092400608E1CA ^^^^-> PORTC_DIR = 0x0640 :10801000009353060FEF0A950023E9F700914806F5 ^^^^-> PORTC_PIN3CTRL ^^^^-> PORTC_IN = 0x0648 :1080200003FFECC0E0E0F0E0079116910F3F19F478 ^^-> PIN3 [/pre] und
-
Thread
[AVR] Atmega8 lässt sich nicht beschreiben
Led Toggle */ void LedSet(unsigned char state) { switch (state) { case 0: PORTC &= ~(1<<5); break; case 1: PORTC |= 1<<5; break; default: if (PORTC & 1<<5) PORTC &= ~(1<<5); else PORTC |= 1<<5; } } int
ich hingegen " Input hex file" anwähle und das erzeugte "hex-file " lade,damit dann den chip brenne geht das alles problemlos. Betriebssystem ist Win7 32bit mfg
-
Thread
Atmega16 Waveform Mode 14 und LEDs am PORTD
kann ich die LEDs ein ausschalten hat aber damit nichts zu tun, weil wenn ich den Timer1 ausmache, geht es wunderbar. PPS: Gibt es eine Möglichkeit den Code schöner in einem Post zu formatieren? Danke im Vorraus
Vielen herzlich Dank K-H, echt spitze wie du dass so schnell siehst! Geht jetzt jedenfalls... Danke, Danke, Danke!!!
-
Thread
LCD funktioniert nach Wechsel von Atmega8515L auf Atmega8 nicht mehr
Über die Sache mit dem JTAG war ich mir bisher gar nicht im klaren. Allerdings benutze ich den PORTC gar nicht für den LCD. Ausserdem kann ich im AVRStudio 5 das Fusebit JTAGEN nirgendwo finden, was auch immer das bedeutet. > - gibt es beim M8 auch die Portpins an denen das LCD programmtechnisch
Mindestzeiten, die einzuhalten sind. Langsamer ist kein Problem. Aber schneller als diese Mindestzeiten geht in die Hose.
-
Thread
Bascom- Fehlerausgabe bei Programmierung
Set Portd.6 Reset Portc.3 Reset Portd.6 Elseif D = 1 Then Set Portc.2 Set Portd.6 Reset Portc.2 Reset Portd.6 Elseif E = 1 Then Set Portc.1 Set Portd.6 Reset Portc.1
die Variable A den Wert 1 zugewiesen bekommt dafür sorgen, dass durch das 1 in der Variable z.B. Portc.5 auf 1 gesetzt wird. Wenn B z.B. auch noch den Wert 1 hat sollen beide so schnell geschaltet werden, dass z.B. bei einer Led, das Wechseln so schnell geht, dass das menschliche Auge nicht mitkommt
-
Thread
Atmega16-16AU
) { DDRC |= 0xff; while(1) { PORTC = 0x00; _delay_ms(10); PORTC = 0xff; _delay_ms(10); } } [/c] ich weiß dass das absolut nicht schön programmiert ist, aber es sollte eigentlich alle 10ms den gesamten PORTC
c] Oder sonst geht es über die Fuses auch! Lg, und Vielen Dank noch einmal! Groebar
-
Thread
XMega Port Register Verwirrung
DIR. Diese Anweisungen machen also das gleiche (nur dass die erste jeweils schneller ist): [c]PORTC.OUTSET = PIN3_bm; PORTC.OUT |= PIN3_bm;[/c] Ebenso: [c]PORTC.OUTCLR = PIN3_bm; PORTC.OUT &= ~PIN3_bm;[/c] Und: [c]PORTC.OUTTGL = PIN3_bm; PORTC.OUT ^= PIN3_bm;[/c] Außerdem ist es egal
> PORTC.OUTCLR |= (1<<PIN3_bp); ist die verkürzte Form von : PORTC.OUTCLR = PORTC.OUTCLR | (1<<PIN3_bp); Kann das Register PORTC.OUTCLR denn gelesen werden und wenn ja werden dann immer alle bits als
-
Thread
Reset Eingang zieht Strom (ATMEGA48 20AU)
Reseteingang den Strom > Schluckt. Wie kann das sein? VCC-Pins hängen an der Versorgung? Ansonsten geht der Strom über die Eingangspins, also auch den Reset-Pin.
Ich hab das jetzt nachvollzogen mit einem ATM8(8Mhz) und 4 Blauen LED's am PortC (so schnell als möglich toggeln) Flussspannung 3.1V Vorwiderstand 4.7Ohm. Am Steckbrett geht's immer, auf einer Lochrasterplatine gibts alle paar Minuten einen Reset. Hast Du schon mal überlegt
-
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
3 bit Zähler in der Mitte eines Ports ausgeben ?
Hallo, ich habe ein riesen Problem, ich habe einen 3 bit Zähler und den möchte ich anstelle von Portc 0 - Portc 2, auf Portc 3 - Portc 5 ausgeben? Beim uC handelt es sich um einen Atmega16 , und das ganze wird im Bascom geschrieben. Könnte mir da jemand weiterhelfen? Das wäre super !
nix schieben,maskieren oder sonstigen quatsch :) dass geht doch *ganz* einfach mit 3 Befehlen portc.3 = zaehler.0 portc.4 = zaehler.1 portc.5 = zaehler.2 nicht verzahgen, Charly fragen ;) vlG Charly
-
Thread
Latch - nop notwendig?
diesen mittels eines AVRs (in Software) an. In meinem Code kommt (so ungefähr) Folgendes vor: [c] PORTC &= ~(_BV(PIN)); PORTC |= _BV(PIN); [/c] Funktioniert auch wunderbar. Ich meine allerdings irgendwo gelesen zu haben, dass man dazwischen ein nop stecken sollte. Da geht es wohl weniger ums Timing
K. B. schrieb im Beitrag #3066827: > sondern da geht es eher um das Problem, dass der > Compiler (je nach Einstellung) solche Abschnitte wegoptimieren könnte. Das sollte er nicht tun, wenn PORTC korrekt deklariert ist. Das ist als /volatile/ zu kennzeichnen
-
Thread
Multiplex mit gemischten Ports
Beispiel: Pins 1, 4, 5 an Port C Bitmaske: unsigned char MaskC = (1 << 1) | (1 << 4) | (1 << 5); PORTC &= ~(MaskC); //Port C auf 0 PORTC |= Array[0][7] //Ausgabe des Port-C-Anteils für Ziffer 7 usw... mfg.
void digit(uint8_t wert, uint8_t pin) { PORTD = (PORTD & bitmaske) | numbers[wert]; PORTC |= (1 << pin); // entsprechendes Digit an } [/c]
-
Thread
atmega 1284P Jtag (aus) PINC2 ohne Funktion
led_gelb_aus PORTD &= ~(1<<PD1) #define led_gruen_aus PORTD &= ~(1<<PD5) #define test1_aus PORTC &= ~(1<<PC2) #define test2_aus PORTC &= ~(1<<PC3) #define test3_aus PORTC &= ~(1<<PC4) #define test4_aus PORTC &= ~(1<<PC5) #define test1_an PORTC |= (1<<PC2) #define test2_an PORTC
schlage ich ein Testprogramm vor [C] #include <avr/io.h> int main() { DDRC = 0xFF; PORTC = 0xFF; while( 1 ) { } } [/C] wenn da der Pin sauber auf 1 geht, dann gibt es in deinem Programm einen Fehler, der sich irgendwo in dem Wust an unübersichtlichem Code versteckt.
-
Thread
Diskussion zum Artikel "Single Chip Frequenzumrichter" für den 2. MC Wettbewerb
besser trennen. Ich möchte das Ganze mit 12V statt 18V aufbauen. Als Mosfet habe ich irf840 bestellt. Geht z.B. PC817, 4n35?
Hallo Mathias, das kann ich einstellen. Geht bis 250Mhz. das solte reichen. Teste ich. Danke Gruß Lota
-
Thread
Bascom - Servo, Temperatursensor und Co.
Display ### Config Lcd = 16 * 1 Dim X As Byte Dim Y As Byte , Slave As Byte Config Sda = Portc.4 Config Scl = Portc.5 Do Slave = &H91 I2creceive Slave , X Waitms 10 I2creceive Slave , Y If Y > 128 Then Y = 0 Else Y = 5 Lcd "* " ; X ; "," ; Y ; " °C *" Waitms 300 Cls Loop
Arbeit machen zu wollen, eine ordentliche Zeitsteuerung aufzubauen, weil es bei dem Test darum geht eine bestimmte Funktionalität zu testen und die Zeitsteuerung nur Mittel zum Zweck ist, diese Funktionalität in einigermassen regelmässigen Zeitabständen in diesem Standalone-Test auszulösen
-
Thread
Bascom CMPS09 Kalibrierung
Ich habe ein kurzes Programm geschrieben, was bei Tasterdruck die Punkte speichern soll. Jedoch geht die Konfig-LED nicht wie beschrieben an. Habe ich einen Fehler? [CODE] Declare Function Store_point() As Byte Declare Function Init_config() As Byte $regfile = "m8def.dat" $crystal = 16000000 $baud = 9600 Config Scl = Portc.5 Config Sda = Portc.4 Config I2cdelay = 100 Taster1 Alias Pind.4 Config Taster1 = Input Dim Count As Integer Dim Himmelsrichtung As Word Dim Grad As Single Wait 3 I2cinit
-
Thread
Leuchtschriftsteuerung
zum elektronischen Aufbau. Das Ganze soll wie beschrieben über einen ATmega8 gesteuert werden. An PORTC sollen die 4 Taster "MANUAL", "MUSTER-1", "MUSTER-2" und "STORE" angeschlossen werden, an PORTD ein Relais bzw. Transistor als Ausgabe zur 12V-Lampe, sowie der Schalter "CLEAR", am INT0 (Interrupteingang). Die einzelnen Taster sind folgendermaßen an PORTC (und INT0-Eingang von PORTD) über einen Spannungsteiler angeschlossen: 12V o | | _|_ | | | | 1kOhm | | | | |___| | Taster | /
-
Thread
LED-CUBE von leyanda mit Atmega644P
ISR( TIMER0_OVF_vect ) { TCNT0 = 0xB0; /*at least 0xA0 */ /* cli() not neccessary atm */ PORTC = 0x0; static uint8_t cube_show_layer = 0; .... [/c] habe ich in meinem Unwissen [c] void cube_show_init( void ) { TCCR0A |= (1<<CS02)|(0<<CS00); TCCR0B |= (1<<CS02)|(0<<CS00);
ISR( TIMER0_OVF_vect ) { TCNT0 = 0xB0; /*at least 0xA0 */ /* cli() not neccessary atm */ PORTC = 0x0; static uint8_t cube_show_layer = 0; [/c] gemacht. Allerdings läuft irgendwie alles viel viel zu schnell ab. Was muss ich noch ändern? Oder kann das noch etwas mit den Fuses zu tun haben
-
Thread
PWM beim XMEGA
man das untere Nibble -> Pin 0 bis 3 mit dem oberen Nibble -> Pin 4 bis 7, vertauscht werden. Das geht über das PORT Mapping Register.
within PORTx. As an example, TCD0 is Timer/Counter 0 connected to PORTD. Timers are available on PORTC, PORTD, PORTE or PORTF, if available on device. Timer0 on each port has 4 compare or capture channels, while Timer1 has 2 compare or capture channels. Figure 3-1 shows how the output compare channels
-
Thread
Timer1 PIC16F1823 funktioniert nicht
TMR1L = 0x02; //low byte INTCON.TMR1IF = 0; //re-enabling the interrupt PORTC.B2 != PORTC.B2; } } void wait_ms(int time) { for(i = 0; i<time; i++) Delay_ms(1); } void init_Timer1() { //Timer1 always on T1CON.TMR1ON = 1; T1GCON.TMR1GE
TMR1L = 0xFF; //low byte } void main() { init_Timer1(); TRISC = 0x00; //Define PORTC as output PORTC = 0x00; PORTC.B2 = 1; while(1) { } } [/c]
-
Thread
Bitmanipulation optimieren
sicherlich noch Optimierungsbedarf und ich würde euch gerne um entsprechende Tipps bitten. Konkret geht es um Folgendes: Ich arbeite hier 74HC237 (3-to-8 line decoder with latches). Alles wichtige hängt an PORTC, nämlich PC2, PC3 und PC4 sind die Adresspins (A0 - A2). PC5 ist das Latch Enable (LE) Signal
Falk Brunner schrieb im Beitrag #3051778: > layer += 4; > PORTC &= ~(_BV(PC2) | _BV(PC3) | _BV(PC4)); > PORTC |= layer; > > PORTC |= _BV(PC5); ergänzend: [c] PORTC |= layer | _BV(PC5) ; [/c] somit: [c] layer += 4; PORTC &= ~(_BV
-
Thread
SSD1306 OLED
Informationen: http://code.google.com/p/u8glib/wiki/avr: "port-number: 0 for PORTA, 1 for PORTB, 2 for PORTC." Also, ich vermute Du wolltest PN(1, 5), PN(1, 3), ... schreiben (PORT B!) Die Pin-Zuordnung verstehe ich auch nicht ganz. Von der gleichen Wiki-Seite: u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev
ordentlich Strom um auch etwas niederohmigere Spannungsteiler zu treiben wenn's in den MHz-Bereich geht. Für I2C gibt's einfache Schaltungen mit Low-Power-Mosfets. Steht aber (fast) alles auch hier: http://www.mikrocontroller.net/articles/Pegelwandler Viel Erfolg, Bernd
-
Thread
Probleme mit resistivem Touchscreen
DDRC &= ~(1<<XMINUS); while(1) { // X Coordiante // High / Low PORTC |= (1<<YPLUS); PORTC &= ~(1<<YMINUS); _delay_ms(200); xcor = ADC_Read(XPLUS); itoa( xcor, Buffer, 10 ); lcd_set_cursor(80,LINE3); lcd_puts(small_font, "
alles soweit aber sehr "langsam" also "schnelles" tippen wird nicht erkannt. "menu" anzeigen geht schneller als "menu" nicht mehr anzeigen. wenn ich halte dann zeigt der mir das etwa im sekunden wechsel an. also text da, text weg, text da, text weg muss/kann man die touch eingaben auch "entprellen
-
Thread
Variablen zwischen Unterprogrammen übergeben
==5) PORTC=0b01010000; if (min_einer==6) PORTC=0b01100000; if (min_einer==7) PORTC=0b01110000; if (min_einer==8) PORTC=0b10000000; if (min_einer==9) PORTC=0b10010000; } } [/c]
(min_einer==5) PORTC=0b01010000; > if (min_einer==6) PORTC=0b01100000; > if (min_einer==7) PORTC=0b01110000; > if (min_einer==8) PORTC=0b10000000; > if (min_einer==9) PORTC=0b10010000; > } void_umrechnen
-
Thread
ATmega8a defekt?
regfile = "m8adef.dat" $crystal = 1000000 $hwstack = 100 $swstack = 100 $framesize = 100 Config Portc.5 = Output Do Portc.5 = 1 Wait1 Portc.5 = 0 Wait 1 Loop End Übertragen habe ich die .hex Datein mit Hilfe des AVR Studios 6. Tools -> Device Programming -> ATmega8a
Versorgungsspannung resp. Masse angeschlossen, oder? Johannes A. schrieb im Beitrag #3038075: > Do > > Portc.5 = 1 > > Wait1 > > Portc.5 = 0 > > Wait 1 > > Loop Bin kein Bascom Spezi, aber entweder 'Wait1' oder 'Wait 1' ist falsch.
-
Thread
Hilfe und Tipps bei der Fehlersuche
$regfile = "M16def.DAT" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0 Rw Alias Portc.1 Config Rw = Output Rw = 0 Cls Do Locate 1 , 1 Lcd "Zeile 1" Locate 2 , 1 Lcd "Zeile
Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , *Rs* = Portc.0 Jo, *RS*, nicht RW an PC1 (!) anschließen! Bei deinem Listing steht: Rs = Portc.0 Im Schaltplan ist aber Portc
-
Thread
Relaiskarte mit ATmega16 - Problem mit falschen Steuerbefehlen
PORTA = 0b00000000; DDRA = 0b00001111; PORTB = 0b00000000; DDRB = 0b11111000; PORTC = 0b00000000; DDRC = 0b11111111; PORTD = 0b00000000; DDRD = 0b11100010; } /* USART_Init */ void USART_Init( unsigned int ubrr) { /* Set baud rate */ UCSRA = 0x00;
nicht, wie und wo ich das unterbringen muss. Timeout wäre ja ein Interrupt im UART-Interrupt. Das geht schon nicht, weil mit [c]> SREG&=0b01111111; [/c] die Interrupts vorübergehend ausgeschalten werden. Wobei ich mich auch schon gefragt habe wozu das gut sein soll. Ich werde mal nach Infos stöbern
-
Thread
Codesammlung und Tutorial
will die Seiten ja noch verbessern. Trotzdem Danke für die lobeden Worte. Um die Besucherzahlen geht es mir übrigens nicht mal gross (ok, jedem Webseitenbetreiber geht es ein wenig um Besucherzahlen). In erster Linie will ich einfach den Programmiereinsteigern eine kleine Freude machen ;-) Ich habe
Hallo David, auf der Startseite befindet sich im Beispielprogramm ein Fehler. In Zeile 11 muss es PORTC heißen denke ich. Servus Peter
-
Thread
zuweisung einer variable
int laufzeit=725; //... mydelayms(laufzeit); [/c] Nein, delay_ms direkt mit Variable aufrufen geht nicht, Standardfehler, siehe libc-Doku oder FOrensuche.
constant at compile-time. >saugeil Nein, falsch. Ich warte schon auf den nächsten Thread "delay geht nicht" :-(
-
Thread
Pull-Up aktivieren
PORTC |= (1<<PD0); PORTC |= (1<<PD1); PORTC |= (1<<PD2); PORTC |= (1<<PD3); PORTC |= (1<<PD4); Vielleicht so?
Flitzii schrieb im Beitrag #3024011: > PORTC |= (1<<PD0); > PORTC |= (1<<PD1); > PORTC |= (1<<PD2); > PORTC |= (1<<PD3); > PORTC |= (1<<PD4); > > > Vielleicht so? Ja, das ist auch gut. Das ist sogar noch besser, als wenn du die