-
Thread
SmuView - Eine sigrok GUI für Netzteil, Multimeter und mehr
Building CXX object CMakeFiles/smuview.dir/src/devicemanager.cpp.o In file included from /home/majo/tmp/smuview-master/src/devices/basedevice.hpp:34, from /home/majo/tmp/smuview-master/src/devicemanager.cpp:38: /home/majo/tmp/smuview-master/src/devices/deviceutil.hpp:492:23: error:
Couldn't open Modbus device. sr: [01:12.128166] hwdriver: Scan found 0 devices (rdtech-dps). sr: [01:36.293910] hwdriver: sr_config_list(): key 2147418112 (NULL) sdi (nil) cg NULL -> [uint32 20000, 20001] sr: [01:36.293974] serial: Opening serial port '' (flags 1). sr: [01:36.293992] serial: Attempt
-
Thread
Arduino UNO Output LED flackert
LED9496 = 4; int LED97130 = 3; int HEAT = 2; int buttonState1 = 0; int buttonState2 = 0; int TMP36 = A0; //Der Sensor soll am analogen Pin A0 angeschlossen werden. Wir nennen den Pin ab jetzt "TMP36" int sensorwert; int temperatur = 0; //Unter der Variablen "temperatur" wird später der Temperaturwert
pinMode(SW130, INPUT_PULLUP); Serial.begin(9600); } void loop() { sensorwert=analogRead(TMP36); //Auslesen des Sensorwertes. temperatur= map(sensorwert, 0, 410, -50, 150); //Umwandeln des Sensorwertes mit Hilfe des "map" Befehls. delay(t); // Nach jeder Messung ist je eine kleine Pause
-
Thread
Analog-Skala Zeiger zeichnen
for( i = 0; i < 3; i++ ) { lcd_line( tmp[i].x, tmp[i].y, tmp[i+1].x, tmp[i+1].y ); } lcd_line( tmp[3].x, tmp[3].y, tmp[0].x, tmp[0].y ); } [/c]
( i = 0; i < 3; i++ ) { lcd_line( tmp[i].x, tmp[i].y, tmp[i+1].x, tmp[i+1].y ); } lcd_line( tmp[3].x, tmp[3].y, tmp[0].x, tmp[0].y ); } [/c]
-
Thread
ARP Cache mit zweiter IP ergaenzen
-7720:~/tmp$ arp -a ? (192.168.1.1) at 00:25:86:e1:e2:96 [ether] on wlan0 daniel@daniel-Inspiron-7720:~/tmp$ ping 192.168.1.29 -c 1 PING 192.168.1.29 (192.168.1.29) 56(84) bytes of data. From 192.168.1.112
[/code] ... [code] ARP-Reply No.[9] transmitted successfully... daniel@daniel-Inspiron-7720:~/tmp$ arp -a ? (192.168.1.29) at 60:36:dd:26:4a:bc [ether] on wlan0 ? (192.168.1.1) at 00:25:86:e1:e2:96 [ether] on wlan0 daniel@daniel-Inspiron-7720:~/tmp$ [/code] Das Problem wird vermutlich beim
-
Thread
DCF-Signal richtig auswerten
"ror __tmp_reg__" "\n\t" "sts %0 + 4, __tmp_reg__" "\n\t" "lds __tmp_reg__, %0 + 3" "\n\t" "ror __tmp_reg__" "\n\t" "sts %0 + 3, __tmp_reg__" "\n\t" "lds __tmp_reg__, %0 + 2" "\n\t" "ror __tmp_reg__" "\n\t" "sts %0 + 2, __tmp_reg__" "\n\t" "lds __tmp_reg__, %0 + 1" "\n\t" "ror __tmp_reg__" "\n\t"
-
Thread
AVR F_CPU kalibrieren
: [c] //signal messen while(endwhile){ i=0; while(ir_pin && i<60001)i++; tmp[n]=i;//Speichert Anzahl der Ticks bis Flankenwechsel if(i==0)endwhile=0; i=0; while(!ir_pin && i<60001)i++; tmp[n+1]=i; if(i==0)endwhile=0; if(n<48)n=n+2;
mittels kleiner Programmänderung [c] //NEC -code if(ir_div>17 && ir_div<25){//nec 95 tmp1[tmp1_zl++]=tmp[1]; if(tmp1_zl>4)tmp1_zl=0; tmp1[5]=0; for(i=0;i<5;i++){ tmp1[5]+=tmp1[i]; } lcd_goto(1,10); lcd_int(tmp1[5]/5); lw
-
Thread
Was kann man mit 16Byte an RAM machen?
movlw 07h movwf tmp step movfw tmp movwf tmp2 movfw i2cDat movwf tmp3 movfw tmp incf tmp ;do some stuff to create zero bit if necessary decf tmp sru btfsc STATUS,2 ;check if tmp
0 ;sends Byte which is stored in i2cDat Register SendByte: movlw 07h movwf tmp step movfw tmp movwf tmp2 movfw i2cDat movwf tmp3 incf tmp ;do some stuff to create zero bit if necessary decf tmp sru btfsc STATUS,2 ;check if tmp is already zero
-
Thread
AVR für wenig Geld im LAN
mal ein paar sachen ergänzen damit die hacken da bleiben... In httpd.c [c] case ('A'): PORT_tmp = PORT_tmp + 1; break; case ('B'): PORT_tmp = PORT_tmp + 2; break; case ('C'): PORT_tmp = PORT_tmp + 4; break; case ('D'): PORT_tmp = PORT_tmp + 8; break; case ('E
Schau mal 21.09.2008 von Gast(Gast) In httpd.c case ('A'): PORT_tmp = PORT_tmp + 1; break; case ('B'): PORT_tmp = PORT_tmp + 2; break; case ('C'): PORT_tmp = PORT_tmp + 4; break; case ('D'): PORT_tmp = PORT_tmp + 8; break; case ('E
-
Thread
ATTiny10/11/12
entscheiden wir uns für Vorteiler 1024 und Zählumfang 63, der Startwert beträgt demnach 256-63. ldi tmp,256-63 ;Differenz bis zum Überlauf mov tsw,tmp ;in Timer-Startwert (Umweg über tmp, weil tsw als unteres Register kein LDI kann) out tcnt0,tsw </Zitat> ich habe die 256-63
verstanden? Nur noch so eine theoretische Frage . Wäre diese Schreibweise auch möglich? ldi tmp,(1<<aden)|(1<<adsc)|(1<<adfr)+0b00000111 statt ldi tmp,(1<<aden)|(1<<adsc)|(1<<adfr)+7 Gruß, Stephan
-
Thread
Atmega8 läuft nur mit internen Quarz, nicht aber mit externen
tmp = SED1520_DATA_PIN; SED1520_CONTROL_PORT &= ~SED1520_E1; } else { SED1520_CONTROL_PORT |= SED1520_E2; asm("nop");asm("nop"); tmp = SED1520_DATA_PIN; SED1520_CONTROL_PORT
( 1 ); } while(tmp & status); SED1520_DATA_DDR = 0xFF; } [/C]
-
Thread
Arduino Keypad und Multitasking
Item33("Hersteller:"); Menu Item34("Muster GmbH"); Menu Item35("Gewicht:"); Menu Item36("35 Kg"); String strPumpe = "PMP"; String strSanosil = "SAN"; String strPneumatik = "IMP"; String aktMenu = "main"; int menuPos = 0; int mAnzMain = 3; int mAnzSetup = 3; boolean tmpFF
") { if (action==1) { aktDauer(); }; tmpFF = true; } else if(Root.curfuncname == "Job 01") { if (action==1) { job01(); }; tmpFF = true;
-
Thread
Binäre Uhr Schaltungsentwurf
Temperatursensor dann immer noch falsch angeschlossen. Beim TMP36 ist: Pin 1 +Vs Pin 2 Vout Pin 3 GND
Beitrag #3461074: > Der LM75 ist zwar ungenau jedoch mit 1,40€ in Ordnung. Im Vergleich zu deinem TMP36 ist der doch ok! (siehe Anhänge)
-
Thread
Fakultaet berechnen auf dem STK500mit AtMega16
1) break; if(fak<=200) { memset(tmp,0,sizeof(tmp)); to_bcd(fak,tmp); //print_bcd(tmp); while(--fak) { //printf("---%i\n",fak); memset(mul,0,sizeof(mul)); to_bcd(fak,mul); //print_bcd(mul); bcd_mul(mul,tmp,fakulaet); // print_bcd(fakulaet); memcpy(tmp,fakulaet,LAENGE); } fputs(" = ", stdout ); print_bcd(fakulaet); } } return 0; }
-
Thread
400er LED-Schriftzug Schaltplan
break; } } void TLC5947_SetAllGS(uint16_t value) { uint8_t tmp1 = (value >> 4); uint8_t tmp2 = (uint8_t)(value << 4) | (tmp1 >> 4); gsData_t i = 0; do { gsData[i++] = tmp1; // bits: 11 10 09 08 07 06 05 04 gsData[i++] = tmp2; // bits: 03 02 01 00 11 10 09 08 gsData[i++] = (uint8_t)value; // bits: 07 06 05 04 03 02 01 00 } while (i < gsDataSize); } void init(void) //
-
Thread
Hargassner / Rennergy Touchtronic Netzwerkanbindung/Visualisierung
Flow l/min 268 frame2 71 VFS Temp °C 269 frame2 72 IO32 VL °C 270 frame2 73 KaskSollTmp_1 °C 271 frame2 74 KaskSollTmp_2 °C 272 frame2 75 KaskSollTmp_3 °C 273 frame2 76 KaskSollTmp_4 °C 274 frame2 77 KaskIstTmp_1 °C 275 frame2 78 KaskIstTmp_2 °C 276 frame2 79 KaskIstTmp_3 °C 277 frame2 80 KaskIstTmp_4 °C 278 frame2 81 UsePos 279 frame2 82 UseMotSoll mm 280 frame2 83 UseMotIst mm 281 frame2 84 HKZustand_A 282 frame2 85 HKZustand_1
-
Thread
avr-gcc->Probleme beim 1.kopieren von struct und 2. Arrays mit Double
folgende Probleme: 1. Der Zuweisung-Operator "=" bei Strukturen funktioniert nicht. Bsp.: struct_x tmp_struct_x; struct_x array_y[0] = tmp_struct_x; Der Inhalt von array_y[0] ist 0. Falls ich die einzelnen Elemente zuweise (array_y[0].a = tmp_struct_x.a), funktioniert das Ganze bzw. falls ich alternativ
perfekt!) 2. Beim folgenden Double Array: double x_Array[15] = {0, 0.05, 0.11, 0.17, 0.23, 0.36, 0.43, ... wird bei lesen bis Index 5 (0.36) eine 0 gelesen ab Index 6 (0.43) der entsprechende Wert. Was kann die Ursache sein? Umgebung: Linux. Ziel: atmega168p Avr-gcc: 4.1.2. Einstellungen
-
Thread
Reparieren einer SSD mit ext4 Superblock Fehler
#6852206: > 23 von 50 power cycles waren unsafe shutdowns... Die 970 EVO Plus in meinem Laptop hat 36 unsafe shutdowns in 10 Monaten, bei 537 Power Cycles. Aber noch 100% Spares und 0 integrity errors statt seinen 11000. Wie kriegt man im Laptop 36 unsafe shutdowns zustande?
Backup superblock at 229376, Group descriptors at 229377-229377 $ #erstes backup nehmen $mkdir /tmp/testmount/ $mount -o sb=131072,loop part.empty /tmp/testmount/ #3131072 = 2768 * 4 (4K Blöcke) $ls -an /tmp/testmount/ total 24 drwxr-xr-x 3 0 0 4096 Oct 19 20:28 . drwxrwxrwt 19 0
-
Thread
Atmega8 Encoder + USB HID spinnt manchmal
==2 && val_tmp1==0) || /*(val==0 && val_tmp==1) ||*/ (val1==1 && val_tmp1==3) ) { return 2; } val1 = val_tmp1; } if(val2 != val_tmp2
==3 && val_tmp==2) ||*/ (val2==2 && val_tmp2==0) || /*(val==0 && val_tmp==1) ||*/ (val2==1 && val_tmp2==3) ) { return 4; } val2 = val_tmp2
-
Thread
STM32F103RFT6 I2C2 keine Funktion
Peripheral Disable */ I2C2->CR1 &= ~I2C_CR1_PE; /* 7. Timing konfigurieren */ I2C2->CR2 = 36; // APB1 MHz I2C2->CCR = 180; // 100kHz @36MHz I2C2->TRISE = 37; // laut Datenblatt /* 8. Peripheral Enable */ I2C2->CR1 |= I2C_CR1_PE; /* 9. Dummy Read
I2C_Direction_Transmitter); while (!(m_pI2C->SR1 & I2C_SR1_ADDR)); volatile uint32_t tmp; tmp = m_pI2C->SR1; tmp = m_pI2C->SR2; (void)tmp; while (!(m_pI2C->SR1 & I2C_SR1_TXE)); m_pI2C->DR = addr; while (!(m_pI2C->SR1 & I2C_SR1_BTF)); m_pI2C->DR =
-
Thread
AVR 2313 Komparator
30 uart_send(buf[i]); 31 } 32 33 34 35 int main(void) 36 { 37 unsigned char tmp; 38 39 DDRB = 0x00; // PORT B Eingang 40 DDRB |= (1<<PINB3); // PINB3 als AUSGANG 41 42 ACSR = 0x00; // Komparator initialisieren
53 { 54 // ACO ist gesetzt wenn 2. Komp. Wert groesser 55 tmp = (ACSR & (1 << ACO)); 56 57 if (tmp > 0) 58 uart_send('1'); 59 else 60 uart_send('0'); 61 62 if (tmp > 0)
-
Thread
Timer in Assembler / Beispielaufgabe?
PORT_A1,A1 ; ausschalten ldi tmp0,high(3000) ; Timer1-Output-Compare auf 3000 (ms) out OCR1AH,tmp0 ldi tmp0,low (3000) out OCR1AL,tmp0 ldi tmp0,(1<<CS12)|(1<<CS10) ; 1 MHz /1024: so etwa
tick/....und bool compZ (int anz_tät){ ret= timer > anz_tät} lampe_aus while !compZ(36)do ; lampe_an //30min gewartet [/code] sehr sehr ungefähr so aussehen. Die Funktion compZ ist praktisch schon im counter eingebaut und wird ansonsten eher mit [code] loop: in tmp0
-
Thread
Geschwindigkeitsberechnung in Assembler
5 RP1 EQU 6 t EQU 0x24 v EQU 0x25 C1cnt EQU 0x20 C2tmp EQU 0x21 C3rem EQU 0x23 GOTO main main MOVLW .200 BCF 0x03,RP0 BCF 0x03,RP1 MOVWF C2tmp CLRF C3rem MOVLW .8 MOVWF C1cnt m001 BCF 0x03,
durch andere Operationen mit ganzen Zahlen ersetzen könnte. 3,6 ist schließlich nichts anderes als 36/10, also sollte das ganze ziemlich unproblematisch sein...
-
Thread
Versetzte Rechtecksignale auswerten, kein drehgeber
Zusammen immer 2 CLK sbis DrehgeberB-Pin ; ori ZL, 4 ; 4 ; Zusammen immer 2 CLK LD tmp, Z ; 5 ; Ein Byte aus der RAM Adresse der Tabelle des Z-Registers in tmp geladen ADD Dout, tmp ; 6 ; Addiere tmp zu Dout dazu LSR ZL ; 7 ; LSR ZL ; 8 ; Die 2 alten bits werden
Hallo Falk, ich habe noch eine kleine Korrektur im Abschnitt timer_loop 8bit Code: [c] sbrs tmp, OCF1A ; <-- rjmp timer_loop nop [/c]
-
Thread
Daten>32Bit auf AVR
sbrc r25, 7 com ZERO ld TMP, X add TMP, r25 rjmp 1f 0: ld TMP, X adc TMP, ZERO 1: st X+, TMP dec NUM brne 0b clr ZERO clt XJMP
[/avrasm] *Subtraktion* [avrasm] DEFUN sub push NUM clr CARRY 0: ld TMP, X ld CARRY, Z+ sbc TMP, CARRY st X+, TMP dec NUM brne 0b set XJMP restore ENDF sub [/avrasm] Ein- und Ausgabe werden via
-
Thread
HyperBus Ideen
; else Dout_zd_tmp=Mem[Address][15:8]; end else // reg Dout_zd_tmp = Config_reg[15:8]; end else
ifdef S60 parameter tCK = 6; parameter tRFH = 36; parameter tPO = 36; parameter tDSS = 0.45; parameter tDSH = 0.45; parameter tIS = 0.8;
-
Thread
ebus/RS232-Timing bei ebus/RS232-Konverter
Auf dem Raspberry PI lasse ich den ebusd alle eingehenden Daten loggen: [code] > ebusd -f -c /tmp --logareas all --loglevel info --lograwdata=bytes -d /dev/ttyUSB0 2017-12-16 12:36:30.204 [main notice] ebusd 3.0.595c7c0 started 2017-12-16 12:36:30.204 [main info] loading configuration files from /tmp 2017-12-16 12:36:30.205 [main info] reading dir /tmp/pulse-PKdhtXMmr18n 2017-12-16 12:36:30.205 [main error] error reading config files: ERR: element not found, last error: 2017-12-16 12:36:30.211
-
Thread
alle möglichen kombinationen bekommen
kombinatorisch aus, wieviele verschiedene Kombinationen es gibt. 26 (kleine) Buchstaben plus 10 Ziffern, ergibt 36 Werteausprägungen. Für 4 Stellen gibt es also 36 x 36 x 36 x 36 = 1679616 vollständige Kombinationen. Aber vieleicht willst du ja gar nicht alle möglichen Kombinationen generieren, sondern nur bestimmte
for-schleifen zu machen. ja, das ist eigentlich üblich [c] int index = 0; for( int i1 = 0; i1 < 36; ++i1 ) { for( int i2 = 0; i2 < 36; ++i2 ) { for( int i3 = 0; i3 < 36; ++i3 ) { for( int i4 = 0; i4 < 36; ++i4 ) { nummer_1[index++] = .... } } }
-
Thread
Dimmfunktion Touchpanel mittels ADC Wandler
https://www.mikrocontroller.net/wikifiles/e/e4/Pwm_table.zip) war: OCR0=(unsigned char)(4*pow(1.068,tmp++)); //fürs Hochdimmen OCR0=(unsigned char)(4*pow(1.068,tmp--)); //fürs Runterdimmen Wobei tmp den Schritt und 4 den Grundwert wiederspiegelt. Die andere Idee war dieses Array hier const
=Dimmerzeit; OCR0=(unsigned char)(4*pow(1.068,tmp++)); if(tmp==63) Dimp=1; } if ((!Dimmerzyklus)&&(Dimp==1)) { Dimmerzyklus=Dimmerzeit; OCR0=(unsigned char)(4*pow(1.068,tmp--)); if(tmp==0) Dimp=0; }
-
Thread
my AVR+LCD Problem
char data) { // aktuelles RS ermitteln char rs=PORTD; rs&=4; // High-Teil senden char tmp=data; tmp&=0xf0; tmp|=rs; PORTD=tmp; // Schreibsignal sbi(PORTD,3); cbi(PORTD,3); // Low-Teil senden tmp=data; tmp&=0x0f; tmp*=16; tmp|=rs; PORTD=tmp; // Schreibsignal
nach Bit 6 bringen col--; // Null-basierend col&=0x0f; // sicherheitshalber char tmp=row|col; tmp|=0x80; // Cursor setzen lcd_cmd(tmp); // senden } //--------------------------------------------------------------------------- // lcd_init(..) - Schaltet die Ports und
-
Thread
Eagle und Linux
Ist auszuschliessen, dass /tmp dabei vollgelaufen ist? Geht an sich nämlich (Ubuntu 8.04).
kannst es starten mit ./opt/eagle-5.6.0/bin/eagle Blödsinn, die Installationsdateien sind nach $tmp$ kopiert und nicht nach /opt. Und was soll überhaupt der Punkt davor?
-
Thread
Hilfe - Umrechung 5 Byte! Array Dezimal => Hex. Gesperrt
include <stdio.h> #include <stdint.h> void bcd2bin(uint8_t bcd[5], uint8_t bin[5]) { uint32_t tmp=0; for (uint8_t i=0; i<4; i++) { tmp = 10 * tmp + (bcd[i] >> 4); tmp = 10 * tmp + (bcd[i] & 0x0f); } tmp = 10 * tmp + (bcd[4] >> 4); if (tmp > 0x33333333) // 2**33 / 10 bin[0] = 0x02; else if (tmp > 0x19999999) // 2**32 / 10 bin[0] = 0x01; else bin[0] = 0x00; tmp = 10 * tmp + (bcd[4] & 0x0f); if (tmp < (bcd[4] & 0x0f)) ++bin[0]; for (uint8_t i=4; i; i--) {
-
Thread
Stm32f103 Problem mit Spi2
SPI1->CR1&=~(7<<3);// /4 fullspeed SPI2->CR1&=~(7<<3);SPI2->CR1|=(1<<3);// for (i=0;i<120;i++){ tmp=array[i]; ck=(tmp&(_ck))<<4;//16 lcd_pixel(i+1,150-ck,BLACK); if (old_ck!=ck){//bei Sprung for(j=0;j<16+1;j++)lcd_pixel(i,150-j,BLACK); }//sprung old_ck=ck; mosi=(tmp&(_mosi
mosi){//bei Sprung for(j=0;j<16+1;j++)lcd_pixel(i,170-j,RED); } old_mosi=mosi; cs=(tmp&(1<<0));//16 lcd_pixel(i+1,190-cs,GREEN); }//for //Auswertung old_ck=255; for (n=0;n<120;n++) { tmp=array[n]; ck=tmp&_ck; mosi=(tmp&(_mosi)); //lgi(1+n%25,14,n);lw("-");lcd_bitweise(tmp
-
Thread
Debian 6 und Ubuntu 10.04
inherit ACTIVE '/dev/Arch01/swap' [4.00 GiB] inherit ACTIVE '/dev/Arch01/tmp' [4.00 GiB] inherit ACTIVE '/dev/Arch01/home' [447.57 GiB] inherit ACTIVE '/dev/lx5/root' [448.36 GiB] inherit ACTIVE '/dev/lx5/swap_1' [17.11 GiB] inherit
ermitteln. Uhu Uhuhu schrieb im Beitrag #2688056: > UUID=128bb137-2e0f-4ba1-bed9-549b8840d2db /tmp ext4 defaults 0 1 Nanun, es ist eigentlich üblich /tmp als tmpfs (ramdisk) zu mounten.
-
Thread
Brute Force mit dem Arduino
[c] int16_t zahl; uint8_t ziffer[4]; for( zahl = 0; zahl < 10000; zahl++ ){ unit16_t tmp = zahl; for( int8_t i = 3; i >= 0, i-- ){ ziffer[i] = tmp % 10; tmp /= 10; // mache was mit den 4 Ziffern } } [/c]
auf: [c] int16_t zahl; uint8_t ziffer[4]; for( zahl = 0; zahl < 10000; zahl++ ){ unit16_t tmp = zahl; for( int8_t i = 3; i >= 0, i-- ){ ziffer[i] = tmp % 10; tmp /= 10; switch(tmp): case 1: SendIRCode1(); break; case
-
Thread
Parameterübergabe in Zusammenhang mit Unterprogrammen
Addition auch als Funktion hinschreiben kannst. Etwa: [c] int Addiere (int a, int b) { int tmp; tmp = a + b; return tmp; [/c] So. Du kannst jede Verknüpfung zweier Werte, die Du als Ausdruck hinschreiben kannst ("tmp = a + b" nennt man einen Ausdruck) auch als Funktion schreiben,
... [/c] Eine richtige Variante wäre diese: [c] char LEDschalten (char z) { char tmp; if (z=gr) { tmp = gr; // grüne LED einschalten } else { tmp = ge; // gelbe LED einschalten } return (tmp); ... [/c]
-
Thread
Mittelwertfilter
DataInxDI; end if; end process FIR_ff; FIR_comb: process (DataBufxDS) variable tmp : integer range 0 to 127; begin for c in 0 to 63 loop tmp := tmp + to_integer(unsigned(DataBufxDS(c))); end loop; MetrikxDO <= std_logic_vector(to_unsigned(tmp,3))
tmp [/pre] Zum Hintergrund: http://www.lothar-miller.de/s9y/categories/36-Kombinatorische-Schleife Das Schlimme daran: das wirst du bei einer Simulation nicht feststellen, weil die Änderdung von
-
Thread
Schaltung korrekt für LED Fader mit ATMega32?!
} void pwm_up_down (const uint16_t pwm_table[], int16_t size, uint16_t delay) { int16_t tmp; for (tmp = 0; tmp < size; tmp++) { OCR1A = pgm_read_word (& pwm_table[tmp]); my_delay (delay); } for (tmp = size-1; tmp >= 0; tmp--) { OCR1A
Schritt void pwm_up_down (const uint16_t pwm_table[], int16_t size, uint16_t delay) { int16_t tmp; for (tmp = 0; tmp < size; tmp++) { OCR1A = pgm_read_word (& pwm_table[tmp]); my_delay (delay); } for (tmp = size-1; tmp >= 0; tmp--) { OCR1A
-
Thread
Webserver mit Capi over TCP/Anrufmonitor Fritzbox
0; fritz_get = 1; unsigned long index = MAX_ARP_ENTRY; unsigned char tmp_counter = 0; while((index >= MAX_ARP_ENTRY) && (tcp_entry[index].app_status != 1)) { index = tcp_entry_search (fritz_SERVER,HTONS(fritz_PORT)); if (tmp_counter++ > 30
sollte gehen, was mir aber anscheinend Daten im flash überschreibt.... [c] unsigned char fritz_tmp[(MTU_SIZE*2)+1]; int xx=0; for (int a = TCP_DATA_START_VAR;a < TCP_DATA_END_VAR;a++) { strcpy(fritz_tmp[xx],eth_buffer[a]); fritz_DEBUG("",fritz_tmp[xx]); //lcd_print (3,1,"",eth_buffer[
-
Thread
Moodlight Sourcecode hilfe
65535 auf 1092s Schlüssel wäre also diese Stelle : [c] ... if (pwm_setting[0] > pwm_cnt) tmp |= (1<<0); if (pwm_setting[1] > pwm_cnt) tmp |= (1<<1); if (pwm_setting[2] > pwm_cnt) tmp |= (1<<2); if (pwm_setting[3] > pwm_cnt) tmp |= (1<<3); PWM_PORT = tmp;
static uint8_t pwm_cnt=0; static uint8_t mood_prescaler=0; // ein Prescaler ! uint8_t tmp=0; if (pwm_setting[0] > pwm_cnt) tmp |= (1<<0); if (pwm_setting[1] > pwm_cnt) tmp |= (1<<1); if (pwm_setting[2] > pwm_cnt) tmp |= (1<<2); if (pwm_setting[3] > pwm_cnt) tmp |= (
-
Thread
Dividieren durch Multiplizieren
(5 * 2**32 / 27). Rückübersetzt nach C entspricht dieser Code dem folgenden: [c] uint32_t tmp = (uint64_t)x * 795364315 >> 32; y = (tmp + ((x - tmp) >> 1)) >> 4; [/c] Im Vergleich zu deiner Lösung ist hier die magische Konstante nur 30 statt 32 Bit groß, dafür werden aber insgesamt mehr
Werte von 1 bis 30E6? Hmm ... log((2**40-1) / 27)/(log(2) = 35,245 ... Ergebnis müsste dann 36Bit haben.
-
Thread
Sinus LUT in BlockRAM
: real := 2**(real(OUTPUT_WIDTH-1)); constant STEP : real := 1.0/real(MEM_SIZE); variable tmp : memory_t := (others => (others => '0')); begin for i in 0 to MEM_SIZE-1 loop tmp(i) := std_logic_vector(to_signed(integer(sin(2.0*MATH_PI*real(i)*STEP)*(SCALE-real(0.5)
BlockRAM Wie groß sind denn die BlockRAMs in Deinem MAX10? Bei Xilinx sind die üblicherweise 18 (oder 36) Bit breit, da wäre dann 20 Bit eher suboptimal. Duke