Title
Livediesel Blog
Go Home
Category
Description
Address
Phone Number
+1 609-831-2326 (US) | Message me
Site Icon
Livediesel Blog
Page Views
0
Share
Update Time
2022-10-23 17:14:11

"I love Livediesel Blog"

www.livediesel.de VS www.gqak.com

2022-10-23 17:14:11

Livediesel BlogStartseiteProgrammingDelphiC#SmartCard programming in C#ModellbauSpur N ModellbahnRC Fernsteuerung selbst gebautRTL8186Console via MAX3232ModificationsGPIOC Pin AssignmentKernel ModificationsKernel DriverJTAG InterfaceMMC CardReader3D DesignNs3fPeugeot 406LinksImpressum & Datenschutz80C552 Development25. April 2022, 11:54 Last year I owned some Hardware with a Philips 80C552 MCU equipped, and I figured out two more devices.One is a Coin counter with display, and I’ve seen the time always starts at 7:40 so I figured out that the M48T Timekeeper (In German we say “Tick-Tack-Stein”) was not working. With some tutorials I was able to mill the M48T and solder a new battery on.At next the Coin counter shows not the correct currency, so at that point I decided to dig into the 80C51 development.I dumped the ROMs and I look at the available 80C51 debugger/disassemblers etc. but none of them would fit fully the 80C552. So, I decided to create an own listing generator and debugger.The app is written in C# .Net and WPF and is here available: https://github.com/mr-sven/Sim80C51In the end I found the memory address where the index of the language table is stored, and I changed it to the correct currency.Schlagwörter: 80C51, 80C552, PhilipsCategory: 80C51|Kommentare deaktiviert für 80C552 Development Connecting MSP432™ with HY32D Display7. Januar 2019, 17:36 I recently started implementing the HY32D display in MSP432 ARM. I’m using full 16Bit parallel interface via Port B to communicate with the display controller.Hardware:Display HY32DController: SSD1289Interface: 16Bit parallel + 5 control pinsTouch Controller: XPT2046Interface: 4-Wire SPI + 1 IRQBacklight PWMµC MSP432p4111https://github.com/mr-sven/msp432p4111-hy32d-ssd1289-xpt2046Some of the display functions are implemented using assembler for best performance results. Schlagwörter: ARM, assembler, HY32D, MSP, msp432, SSD1289, TI, XPT2046Category: Mikrocontroller, MSP432|Kommentare deaktiviert für Connecting MSP432™ with HY32D Display Update: Aldi Überwachungskamera Maginon IPC-25 HDC14. Februar 2017, 17:38 Ich habe jetzt dafür ein GitHub Repository erstellt: https://github.com/mr-sven/ipc-25hdcCategory: Allgemeines|Kommentare deaktiviert für Update: Aldi Überwachungskamera Maginon IPC-25 HDC Analyse: Aldi Überwachungskamera Maginon IPC-25 HDC10. Februar 2017, 20:01 Nachdem ich mir nun eine zweite Kamera dieser Art an geschafft habe, wollte ich nun doch etwas tiefer ein steigen. Eine Analyse bezüglich Sicherheitslücken habe ich nicht vor, mir geht es hauptsächlich darum die Hardware zu analysieren und ggf. die Software zu verbessern oder aus zu tauschen.Hier erst mal eine Liste mit den gesammelten Daten:Typ: Maginon IPC-25 HDCBetriebssystem: BusyBox LinuxBootloader: U-BootHersteller der Software: supra Foto-Elektronik-Vertriebs-GmbHLink zum GPL Source: http://gpl.supra-elektronik.com/CPU: Ralink RT5350FFlash: Winbond W25Q64BV (64MBit, 8MByte)RAM: 32 MbyteKamera ModulHersteller: UnbekanntTyp: NIF380VX-EMI-V6Anschluss: USBUSB Treiber Baustein: AIT8433 (Alpha Imaging Technology Corp.)#gallery-1 {margin: auto;}#gallery-1 .gallery-item {float: left;margin-top: 10px;text-align: center;width: 25%;}#gallery-1 img {border: 2px solid #cfcfcf;}#gallery-1 .gallery-caption {margin-left: 0;}/* see gallery_shortcode() in wp-includes/media.php */Beim hochladen der Bilder ist mir aufgefallen, das wohl der Pufferkondensator für das PoE zu kein dimensioniert wurde bei der Planung. Aktuell ist ein 100V 100nF auf der Rückseite eingelötet, während der Aufdruck auf der Vorderseite ist.Anschluss der einer Seriellen Console an das Board über einen 3,3V Serial Adapter.Dump vom Boot ProzessDump vom BootloaderDer Bootloader ist soweit ich das beurteilen kann der Standard U-Boot aus dem Ralink SDK in der Version 1.1.3.Die Console gibt auch erst mal nichts spektakuläres her.Analyse KameramodulMein erster versuch die Kamera per USB an einen Rechner an zu schließen und zu sehen was es alles so aus spuckt ist leider gescheitert. Die Kamera bleibt stumm und wird auch nicht im System angezeigt.Nachdem ich den Boot Prozess unterbrochen habe, ist mir dabei etwas aufgefallen: Auch hier wurde plötzlich kein USB Kamera Modul angezeigt.Den Boot Prozess kann man besten unterbrechen wenn man den „daemon“ Prozess direkt nach dem Starten killt, denn sonnst wird der Watchdog an geschmissen und wenn man den „daemon“ killt startet auch der Prozessor nach kurzer Zeit neu. Am besten direkt nach dem die BusyBox Version angezeigt wird.Die Subprozesse kann man in der Datei „/system/init/ipcam.sh“ auskommentieren, so muss man nicht ständig irgendwas killen.Der Connector zur Kamera hat noch ein paar zusätzliche Pins: LEDCTRL, LCR, RSTTeilweise erschließt sich ja die Funktion. Also habe ich nochmal in das Bootlog geschaut, es taucht die folgende Log Zeile auf:RT5350/HD/h264/8433/vienc.c, line  413, H264SetIRCutMode        : waiting ait 8433 init overKurz danach wird dann auch die Kamera per USB initialisiert. Da wird wohl mit den Pins gespielt um den AIT 8433 zu beleben.Zum testen habe ich einfach mal den RST Pin auf 5V gelegt und siehe da, die Kamera meldet sich. Habe sie dann nochmal an den PC angeschlossen und sie wird sauber als Kamera installiert.Die Frage ist nun wie bekomme ich den RST Pin auf high.Nach mehreren Stunden testen habe ich heraus gefunden, dass der Kerneltreiber manipuliert wurde. Beim öffnen des GPIO Devices meldet sich der Kernel immer mit „ralink gpio release by zqh“ und „clr gpio“. Dem Anschein nach werden alle GPIOs beim schließen des Filedescriptors auf null gesetzt. Sehr toll! Super! Was für ein Freak denkt sich so etwas aus? Ich kann mir momentan kein Szenario vorstellen wo ich das benötigen könnte, selbst wenn der Prozess abstützt, warum soll ich denn das Kamera Modul oder die IR LEDs ausschalten? Was für ein quatsch.Ich könnt stundenlang so weiter machen, aber genug davon.Nun gut, hier nochmal die Pinbelegung des Kamera Moduls:5V – VCC5V – VCCDM – USB Daten MinusDP – USB Daten PlusGND – GroundLEDCTRL – High wenn IR Filter aktivGND – GroundLCR – IR LED ControlRST – Modul ResetNun was interessantes, der uvcvideo Treiber meldet unter anderem das Video Format „MJPEG 1280×720 (30.0 fps)“, daher verstehe ich nicht, warum 720p nur über das Depricated Flash in H.264 auf der Kameraseite geht.Einige Tests mit den GPIOs ergab folgendes Ergebnis:GPIO 0 – Taste am NetzwerkkabelGPIO 11 – (LCR) IR LED einschalten (geht nur wenn der IR Filter inaktiv ist)GPIO 12 – (RST) Kamera Reset PinGPIO 13 – Gelbe LED am NetzwerkkabelGPIO 14 – (LEDCTRL) IR FilterNetzwerkWährend der ganzen Testerei mit den GPIOs musste ich natürlich immer wieder Dateien per TFTP kopieren, das ging natürlich nur mit Netzwerk. Da ich mit mehreren Versuchen das Netzwerk in Gang zu bekommen kläglich gescheitert bin, musste ich immer der „daemon“ Prozess starten um Netzwerken zu können. Das hatte leider immer den Nachteil, dass das GPIO Device immer belegt wurde, also jedes mal neu starten.Ich habe es dann doch irgendwann geschafft das Netzwerk starten zu können, habe dafür nochmal das Bootlog angeschaut. Da tauchen dann Kommandozeilen auf die den Internen Switch konfigurieren. Tatsächlich ist das im Script /usr/sbin/network.sh alles hinterlegt, also zack das Script ausgeführt und den udhcpc gestartet.VideoNachdem ja die Kamera auch 1280×720 per MJPEG kann, habe ich diese Auflösung in das uvc_stream Programm eingepatchd und erfolgreich getestet.Der Grundstein ist soweit gelegt, ich denke damit kann man eine eigene Firmware für die Kamera bauen. Und wie es weiter geht seht ihr wenn das Licht an geht, nein quatsch. Ich denke das ich nur ein kleines Script schreiben werde, was den uvc_stream Prozess startet, das Netzwerk Konfiguriert und die GPIOs ein schaltet. Ich bin nicht so der Typ für Aufwändige GUIs und Config Kram, aber vielleicht hilft es jemanden oder jemand Forkt das Ralink SDK für die Kamera, dann kann ich mich gerne daran beteiligen.Schlagwörter: IPC, IPC-25, IPC-25 HDC, MaginonCategory: Mikrocontroller|Kommentare deaktiviert für Analyse: Aldi Überwachungskamera Maginon IPC-25 HDC Anker® PowerLine+ Micro USB19. Februar 2016, 21:30 Lieferung:Das mit Kevlar (Synthetische Kunststofffaser) umwickelte Kabel ist in einer sehr eleganten Schutzhülle aus einer Art Filz untergebracht und mit einem Klettband zusammen gebunden.Das Kabel:Dieses macht einen sehr hochwertigen Eindruck, fäßt sich gut an und macht das Laden von Geräten zu einem optischen Highlight. Selbst das Übertragen von Daten ist kein Problem.Die Stecker sind vernickelt, die Pins sind vergoldet, damit ist das Kabel sehr stabil und robust.Für mich gehört dieses Kabel (durch seine Aufmachung) in die absolute Oberklasse, ich kann es jedem empfehlen und es bekommt von mir volle 5 Sterne.Ich bedanke mich bei Anker für das Rezensionsexemplar. http://de.anker.com/Schlagwörter: Anker, usbCategory: Allgemeines|Kommentare deaktiviert für Anker® PowerLine+ Micro USB Increase MSP432™ SPI Performance – Part 229. Dezember 2015, 19:59 Ok, here it is, the Fill function written in assembler.Due some caching of hardware register addresses in the Core registers, I was able to reduce the following code from 8+ steps to 4.UCB2TXBUF = data;while (UCB2STATW & UCBUSY);The following assembler source is the first full standalone assembler code I wrote. Don’t be mad at me!ILICTL_POUT .word 0x40004C42 ; P5OUTILIUCI_TXBUF .word 0x4000280E ; UCB2TXBUFILIUCI_STATW .word 0x40002808 ; UCB2STATWILI9341_RAMWR .set 0x2cILICTL_DCX .set 0x0004UCBUSY .set 0x0001;############################################################################################; extern void ILI9341_FillASM(uint16_t color, uint32_t count32); .global ILI9341_FillASMILI9341_FillASM: .asmfuncColor .set r0 ; r0 = Color ; Param 0Count .set r1 ; r1 = Count ; Param 1TXBUF .set r2 ; r2 = ILIUCI_TXBUFSTATW .set r3 ; r3 = ILIUCI_STATWPOUT .set r4 ; r4 = ILICTL_POUTColorH .set r5 ; r5 = Color >> 8Slow .set r6 ; r6 = Count & 0x0007Buffer .set r7 push {r4-r7}; cache hardware register addresses ldr TXBUF, ILIUCI_TXBUF ldr STATW, ILIUCI_STATW ldr POUT, ILICTL_POUT; ILI_COMMAND ldrb Buffer, [POUT] bic Buffer, Buffer, #ILICTL_DCX strb Buffer, [POUT]; transmit ramwr byte mov Buffer, #ILI9341_RAMWR strb Buffer, [TXBUF]RAMWR_Busy_L: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne RAMWR_Busy_L; ILI_DATA ldrb Buffer, [POUT] orr Buffer, Buffer, #ILICTL_DCX strb Buffer, [POUT] lsr ColorH, Color, #8 ; Color >> 8 ands Slow, Count, #0x0007 ; Test if lower bits of count is set beq FastSlow_L: ; Slow data loop strb ColorH, [TXBUF] ; Color HSlow_Busy_L0: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Slow_Busy_L0 strb Color, [TXBUF] ; Color LSlow_Busy_L1: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Slow_Busy_L1 subs Slow, Slow, #1 bne Slow_L ; continue while slow dataFast: ; Fast data lsrs Count, Count, #3 ; count >> 3 beq End ; if count = 0, goto endFast_L: ; fast data loop ; ----------------- Data 0 ----------------- strb ColorH, [TXBUF] ; Color HFast_Busy_L0: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L0 strb Color, [TXBUF] ; Color LFast_Busy_L1: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L1 ; ----------------- Data 1 ----------------- strb ColorH, [TXBUF] ; Color HFast_Busy_L2: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L2 strb Color, [TXBUF] ; Color LFast_Busy_L3: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L3 ; ----------------- Data 2 ----------------- strb ColorH, [TXBUF] ; Color HFast_Busy_L4: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L4 strb Color, [TXBUF] ; Color LFast_Busy_L5: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L5 ; ----------------- Data 3 ----------------- strb ColorH, [TXBUF] ; Color HFast_Busy_L6: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L6 strb Color, [TXBUF] ; Color LFast_Busy_L7: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L7 ; ----------------- Data 4 ----------------- strb ColorH, [TXBUF] ; Color HFast_Busy_L8: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L8 strb Color, [TXBUF] ; Color LFast_Busy_L9: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L9 ; ----------------- Data 5 ----------------- strb ColorH, [TXBUF] ; Color HFast_Busy_L10: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L10 strb Color, [TXBUF] ; Color LFast_Busy_L11: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L11 ; ----------------- Data 6 ----------------- strb ColorH, [TXBUF] ; Color HFast_Busy_L12: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L12 strb Color, [TXBUF] ; Color LFast_Busy_L13: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L13 ; ----------------- Data 7 ----------------- strb ColorH, [TXBUF] ; Color HFast_Busy_L14: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L14 strb Color, [TXBUF] ; Color LFast_Busy_L15: ; wait until transmit ldrb Buffer, [STATW] tst Buffer, #UCBUSY bne Fast_Busy_L15 subs Count, Count, #1 bne Fast_L ; continue while fast dataEnd: pop {r4-r7} bx lr .endasmfuncSchlagwörter: MSP, msp432, msp432p401r, spi, TICategory: Mikrocontroller, MSP432, Programming|Kommentare deaktiviert für Increase MSP432™ SPI Performance – Part 2 Increase MSP432™ SPI Performance – Part 122. Dezember 2015, 22:05 Currently I work on a 240×320 Pixel QVGA Display, connected via SPI. As I wrote this article I mentioned this was a bad idea.Following calculation:240 x 320 Pixel = 76.800 Pixel16 Bit (Color Mode) * 76.800 Pixel = 1.228.800 BitMSP432P401R SPI max frequency = 24MHz24.000.000 / 1.228.800 = 19,53125This makes a maximum Full Screen FPS of round about 20. So for the human eye it is to slow.Ok, for now I can’t break this limit, but I can try to reach it.Try One: use eUSCI ISR handlervoid UCIA0IsrHandler(void){ switch(UCIA0IV) { case 0x0004: // UCTXIFG if (fill_count & 0x001) { UCIA0TXBUF = fill_data_h; } else { UCIA0TXBUF = fill_data_l; } fill_count--; if (fill_count) { return; } UCIA0IE &= ~(UCTXIE); break; }}Whats the result of this: a bad one. I tried to count the CPU steps until the new byte is pushed to the transmit buffer.The Disassembler shows 14 steps, I think with ISR Join and Leave I’m over 16, which results in a gap between each byte and the transmission is slower than 20 fps.There are possibilities to optimize this code, but for me are 16 steps between ISRs too few.Try Two: Synchronized transmission#define SendSync(data) \ UCIA0TXBUF = data; \ while (UCIA0STAT & UCBUSY);void Fill(uint16_t color, uint32_t count32){ uint8_t a = color >> 8; uint8_t b = color; uint8_t slow = count32 & 0x07; if (slow) { do { SendSync(a); SendSync(b); } while (--slow); } // x8 unrolled int count = count32 >> 3; if (count) { do { SendSync(a); SendSync(b); SendSync(a); SendSync(b); SendSync(a); SendSync(b); SendSync(a); SendSync(b); SendSync(a); SendSync(b); SendSync(a); SendSync(b); SendSync(a); SendSync(b); SendSync(a); SendSync(b); } while (--count); }}This results in 8 Steps for each byte and with a bit logic you reach the 20 fps.What comes next?, decrease the code size. This can be done using Assembler.The next part, I hope will contain the Fill function in asm.First summaryAt first I would say: what the heck, (TI) you build a 32Bit ARM Core based on MSP430 but there is only a 8Bit SPI Interface. Why don’t use in addition a transfer mask, that makes it variable in how meany bits to transfer. In my case I could set a 16bit mask until the data can be divided by two and then I can ship 32bit data.This could make the use of ISR more efficient, because this creates a gap of 64 CPU Steps, which are enough to do other stuff.Schlagwörter: Display, MSP, msp432, msp432p401r, spiCategory: Mikrocontroller, MSP432, Programming|Kommentare deaktiviert für Increase MSP432™ SPI Performance – Part 1 MSP432™ Interrupt system26. Mai 2015, 14:50 The MSP432™ uses a additional level for interrupts: the Nested Vectored Interrupt Controller (NVIC). Every interrupt you request must be enabled in the NVIC.To enable for example the Timer_A0_N interrupt you have to call also the NVIC function:NVIC_EnableIRQ(TA0_N_IRQn);You can see a list of all interrupts in the msp432p401r.h file, there is a enum type IRQn_Type.At next you can choose between Code based and RAM based interrupt vectors.Code based interruptThe Code based interrupts are hardlinked between the IVT and the ISR.To put a ISR in the IVT you have define the ISR in your application first:// ISR for Timer_A0_Nvoid Timer_A0_N (void){// handle IRQ}At default the IVT is defined in the msp432_startup_ccs.c file, there you have to declare your function:/* External declarations for the interrupt handlers used by the application. *//* To be added by user */extern void Timer_A0_N (void);At last you assign the function to the IVT:#pragma DATA_SECTION(interruptVectors, ".intvecs")void (* const interruptVectors[])(void) ={(void (*)(void))((uint32_t)&__STACK_END),...Timer_A0_N, /* TA0_N ISR */...};In the document SLAA656 (MSP432™ Platform Porting Guide) version 2015-03 is witten the old „#pragma vector“ method should also work, but at my tests the compiler thows some errors on it.RAM based interruptRAM based interrupts can be used in oder if you have multiple applications running on your MSP and every application has it’s own ISRs.For the use of RAM based interrupts I recommend to use the MSP432 DriverLib Interrupt API. You have to create a RAM table and manage the IV entrys and the API is straight forward and implements all the needed functions.You can start using Code based interrupts, if you call the Interrupt_registerInterrupt function at first time, it will copy the whole IVT from Code to RAM.The Interrupt_registerInterrupt and Interrupt_unregisterInterrupt does not enable or disable the interrupt, you have to call Interrupt_enableInterrupt and Interrupt_disableInterrupt manually.As example the timer interrupt:// from MSP432 DriverLib#include "interrupt.h"// ISR for Timer_A0_Nvoid Timer_A0_N (void){// handle IRQ}void main(void){...Interrupt_registerInterrupt(INT_TA0_N, Timer_A0_N);Interrupt_enableInterrupt(INT_TA0_N);...}Schlagwörter: Interrupt, lauchpad, MSP, msp432, msp432p401r, TICategory: Mikrocontroller, MSP432|Kommentare deaktiviert für MSP432™ Interrupt system MSP432™ Clock System speed26. Mai 2015, 12:09 Changing the Clock Speed of the MSP432™ is a bit tricky. First you have to unlock the registers, then you can change the DCO speed. You can ajust the clock using the following DCO values.DCORSELmin MHznormal (DCOTUNE = 0) MHzmax MHzDCORSEL_011.52DCORSEL_1234DCORSEL_2468DCORSEL_381216DCORSEL_4162432DCORSEL_5324864Read more in document SLAU356A (MSP432P4xx Family Technical Reference Manual) version 2015-04 section 5.3.You can increase or decrease the speed using the DCOTUNE Register to any value between min and max. For the correct values of DCOTUNE consult the document SLAA658 (Multi-Frequency Range and Tunable DCO on MSP432P4xx) version 2015-03. These values can be obtained from the TLV.TLV->rDCOIR_MAXNEGTUNE_RSEL04; // DCO IR mode: Max Negative Tune for DCORSEL 0 to 4TLV->rDCOIR_MAXPOSTUNE_RSEL04; // DCO IR mode: Max Positive Tune for DCORSEL 0 to 4TLV->rDCOIR_MAXNEGTUNE_RSEL5; // DCO IR mode: Max Negative Tune for DCORSEL 5TLV->rDCOIR_MAXPOSTUNE_RSEL5; // DCO IR mode: Max Positive Tune for DCORSEL 5The CSKEY register is described as CSACC in the documentation, but in Code Composer Studio the register has still the name CSKEY.Example change DCO to IR and 48MHz:CSKEY = 0x695A; // unlock CS registersCSCTL0 = 0; // reset DCO settingsCSCTL0 = DCORSEL_5; // select DCO 5 (48MHz)CSCTL1 = SELA__REFOCLK | SELS__DCOCLK | SELM__DCOCLK; // ACLK = REFOCLK, SMCLK = MCLK = DCOCLKCSKEY = 0; // lock CS registersSchlagwörter: lauchpad, MSP, msp432, msp432p401r, TICategory: Mikrocontroller, MSP432|Kommentare deaktiviert für MSP432™ Clock System speed WD-G1610J LCD Display Pinout22. Dezember 2014, 21:12 VCC is 3.3V160×100 PixelSPI is running at 5MHz (8MHz and 16MHz should work)LED 1 AnodeLED 2 Cathode orangeLED 3 Cathode greenNCGNDCSn (Chip Select)RESET (0V = off, VCC = on)RS (Register Select, 0V = Command, VCC = Data)Resistor switch, maybe to detect if backlight is supported, via R2 tied to GNDCLK (Clock)DI (Datain)VCCContrastvoltage output (11.1V)GNDKeyout 1Keyout 2Keyout 3Keyout 4Keyout 5Keyin 1Keyin 2Backlight GNDBacklight VCCGNDSchlagwörter: WintekCategory: Display, Mikrocontroller|Kommentare deaktiviert für WD-G1610J LCD Display Pinout « Previous EntriesSeitenProgrammingDelphiC#SmartCard programming in C#ModellbauRC Fernsteuerung selbst gebautSpur N ModellbahnRTL8186Console via MAX3232ModificationsGPIOC Pin AssignmentKernel ModificationsKernel DriverJTAG InterfaceMMC CardReader3D DesignNs3fPeugeot 406LinksImpressum & DatenschutzLinklisteBuchblogCora Lee & BandTraditionsverein Kleinbahn des Kreises Jerichow IOktober 2022MDMDFSS12345678910111213141516171819202122232425262728293031« AprArchiveApril 2022Januar 2019Februar 2017Februar 2016Dezember 2015Mai 2015Dezember 2014November 2014Januar 2014Dezember 2013November 2013Mai 2013März 2013Januar 2013September 2012April 2011März 2011Dezember 2010August 2010Mai 2010Februar 2010November 2009August 2009Mai 2009Neueste Beiträge80C552 DevelopmentConnecting MSP432™ with HY32D DisplayUpdate: Aldi Überwachungskamera Maginon IPC-25 HDCAnalyse: Aldi Überwachungskamera Maginon IPC-25 HDCAnker® PowerLine+ Micro USBMetaAnmeldenFeed der EinträgeKommentare-FeedWordPress.org