-
Thread
CNC-Fräse im Eigenbau
if (Richtung == 1) { for(y=0;y<=DREHUNG;y++) { //Zyklus für Motor0/Richtung1 } } } if (Adresse == 1) { if (Richtung == 0) {
if (Richtung == 1) { for(y=0;y<=DREHUNG;y++) { //Zyklus für Motor0/Richtung1 } } } if (Adresse == 1) { if (Richtung == 0) {
-
Thread
Fehler bei Programmieren von C
_JJJJMMTT[t]); }{ scanf("%i",&z); for (z=0;z<18;z++) if(Mensa_Essen[2]==z) else printf("Essen: ",Mensa_Essen[z]); } return 0 ; } [/c] Kann mir vielleicht jemand weiter helfen? Ich seh den Wald vor lauter Bäumen nicht Mfg Verzweifler
printf("Datum:",ISO8601_JJJJMMTT[t]); }{ scanf("%i",&z); for (z=0;z<18;z++) if(Mensa_Essen[2]==z) else printf("Essen: ",Mensa_Essen[z]); } return 0 ; } [/c]
-
Thread
Disassembly, mapfile, PROGMEM
Siehe: http://www.rn-wissen.de/index.php/Speicherverbrauch_bestimmen_mit_avr-gcc sizebefore: @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \ 2>/dev/null; echo; fi sizeafter: @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ echo
text data bss dec hex filename 756 19 9 784 310 ./main.o ---------------------------------------------------------- ---------------------------------------------------------- uint8_t testArray[20] = {0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9
-
Thread
Melodiengenerator
<PD7); // als Ausgang deklariert PORTD &= ~(1<<PD7); Key = PINC; if(!(Key & (1<<PC2)) && (KeyOld & (1<<PC2))) T1=1; // S3 gedrückt if(!(Key & (1<<PC1)) && (KeyOld & (1<<PC1))) T2=1; // S2 gedrückt if(!(Key & (1<<PC0)) && (KeyOld & (1<<PC0))) T3=1;
=0; OCR1A = *Melodie[i]; i=4; } else if(PINC & ((1<<PC0) & (1<<PC1) & (0<<PC2))) { Ton=0; OCR1A = *Melodie[i]; i=5; } else if(PINC & ((0<<PC0) & (1<<PC1) & (0<<PC2))) { Ton
-
Thread
Spinnt der Compiler?
weiter arbeiten. Evtl ändert sich (z.B. auch durch prellen) der Zustand der Taste nachdem du in das > if((Taste == up) || (Taste == down)) eingetaucht bist und ist dann bei > if(Taste == up) Nr--; > if(Taste == down) Nr++; schon wieder anderst.
****************** unsigned char get_key(void) { unsigned short int adc_wert = get_adc(2); if((adc_wert >= 140) && (adc_wert <= 200)) return(links); if((adc_wert >= 310) && (adc_wert <= 370)) return(down); if((adc_wert >= 480) && (adc_wert <= 540)) return(rechts); if((adc_wert >= 650
-
Thread
If Anweisung - Sram Problem
dann funktioniert es wieder. [vhdl] case we_oe_change is when "000" => if write_counter < "00001100" then write_counter <= write_counter + 1; sram_data_led <= "00000"; else we_oe_change <= "011"; end if; when "001" =>
end case; end if; end process; [/vhdl] Damit haben alle Signale einen Initialwert. Allerdings wird das so noch nicht funktionieren. Erklär mal genauer den Sinn Deines Designs. Welche Signale brauchst Du zur Ansteuerung
-
Thread
DVBT mit 2MHz Bandbreite
ineinandergreifen müssen. Ralph B. schrieb im Beitrag #6003640: > Der Sender ist zur Zeit ein Hides HV310 Also das da? http://www.hides.com.tw/product_HV310e_eng.html Da steht nichts von T2 (EN-300744 ist nur DVB-T). Damit ist alles andere als der 7/8MHz-Modus (nicht zu verwechseln mit den 2K/8K-Modi
kleinere Bandbreiten beherscht wäre uns auch geholfen. http://www.serit.hk/product/product67.html IF Bandwidth: 6/7/8MHz
-
Thread
1wire: unknown family code, mit Codes größer gleich 80
for Customer Codes If the custom flag of the family code is set, a part of the number pool is reserved to designate specific custom- ers. That is, the 12 most significant bits of the serial number allow 4096 different
DS1990 81 DS2401 81 speziell in neueren DS9490 USB-Adaptern DS2411 81 DS1991 82 lt. tm310sul.pdf DS1994 84 lt. tm310sul.pdf DS1981 91 512–bit EPROM memory (Uniqueware only) DS1955 96 Java Powered Cryptographic iButton (64K–bytes ROM, 6 to 134K–bytes NVRAM) DS1957 96 Java Powered
-
Thread
Einfach Mischer mit 2N3819
dem BF246 auch Pech haben. ;) Hier ist zum Beispiel nur ein U310 (J310) in Gate-Schaltung verbaut: http://www.jogis-roehrenbude.de/Leserbriefe/Moppert-Doppelsuper-Kurzwellenempfaenger_Collins-Filter/Oszill-Verst_Mischer_Diplexer_ZF-VV_1-ZF.gif
Prinzip ist es so: Antenne->Preselektor (Vorkreis,ca. -1.5dB)->1. Mischer (-5.5dB bei SBL-1)->Diplexer->IF-PreAmp (+7dB)->ZF-Filter (-4dB)->IF-Amp usw. Du musst eine Gesamtverstärkung von der Antenne bis zum ZF-Verstärkereingang (Cascode mit AGC) von ca. 3dB haben.
-
Thread
zwei Attiny's 85 über I2C
Nr = TinyWire.read(); if (Nr==1) digitalWrite(1,HIGH); if (Nr==2) digitalWrite(3,HIGH); if(Nr==3) digitalWrite(4,HIGH); } } [/c] -Slave- https://github.com/rambo/TinyWire [c] #include <TinyWireS.h>
) { digitalWrite(1,!digitalRead(1)); // byte Nr = TinyWire.read(); // if (Nr=1) digitalWrite(1,HIGH); // if (Nr=2) digitalWrite(3,HIGH); // if(Nr=3) digitalWrite(4,HIGH); }
-
Thread
Webserver ESP8266 soll mehrere KB an Daten an Browser senden
application/json",[zeile=0](uint8_t *buffer, size_t maxLen, size_t index) mutable -> size_t { if (maxLen < 50) return RESPONSE_TRY_AGAIN; // Wenn nicht genug platz im Buffer ist, warten wir lieber nochmal. String json_part; if (zeile==0) json_part += '['; // Begin Json Array if (zeile<buffer_temp.size()) { // Nur Daten senden, die auch vorhanden sind json_part += "{\"time1\":"; json_part += buffer_time[zeile]; json_part += ",\"temp1\":";
-
Thread
BASIC-Apfelmännchen mit ATmega168
340 280 h=h-1 290 if h<33 then 340 300 d=r 310 r=r*r-n*n+b 320 n=2*d*n+e 330 goto 260 340 rem LOOP3END 400 rem CHAR 410 j=" " 430 if h<64 then 490 440 j="*" 441 if h<96 then 490 442 j="O" 443 if h<112 then 490 444 j="H" 445 if h<120 then 490 446 j="x" 447 if h<124 then 490 448 j="=" 449 if h<126 then 490 450 j="-" 451 if h<127 then 490 452 j="+" 490 rem l=l;j 491 nbprint j 520 b=b+0.04 530 goto 190 540 rem LOOP2END
-
Thread
Antennenanalysator nach EU1KY
ist mir aufgefallen, dass viele Abläufe die die Touch-Tasten Auswertung betreffen, in der Form von if- und case-Statements an verschiedenen Stellen im Code realisiert sind. if (TOUCH_Poll(&pt)) .... if ((pt.y < 80)&&(pt.x>60)) else if (pt.y > 90 && pt.y <= 170) else if (pt.x > 70 && pt.x
return 99; } if(pt.x<(XX0-8)){// select the pressed field: Beep(1); if(pt.y<YY0+48) return 0; if(pt.y<YY0+96) return 1; if(pt.y<YY0+144) return 2; if(
-
Thread
Silicon Labs C8051F310 LED Blinken lassen
Ok ich habe es gerade selber gefunden: if( (ms-wait) > 1000 ) { muss es heißen. Sind die Datentypen ansonsten ausreichend groß?
[c]if( (ms-wait) < 1000 ) {[/c] Da würde ich ein [c]if( (ms-wait) >= 1000 ) {[/c] draus machen.
-
Thread
Scart RGB Synchronisation
else if (pal_y==2) //Ein Long und ein Short Sync begin if ((pal_x>=0 && pal_x<longsync) || (pal_x>=2560 && pal_x<2560+shortsync)) sync=1; else sync=0; end else if (pal_y==3 || pal_y==4 || pal_y==309 || pal_y==310 || pal_y==311)//2 Short Syncs begin if ((pal_x>=0 && pal_x<shortsync) || (pal_x>=2560 && pal_x<2560+shortsync)) sync=1;
-
Thread
Fakultaet berechnen auf dem STK500mit AtMega16
Carry einer einzigen Stelle maximal 0 ooder 1 sein kann: Digit = DigitA + DigitB + Carry; if( Digit > 10 ) { Carry = 1; Digit -= 10; } else Carry = 0; Du machst genau dasselbe, was du auch mit Papier und Bleistift machst, wenn du mit großen Zahlen rechnest (
; while(1) { printf("Fakultaet (1-200 0=Abruch)\n"); scanf("%i",&fak); if(fak<1) break; if(fak<=200) { memset(tmp,0,sizeof(tmp)); to_bcd(fak,tmp); //print_bcd(tmp); while(--fak) { //printf("---%i\n",fak);
-
Thread
Sanfter Wecker
Man könnte es ja einstellen in der Art [c] if (Zeit => 6:30 && Zeit =< 7:30) { if (REM-Phase) { aufwecken(); } // scheppern wenn REM-Phase zwischen halb 7 und halb 8 } else if (Zeit == 7:31) { aufwecken();
lsda.jsc.nasa.gov/scripts/hardware/hardw.cfm?hardware_id=798 http://gestaltung.fh-wuerzburg.de/blogs/minimal/?p=310 http://www.freepatentsonline.com/4863259.html
-
Thread
7-Segment-Anzeige: Statische Zahl mit 4 Ziffern
voll und 1.8V wenn leer. Dummerweise erreichst du volle Helligkeit des Displays nur 2.0 2.5 V IF=20mA wenn du 2.5V hättest. > Wie hoch muss der Vorwiderstand sein? > habe ich irgendwo einen Denkfehler? Ja. Du musst bei den Spannungen, 2.0 und 2.5 und bei den Akkugenzen 1.8 und 2.6 rechnen
/pdf1.alldatasheet.com/datasheet-pdf/view/683768/FORYARD/FYLQ-5641AX-00.html Displays von 1 bis 310mcd gibt. Welches auch immer du hast, ein anderer kann eins bekommen dass 310 x so viel Strom für dieselbe Helligkeit benötigt.
-
Thread
Transistortester AVR
gebraucht werden. Diese Zeile ist zwar syntaktisch korrekt, aber nicht sehr leserlich: [c] if(j!=0)adcx += ADCW; [/c] Besser ist: (meine bevorzugte Version) [c] if (j != 0) { adcx += ADCW; } [/c] Oder: [c] if (j != 0) adcx += ADCW; [/c]
if valid_offer(Egon) { add(me, 4) } else order_elsewhere(me, 2) }
-
Thread
Spannungsreduzierung mit Dioden
Du musst den Laststrom beachten! Die 1N4001 kann glaube ich einen If von 1A. Ich würde wenn überhaupt 4 Dioden nehmen, da 9.2 V absolut okay sind. Motoren sind nicht so empfindlich. Es gibt sicherlich bessere Methoden die Spannung zu reduzieren aber um es mal zu probieren
www.Pollin.de gekauft habe: http://www.pollin.de/shop/detail.php?pg=NQ==&a=NzI5OTg2OTk= (Art. Nr. 310 072 - falls der Link nicht funktioniert) http://www.pollin.de/shop/detail.php?pg=NQ==&a=OTc2OTg2OTk== (Art. Nr. 310 320 - falls der Link nicht funktioniert) Ich glaube nicht, dass die Motoren
-
Thread
AVR-Mikrocontrollertechnik-Kursus in Assembler besprechung Gesperrt
Fehlermeldung vom AVR-Studio ( siehe Pfeil ). Was mache ich falsch ? [avrasm] ; .include "Header_A310_BS.h" ;Label und Werte Zuweisungen .include "Hardware_A310_BS.h" ;Hardware Label Zuweisungen ; ;Einbinden der Controllerspezifischen Definitionsdatei ; .NOLIST ;List-Output
als das H-Nibble ? > > _*H-Flag*_ : > /Rd3 und K3 oder K3 und R3 oder R3 und /Rd3 > Set if there was a borrow from bit 3; cleared otherwise. > > _*C-Flag*_ : >/Rd7 und K7 oder K7 und R7 oder R7 und /Rd7 > Set if the absolute value of K is > larger than the absolute value of
-
Thread
ILI9341: 4 Fragen zum ansteuern
ist die Botschaft im Anhang. Frage 3: Das d/cx bit wurde im Datenblatt wie folgt beschrieben: "If the D/CX bit is “low”, the transmission byte is interpreted as a command byte. If the D/CX bit is “high”, the transmission byte is stored as the display data RAM (Memory write command), or command
373 writedata(0x0F); 374 375 writecommand(ILI9341_SLPOUT); //Exit Sleep 376 if (hwSPI) spi_end(); 377 delay(120); 378 if (hwSPI) spi_begin(); 379 writecommand(ILI9341_DISPON); //Display on 380 if (hwSPI) spi_end();
-
Thread
Frequenzzähler 1Hz - 40MHz
register uint16_t tmp= ICR1; if (tmp == 0) { ++nref.b[2]; } if (tmp < nref.w[0]) {
Hallo Uwe, > Da hast Du etwas falsch gelesen, das ist ein J310 oder BF245 o. ä. alles > ganz harmlos ! Stimmt, J310 steht da, aber SF245 steht trotzdem auf dem Plan! Also ist damit der "BF245" gemeint? ...dann wäre das ja gar kein Problem! > Der Vorschlag
-
Thread
Lauflicht mit 28! Led´s
; unsigned char PWMCounter; ISR( TIMER0_OVF_vect) { unsigned char i; PWMCounter++; if( PWMCounter == 101 ) PWMCounter = 0; for( i = 0; i < 28; ++i ) { if( PWMCounter < Channel[i] ) // Setze Portpin auf 1 else // setzte Portpin auf 0 } } und das
CAT310
-
Thread
Atmega128 USART Interrupt
probiert, z.B. cli(); UCSR0A = (1<<TXC0); //Set TxComplete Interrupt flag led_green(1); //if ((UCSR0A & 0x40) == 0x40) led_yellow(1); //Check if TXC0 is set sei(); Man würde hier erwarten, dass das bit gesetzt wird und zumindest gesetzt bleibt, bis die Interrupts freigegeben werden. Ist
sbis 43-0x20,6 308 017e 00C0 rjmp .L38 309 0180 81E0 ldi r24,lo8(1) 310 0182 0E94 0000 call led_yellow [/avrasm] Ich habe testweise alle Interrupts definiert, aber keiner wird angesprungen. Was mache ich denn da falsch? Das angehängte Programm sollte einfach
-
Thread
Timingverhalten in Windows-Treiber
{ // wait for next action tickdiff=tick256th()-tickendwait; // if tickdiff is negative: continue waiting // if tickdiff is zero: reached end time exactly now if (tickdiff<0x80000000) { // if tickdiff
durchlaufen wurde, bis die nächsten 2,5µm verstrichen sind. Es werden bei meinem Prozessor (2,3MHz) ca. 309-310 Durchläufe verbraucht (96%). Doch in 4% der Fälle zeigt der Schleifenzähler kleinere Werte (235-308)! WARUM? Wenn Interrupts gesperrt sind, wer kann denn noch Prozessorticks verbrauchen? Dieses Verhalten
-
Thread
c51 Problem mit Initialisierung von globalen Variablen / extern /
testvar übergeben bekommt) auf my_count zugreifen: [c]int CountTest(testvar) { int i=0; if (testvar == 1) my_count++; .... if (my_count > 10) tu irgendwas; .... }[/c] Nun habe ich das Problem, dass sich my_count anscheinend nie ändert, mir kommt es so vor, als würde
fertiggestellt, ich möchte nun die firmware für das modul erweitern/modifizieren. dabei geht es um ein STM310-modul von enocean: http://www.enocean.com/en/download/STM31xHW-STMSEN_Firmware_V2.4.0.0.zip/
-
Thread
Synthesefähiger Code
d; end if; end if; [/vhdl] und nach meiner regel wäre folgendes verboten: [vhdl] if rising_edge(clk_i) and signal2 = '0' then q <= d; end if; [/vhdl] Hm, grübel simutechnisch ist beides wohl
Schreibt man es in eine Zeile so wirds ein Gated Clock, schreibt man's in zwei Zeilen mit separater IF abfrage so wird es ein getaktes FF für die zweite Zeile. Das ist also besser und deshalb benutze ich immer [c] if rising_edge(clk_i) then if signal2 = '0' then q <= d; end if; end if;
-
Thread
Taktanzahl einer for-Schleife
ich habe folgenden Code: while ((PIN_SHT & (1<<PIN_DATA)) && (i < 320000)) i++; if (i >= 320000) *error_code = 3; mit 2Mhz; 320000 = 320ms So die while schleife kontrolliert, ob der Pin_data high wird oder die Zählvariable 320000 erreicht hat und bricht dann die Schleife
> while ((PIN_SHT & (1<<PIN_DATA)) && (i++ < 320)) > > _delay_ms( 1 ); > > > > if (i >= 320) > > *error_code = 3; > > dann stimmt die Zeit wenigstens so einigermassen. Ja habe ich mir auch überlegt genau muss es ja eh nicht sein! ob jetzt 310 oder 330ms spiel keine Rolle
-
Thread
Tastenmatrix auslesen über nur 2 Leitungen
"The ADC is optimized for analog signals with an output impedance of approximately 10 kΩ or less. If such a source is used, the sampling time will be negligible. If a source with higher impedance is used, the sampling time will depend on how long time the source needs to charge the S/H capacitor, with
ulf hausmann wrote: > der Tastencode steht ohne allen if-else Aufwand zur Verfügung. Na übertreib mal nicht. Die paar Byte-Vergleiche sind kein großer Aufwand, die verschwinden im Interrupt-Overhead. > Anhang: u/R Tabelle mit "Schaltplan" Wo ?
-
Thread
via Batchfile- älteste Datei in Verzeichnis (mit Unterverzeichnissen) ermitteln
| awk 'BEGIN{FS="\"";olddat=99999999999999}; /^\"\./{actdir=substr($2,2)}; /^-/{split($1,tmp," ");if (tmp[6]<olddat) {olddat=tmp[6];oldfile=actdir "/" $2}}; END{print olddat " \"" ENVIRON["PWD"] oldfile "\""}' 20000126103346 "/cygdrive/f/xxx/test Ordner/irg4p h50s.spi" real 0m0.310s user
= (unsigned long) 0; else if ( strcmp(argv[1], "-a") == 0 ) cmp = min_atime, result.atime = (unsigned long) -1; else if ( strcmp(argv[1], "-A") == 0 ) cmp = max_atime, result.atime = (unsigned long) 0; else if (
-
Thread
Probleme mit Signalgenerator
(newindex,12) & x"00000"; end if; end if; elsif control = x"00000001" then if y < x"00000000" then z <= Z00; if newindex = 0 then phase <= (phase + microsteps); elsif newindex
(newindex,12) & x"00000"; end if; end if; elsif control = x"00000001" then if y < x"00000000" then z <= Z00; if newindex = 0 then phase <= (phase + microsteps); elsif newindex
-
Thread
AT91SAM7X Interrupt Handler wird nur einmal aufgerufen
& AT91C_CAN_MB0){ InterruptFunctionMB0(); MBnummer = 0; EP = 0; } //MB1 0x310 else if(status & AT91C_CAN_MB1){ printf("MAB1\r\n"); InterruptFunctionMB1(); MBnummer = 1; EP = 1; } //MB2 0x90 else if(status & AT91C_CAN_MB2){ printf("MAB2\r\n"); InterruptFunctionMB2(); MBnummer = 2; EP = 2; } //MB3 0x23A else if(status & AT91C_CAN_MB3){ printf("MAB3\r\n"); InterruptFunctionMB3(); MBnummer = 3; EP = 3; } else printf("nix\r\n"); //Check for Errors if ((status&0xFFCF0000) != 0)
-
Thread
Xilinx virtex2p: xilfatfs Datei schreiben
if (error == 0) { xil_printf("error writing header\r\n"); } else { xil_printf("header written: %d\r\n", error); } xil_printf("- writing random data"); for (i = 0; i < 19200; i++) { if (i % 48 == 0) { xil_printf("\r\n [ %d ]", i); } tmp = rand() % 255; xil_printf(" %x", tmp); error = sysace_fwrite(tmp, 1, 1, hFile); if (error
-
Thread
Raspberry Pi-Betriebssystemupdate und Preiserhöhung, OrangePi-Workstation
padlock icon — these are the titles that will become available for free in the next few months. But if you are a subscriber (or would like to become one), you can click the ‘Contribute’ button to log into your account and unlock all the latest titles immediately. [/c] Komplett fertig ist das Release
.png) Bildquelle: https://www.cnx-software.com/2025/09/30/orange-pi-ai-studio-pro-huawei-ascend-310-ai-mini-pc-with-up-to-352-tops-192gb-ram/ Die Basis-Version wird dabei mit entweder 48 oder 96GB RAM und einem Ascend 310 ausgeliefert, während die Pro-Version im Prinzip aus zwei nebeneinanderliegenden
-
Thread
Timer geschickter programmieren
100) #define ZYKLUS 10 void task1(uint16_t intervall) { static uint16_t warte = 0; if(warte == 0) { warte = intervall; return; } if (--warte > 0) { return; } // mach deinen Job } void main() { while (1) { do {
AddDelayedEvent(mache_irgendwas,600); hier tut er 'irgendwas'... } void DispatchEvent(EVENT aEvent) { if (aEvent==mache_irgendwas) MacheIrgendwas(); ... } ..main(..) { InitSysTeck(); AddDelayedEvent(mache_irgendwas,600); immerzu: if (EventAvail()) DispatchEvent(GetEvent()); KümmereDichUmSonstwas
-
Thread
Panadapter, Pro/Kontra
Kilo S. schrieb im Beitrag #7384606: > ...ich mir ein IF Tap Board besorge... Was ist ein IF Tap Board? Re: "Simpel" Downconverter 1,25m->2m. 16.04.22. 16:58 Aus dem Thread mit den unvollendeten Bemühungen für deinen 250MHz Konverter hast du doch noch ein paar J310 Fets. Versuch doch mal damit einen Sourcefolger. Ein FET, 1 Widerstand, 3 Cs; das wird deine Bastelkiste wohl hergeben, ohne etwas kaufen zu müssen. 73 Wilhelm
-
Thread
Länge von UART-String begrenzt, BASCOM, Atmega8
Timeout=MaxWartezeit End Select ' hier könnten z.B. Timeoutroutinen stehen ' If Timeout=0 Then Waitfor_ok=2 (2=timeout) End If Wend Lange = Len(uart) Call Anzeigen2(lange) 'Länge ausgeben Call Anzeigen(uart)
einfacher mit dem 8.Datenbit solange du nur Text versendest. Also bei 8 Bit ne Abfrage a la: Do If Ischarwaiting() = 1 Then ' wenn was da ist Char = Waitkey() ' einlesen If Char.7=1 Then ' ist erstes Byte und Adresse Reset Char.7 ' Kennungsbit löschen If Char=Slaveadresse
-
Thread
Handykamera MCA-25 ansteuern
wie immer für 1 Euro + (zu hohe) Portokosten bei ebay. Ich hab jetzt auch meine Kameras und ollem T310 und werde mich jetzt auch mal daran versuchen.
9120906145 sie kann 14-208 Bilder speichern und ist für das SonyEricsson T68i, T68ie, T300 und T310 gedacht. Nur zur Vollständigkeit: die MCA-25 passt an T68, T68i, T300, T310, T230, T290i Vermutlich sind sie doch ähnlich. Hat schonmal jemand getestet?
-
Thread
Mit Modellbau Fernsteuerung und Arduino, Proportional Hydraulikventile steuern
TIMER1_COMPA_vect) { //die Interruptroutine gibt ein Zehntel der Impulsbreite in µs zurück if (PIND & (1<<PD2)) { //Channel 1 rechts horizontal, das ist PIN D2 cnt_CH_1++; //wenn Eingang High dann Zähler inkrementieren } else if (cnt_CH_1) { //wenn Eingang Low dann
gestartet, stoppen und Wert übergeben cnt_CH_3 = 0; //Zähler zurücksetzen } if (PIND & (1<<PD5)) { //Channel 4 links horizontal , das ist PIN D5 cnt_CH_4++; //wenn Eingang High dann Zähler inkrementieren } else if (cnt_CH_4) { //wenn Eingang Low dann
-
Thread
USI auf Tiny84 bricht Übertragung ab, bei negativem Flankenwechsel
: #if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny24A__)|| defined(__AVR_ATtiny44__)|| defined(__AVR_ATtiny44A__)|| defined(__AVR_ATtiny84__) #define DDR_USI DDRA #define PORT_USI
Hi >Ich benutze die App-Note von Atmel (AVR310 - Using the USI module as a >TWI Master) mit dem zugehörigen Code, jedoch modifiziert, weil der Code >für den IAR ist und ich den AVR-GCC nutze. Vergleiche z.b. mal den Code von 'unsigned char
-
Thread
gImageReader und Tesseract-OCR
ImageSurface> &img, OutputDestination dest) 308 { 309 tesseract::TessBaseAPI tess; 310 if(!initTesseract(tess, m_curLang.prefix.c_str())){ 311 Utils::message_dialog(Gtk::MESSAGE_ERROR, _("Recognition errors occurred"), _("Failed to initialize tesseract"));
; 320 return true; 321 }, _("Recognizing...")); 322 if(dest == OutputDestination::Buffer){ 323 MAIN->getOutputManager()->addText(output, false); 324 }else if(dest == OutputDestination::Clipboard){ 325
-
Thread
Radio Projekt mit Fehler, brauche Hilfe :(
[i]=RDS[i]; } Tft.fillScreen(100,150,15, 310,0x0000); Tft.drawString(RDS,100, 255,6,YELLOW); Serial.println(RDS); } } void DoTime() { if (millis() > LastTimeUpdate+1000) { LastTimeUpdate=millis(
if (LastMinute != clock.minute) { if (clock.minute < 10) sprintf(MinuteChars,"0%d:",clock.minute); else if (clock.minute >=10 && clock.minute <= 60) sprintf(MinuteChars,"%d:"
-
Thread
Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?
hilfreich. Nach dem Senden wird direkt wieder auf CH3 umgeschaltet und gehorcht. [C] if (tel > 4) tel = 0; if (tel == 0) size = hmPackets.GetTimePacket((uint8_t *)&sendBuf, dest >> 8, DTU_RADIO_ID >> 8); else if (tel == 1) size = hmPackets.GetCmdPacket
(); tickSec = 0; } */ if (tel > 5) { tel = 0; } if (COMMAND > 0x0039) COMMAND= 0x0036; if (tel == 0) {// Limitierung Command 0x51 //set SubCmd and UsrData UsrData[0]=0x5A;UsrData
-
Thread
Victron ve.bus protokoll analyse
char c = rxbuf[n]; //read one byte frbuf[frp++] = c; //store into framebuffer if (c==0x55) synctime = millis(); if (c==0xFF) //in case current byte was EndOfFrame ..... if (n == nr-1) //if new ESSpower should be written { Serial.println
} [/code] und im loop: [code] multiplusCommandHandling(); / if (syncrxed) { if (millis() > synctime + 5) { syncrxed = false; sendmsg(); } } [/code] Dann sendet er 5-6 ms nach sync. Direkt nach dem FF zu senden halt ich für
-
Thread
LON Bus Windhager mitlesen/steuern
}if ($json->entries[$i]->OID == $OID_HKP_HK2) { $HKP_HK2 = $json->entries[$i]->value; } if ($json->entries[$i]->OID == $OID_WW_Ladepumpe) { $WW_Ladepumpe = $json->entries[$i]->value; } if
the Application, as specified by the first byte of the APDU: 00pxxxxx The <p> field is set to one if the operation succeeded, or zero if it failed. [/code]
-
Thread
I²C über USI, Attiny45
Beiträgen bereits die Atmel Bibliotheken entdeckt (http://www.atmel.com/dyn/resources/prod_documents/AVR310.zip) und Teilweise auf avrstudio umgemünzt (inavr.h und ioavr.h durch avr/io.h und util/twi.h ersetzt und die definitionen der ports aus der IF abfrage direkt genutzt). Ich bekomme beim Projekt compilieren
per Wert aussetzen. Hab die __x 2 mal gelöscht und Zeilen wie [c]__delay_cycles(var)[/c] durch [c]if (var%2){ _delay_loop_1(var/3);} else {_delay_loop_2(var/4);}[/c] ersetzt. Ist nur bei Werten die nicht durch 3 oder 4 Teilbar sind ziemlich doof. Also Werte von Hand berechnet und siehe da es waren
-
Thread
DS1307 - I2C Übertragung ACK
sind GND, VCC, SDA und SCL. Ich programmiere in C mittels KeiluVision einen 8051er von Silabs. (f310) nun zu meinem Problem: Ich bekomme, außer nach dem Übertragen der BusAdresse (+ Read/Write-Bit), also 0xD0 bzw. 0xD1, kein ACK-bit vom DS1307 zurückgesendet egal welche Bytes ich sende...
)); // check value of TWI Status Register. Mask prescaler bits twst = TW_STATUS & 0xF8; if( twst != TW_MT_DATA_ACK) return 1; return 0; } // i2c_write [/c] write [c] if(!_time_i2c_rtc) { while(_i2c_busy); i2c_start_wait(DS3231+I2C_WRITE); // set device address and write
-
Thread
DS1307 an 3,3V
0x0); i2c_rep_start(DS1307+I2C_READ); reg0=i2c_readNak(); /* Turn off the clock halt if necessary. */ if(reg0 & _BV(CLOCK_HALT)) { i2c_start_wait(DS1307+I2C_WRITE); i2c_write(0x0); i2c_write(reg0 & ~_BV(CLOCK_HALT)); } /* Fire up the 1Hz interrupt. */
Also ich habe jetzt noch einmal gemessen, die SDA und SCL line sind ohne Initialisierung auf 3,310 V (laut Multimeter). Hardware Debugging kommt bis set_LED_debug(0x01); ich habe das komplette Projektfile als zip, und den Schaltplan angehängt, ich würde mich echt freuen, wenn jemand noch eine
-
Thread
Einfacher und billiger Webserver mit AtMega32
kommt auch keine Meldung. Wo könnte denn da der Fehler liegen? Hier der Code aus der httpd.c if ( memcmp(File_Name,"setup.htm",9) == 0) //Wenn Setup { pointerold = Page6; //Lade Seite mit Passwortabfrage valid=1; //Passwortabfrage freigeben } if (valid==1) {
" name=\"ABC\" value=\"1\" %CHK_ABC>" ----- in tcp.c dann auf den neuen Platzhalter überprüfen: if (strncmp_P("CHK_ABC",(pointer+1),7) == 0) und entprechend einer Bedingung richtig setzen: if ('Bedingung') memcpy(&buffer[result16], "checked",7); else memcpy(&buffer[result16], " ",7); -