Discussion in "Project Doubts" started by    bianchi    Apr 17, 2012.
Tue Apr 17 2012, 10:02 AM
#1
Friends,

Do you know init code for 2MPix camera module MT9D111 ?
Any informations will be very appreciated,

thanks
Wed Apr 18 2012, 04:21 PM
#2
can you share datasheet?
Wed Apr 18 2012, 09:14 PM
#3
Download this file
www.brandsite.nl/mt9d111/MT9D111_dev_guide.pdf
and check the section called
"Initializing the MT9D131"
Thu Apr 19 2012, 01:43 AM
#4


Download this file
www.brandsite.nl/mt9d111/MT9D111_dev_guide.pdf
and check the section called
"Initializing the MT9D131"

ExperimenterUK


do you have reference on code example ?
thanks
Thu Apr 19 2012, 06:45 PM
#5
I think you should try looking at Micron's website for code
Mon May 07 2012, 07:14 PM
#6
Hi,

This is my init code for the MT9D111 module available from ebay

  /* soft reset 
   1. Bypass the PLL, R0x65:0 = 0xA000, if it is currently used.
    2. Perform MCU reset by setting R0xC3:1 = 0x0501.
    3. Enable soft reset by setting R0x0D:0 = 0x0021. Bit 0 is used for the sensor core reset
    while bit 5 refers to SOC reset.
    4. Disable soft reset by setting R0x0D:0 = 0x0000.
    5. Wait 24 clock cycles before using the two-wire serial interface.
    */
    writeRegister(0,0x65,0xA000);
    writeRegister(1,0xC3,0x0501);
    writeRegister(0,0x0D, 0x0021);
    writeRegister(0,0x0D, 0x0000);
    wait(0.01);    
   pc.printf("Init: Set mode parameters\n\r"); 

//This file was generated by: MT9D111 (SOC2010) Register Wizard
//  Version: 4.3.2.30322    Build Date: 01/11/2012
//
//[MODE A PARAMETERS]
//
//Max Frame Time: n/a
//Max Frame Clocks: 150000000.0 clocks (3 MHz)
//No. of ADCs: 2
//Skip Mode: 1x cols, 1x rows, Bin Mode: Yes
//Active Sensor Columns: 808 pixels
//Active Sensor Rows: 608 rows
//Horiz Blanking: 8019 pixels
//Vert Blanking: 16384 rows
//Extra Delay: 11616 clocks
//
//Actual Frame Clocks: 150000000 clocks
//Row Time: 2942.333 usec / 8827 clocks
//Frame time: 50000 msec
//Frames per Sec: 0.020 fps
//
//Max Shutter Delay: 7508
//50Hz Flicker Period: 3.40 lines
//60Hz Flicker Period: 2.83 lines
//
//[MODE B PARAMETERS]
//
//Max Frame Time: 9803.92 msec
//Max Frame Clocks: 29411764.7 clocks (3 MHz)
//No. of ADCs: 1
//Skip Mode: 2x cols, 2x rows, Bin Mode: No
//Active Sensor Columns: 408 pixels / 816 clocks
//Active Sensor Rows: 308 rows
//Horiz Blanking: 4005 pixels / 8011 clocks
//Vert Blanking: 3024 rows
//Extra Delay: 100 clocks
//
//Actual Frame Clocks: 29411764 clocks
//Row Time: 2942.333 usec / 8827 clocks
//Frame time: 9803.921333 msec
//Frames per Sec: 0.102 fps
//
//Max Shutter Delay: 7962
//50Hz Flicker Period: 3.40 lines
//60Hz Flicker Period: 2.83 lines
//
//

writeRegister(0, 0x05, 0x0FA5);        //HBLANK (B) = 4005
writeRegister(0, 0x06, 0x0BD0);        //VBLANK (B) = 3024
writeRegister(0, 0x07, 0x1F53);        //HBLANK (A) = 8019
writeRegister(0, 0x08, 0x4000);        //VBLANK (A) = 16384
writeRegister(0, 0x20, 0x0790);        //Read Mode (B) = 1936
writeRegister(0, 0x21, 0x8000);        //Read Mode (A) = 32768
writeRegister(0, 0x66, 0x1400);        //PLL Control 1 = 5120
writeRegister(0, 0x67, 0x509);         //PLL Control 2 = 1289
writeRegister(0, 0x65, 0xA000);        //Clock CNTRL: PLL ON = 40960
writeRegister(0, 0x65, 0x2000);        //Clock CNTRL: USE PLL = 8192

writeRegister(1, 0xC6, 0xA122);        //Enter Preview: Auto Exposure
writeRegister(1, 0xC8, 0x01);        //      = 1
writeRegister(1, 0xC6, 0xA123);        //Enter Preview: Flicker Detection
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA124);        //Enter Preview: Auto White Balance
writeRegister(1, 0xC8, 0x01);        //      = 1
writeRegister(1, 0xC6, 0xA125);        //Enter Preview: Auto Focus
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA126);        //Enter Preview: Histogram
writeRegister(1, 0xC8, 0x01);        //      = 1
writeRegister(1, 0xC6, 0xA127);        //Enter Preview: Strobe Control
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA128);        //Enter Preview: Skip Control
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA129);        //In Preview: Auto Exposure
writeRegister(1, 0xC8, 0x03);        //      = 3
writeRegister(1, 0xC6, 0xA12A);        //In Preview: Flicker Detection
writeRegister(1, 0xC8, 0x02);        //      = 2
writeRegister(1, 0xC6, 0xA12B);        //In Preview: Auto White Balance
writeRegister(1, 0xC8, 0x03);        //      = 3
writeRegister(1, 0xC6, 0xA12C);        //In Preview: Auto Focus
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA12D);        //In Preview: Histogram
writeRegister(1, 0xC8, 0x03);        //      = 3
writeRegister(1, 0xC6, 0xA12E);        //In Preview: Strobe Control
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA12F);        //In Preview: Skip Control
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA130);        //Exit Preview: Auto Exposure
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA131);        //Exit Preview: Flicker Detection
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA132);        //Exit Preview: Auto White Balance
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA133);        //Exit Preview: Auto Focus
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA134);        //Exit Preview: Histogram
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA135);        //Exit Preview: Strobe Control
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA136);        //Exit Preview: Skip Control
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA137);        //Capture: Auto Exposure
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA138);        //Capture: Flicker Detection
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA139);        //Capture: Auto White Balance
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA13A);        //Capture: Auto Focus
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA13B);        //Capture: Histogram
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA13C);        //Capture: Strobe Control
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA13D);        //Capture: Skip Control
writeRegister(1, 0xC8, 0x00);        //      = 0


writeRegister(1, 0xC6, 0x2703);        //Output Width (A)
writeRegister(1, 0xC8, 0x0320);        //      = 800
writeRegister(1, 0xC6, 0x2705);        //Output Height (A)
writeRegister(1, 0xC8, 0x0258);        //      = 600
writeRegister(1, 0xC6, 0x2707);        //Output Width (B)
writeRegister(1, 0xC8, 0x0190);        //      = 400
writeRegister(1, 0xC6, 0x2709);        //Output Height (B)
writeRegister(1, 0xC8, 0x012C);        //      = 300
writeRegister(1, 0xC6, 0x270B);        //mode_config
writeRegister(1, 0xC8, 0x0030);        //      = 48
writeRegister(1, 0xC6, 0x270F);        //Row Start (A)
writeRegister(1, 0xC8, 0x01C);        //      = 28
writeRegister(1, 0xC6, 0x2711);        //Column Start (A)
writeRegister(1, 0xC8, 0x03C);        //      = 60
writeRegister(1, 0xC6, 0x2713);        //Row Height (A)
writeRegister(1, 0xC8, 0x4B0);        //      = 1200
writeRegister(1, 0xC6, 0x2715);        //Column Width (A)
writeRegister(1, 0xC8, 0x640);        //      = 1600
writeRegister(1, 0xC6, 0x2717);        //Extra Delay (A)
writeRegister(1, 0xC8, 0x560);        //      = 1376
writeRegister(1, 0xC6, 0x2719);        //Row Speed (A)
writeRegister(1, 0xC8, 0x0011);        //      = 17
writeRegister(1, 0xC6, 0x271B);        //Row Start (B)
writeRegister(1, 0xC8, 0x01C);        //      = 28
writeRegister(1, 0xC6, 0x271D);        //Column Start (B)
writeRegister(1, 0xC8, 0x03C);        //      = 60
writeRegister(1, 0xC6, 0x271F);        //Row Height (B)
writeRegister(1, 0xC8, 0x258);        //      = 600
writeRegister(1, 0xC6, 0x2721);        //Column Width (B)
writeRegister(1, 0xC8, 0x320);        //      = 800
writeRegister(1, 0xC6, 0x2723);        //Extra Delay (B)
writeRegister(1, 0xC8, 0x064);        //      = 100
writeRegister(1, 0xC6, 0x2725);        //Row Speed (B)
writeRegister(1, 0xC8, 0x0011);        //      = 17
writeRegister(1, 0xC6, 0x2727);        //Crop_X0 (A)
writeRegister(1, 0xC8, 0x0000);        //      = 0
writeRegister(1, 0xC6, 0x2729);        //Crop_X1 (A)
writeRegister(1, 0xC8, 0x0320);        //      = 800
writeRegister(1, 0xC6, 0x272B);        //Crop_Y0 (A)
writeRegister(1, 0xC8, 0x0000);        //      = 0
writeRegister(1, 0xC6, 0x272D);        //Crop_Y1 (A)
writeRegister(1, 0xC8, 0x0258);        //      = 600
writeRegister(1, 0xC6, 0x2735);        //Crop_X0 (B)
writeRegister(1, 0xC8, 0x0000);        //      = 0
writeRegister(1, 0xC6, 0x2737);        //Crop_X1 (B)
writeRegister(1, 0xC8, 0x0190);        //      = 400
writeRegister(1, 0xC6, 0x2739);        //Crop_Y0 (B)
writeRegister(1, 0xC8, 0x0000);        //      = 0
writeRegister(1, 0xC6, 0x273B);        //Crop_Y1 (B)
writeRegister(1, 0xC8, 0x012C);        //      = 300
writeRegister(1, 0xC6, 0xA743);        //Gamma and Contrast Settings (A)
writeRegister(1, 0xC8, 0x42);        //      = 66
writeRegister(1, 0xC6, 0xA744);        //Gamma and Contrast Settings (B)
writeRegister(1, 0xC8, 0x42);        //      = 66

writeRegister(1, 0xC6, 0xA745);        //Gamma Table 0 (A)
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA746);        //Gamma Table 1 (A)
writeRegister(1, 0xC8, 0x14);        //      = 20
writeRegister(1, 0xC6, 0xA747);        //Gamma Table 2 (A)
writeRegister(1, 0xC8, 0x23);        //      = 35
writeRegister(1, 0xC6, 0xA748);        //Gamma Table 3 (A)
writeRegister(1, 0xC8, 0x3A);        //      = 58
writeRegister(1, 0xC6, 0xA749);        //Gamma Table 4 (A)
writeRegister(1, 0xC8, 0x5E);        //      = 94
writeRegister(1, 0xC6, 0xA74A);        //Gamma Table 5 (A)
writeRegister(1, 0xC8, 0x76);        //      = 118
writeRegister(1, 0xC6, 0xA74B);        //Gamma Table 6 (A)
writeRegister(1, 0xC8, 0x88);        //      = 136
writeRegister(1, 0xC6, 0xA74C);        //Gamma Table 7 (A)
writeRegister(1, 0xC8, 0x96);        //      = 150
writeRegister(1, 0xC6, 0xA74D);        //Gamma Table 8 (A)
writeRegister(1, 0xC8, 0xA3);        //      = 163
writeRegister(1, 0xC6, 0xA74E);        //Gamma Table 9 (A)
writeRegister(1, 0xC8, 0xAF);        //      = 175
writeRegister(1, 0xC6, 0xA74F);        //Gamma Table 10 (A)
writeRegister(1, 0xC8, 0xBA);        //      = 186
writeRegister(1, 0xC6, 0xA750);        //Gamma Table 11 (A)
writeRegister(1, 0xC8, 0xC4);        //      = 196
writeRegister(1, 0xC6, 0xA751);        //Gamma Table 12 (A)
writeRegister(1, 0xC8, 0xCE);        //      = 206
writeRegister(1, 0xC6, 0xA752);        //Gamma Table 13 (A)
writeRegister(1, 0xC8, 0xD7);        //      = 215
writeRegister(1, 0xC6, 0xA753);        //Gamma Table 14 (A)
writeRegister(1, 0xC8, 0xE0);        //      = 224
writeRegister(1, 0xC6, 0xA754);        //Gamma Table 15 (A)
writeRegister(1, 0xC8, 0xE8);        //      = 232
writeRegister(1, 0xC6, 0xA755);        //Gamma Table 16 (A)
writeRegister(1, 0xC8, 0xF0);        //      = 240
writeRegister(1, 0xC6, 0xA756);        //Gamma Table 17 (A)
writeRegister(1, 0xC8, 0xF8);        //      = 248
writeRegister(1, 0xC6, 0xA757);        //Gamma Table 18 (A)
writeRegister(1, 0xC8, 0xFF);        //      = 255
writeRegister(1, 0xC6, 0xA758);        //Gamma Table 0 (B)
writeRegister(1, 0xC8, 0x00);        //      = 0
writeRegister(1, 0xC6, 0xA759);        //Gamma Table 1 (B)
writeRegister(1, 0xC8, 0x14);        //      = 20
writeRegister(1, 0xC6, 0xA75A);        //Gamma Table 2 (B)
writeRegister(1, 0xC8, 0x23);        //      = 35
writeRegister(1, 0xC6, 0xA75B);        //Gamma Table 3 (B)
writeRegister(1, 0xC8, 0x3A);        //      = 58
writeRegister(1, 0xC6, 0xA75C);        //Gamma Table 4 (B)
writeRegister(1, 0xC8, 0x5E);        //      = 94
writeRegister(1, 0xC6, 0xA75D);        //Gamma Table 5 (B)
writeRegister(1, 0xC8, 0x76);        //      = 118
writeRegister(1, 0xC6, 0xA75E);        //Gamma Table 6 (B)
writeRegister(1, 0xC8, 0x88);        //      = 136
writeRegister(1, 0xC6, 0xA75F);        //Gamma Table 7 (B)
writeRegister(1, 0xC8, 0x96);        //      = 150
writeRegister(1, 0xC6, 0xA760);        //Gamma Table 8 (B)
writeRegister(1, 0xC8, 0xA3);        //      = 163
writeRegister(1, 0xC6, 0xA761);        //Gamma Table 9 (B)
writeRegister(1, 0xC8, 0xAF);        //      = 175
writeRegister(1, 0xC6, 0xA762);        //Gamma Table 10 (B)
writeRegister(1, 0xC8, 0xBA);        //      = 186
writeRegister(1, 0xC6, 0xA763);        //Gamma Table 11 (B)
writeRegister(1, 0xC8, 0xC4);        //      = 196
writeRegister(1, 0xC6, 0xA764);        //Gamma Table 12 (B)
writeRegister(1, 0xC8, 0xCE);        //      = 206
writeRegister(1, 0xC6, 0xA765);        //Gamma Table 13 (B)
writeRegister(1, 0xC8, 0xD7);        //      = 215
writeRegister(1, 0xC6, 0xA766);        //Gamma Table 14 (B)
writeRegister(1, 0xC8, 0xE0);        //      = 224
writeRegister(1, 0xC6, 0xA767);        //Gamma Table 15 (B)
writeRegister(1, 0xC8, 0xE8);        //      = 232
writeRegister(1, 0xC6, 0xA768);        //Gamma Table 16 (B)
writeRegister(1, 0xC8, 0xF0);        //      = 240
writeRegister(1, 0xC6, 0xA769);        //Gamma Table 17 (B)
writeRegister(1, 0xC8, 0xF8);        //      = 248
writeRegister(1, 0xC6, 0xA76A);        //Gamma Table 18 (B)
writeRegister(1, 0xC8, 0xFF);        //      = 255

writeRegister(1, 0xC6, 0x276D);        //FIFO_Conf1 (A)
writeRegister(1, 0xC8, 0xE0E1);        //      = 57569
writeRegister(1, 0xC6, 0xA76F);        //FIFO_Conf2 (A)
writeRegister(1, 0xC8, 0xE1);        //      = 225
writeRegister(1, 0xC6, 0x2774);        //FIFO_Conf1 (B)
writeRegister(1, 0xC8, 0xE0E1);        //      = 57569
writeRegister(1, 0xC6, 0xA776);        //FIFO_Conf2 (B)
writeRegister(1, 0xC8, 0xE1);        //      = 225
writeRegister(1, 0xC6, 0x220B);        //Max R12 (B)(Shutter Delay)
writeRegister(1, 0xC8, 0x1D54);        //      = 7508
writeRegister(1, 0xC6, 0xA217);        //IndexTH23
writeRegister(1, 0xC8, 0x08);        //      = 8
writeRegister(1, 0xC6, 0x2228);        //RowTime (msclk per)/4
writeRegister(1, 0xC8, 0x089C);        //      = 2204
writeRegister(1, 0xC6, 0x222F);        //R9 Step
writeRegister(1, 0xC8, 0x0002);        //      = 2
writeRegister(1, 0xC6, 0xA408);        //search_f1_50
writeRegister(1, 0xC8, 0xFF);        //      = 255
writeRegister(1, 0xC6, 0xA409);        //search_f2_50
writeRegister(1, 0xC8, 0x01);        //      = 1
writeRegister(1, 0xC6, 0xA40A);        //search_f1_60
writeRegister(1, 0xC8, 0xFF);        //      = 255
writeRegister(1, 0xC6, 0xA40B);        //search_f2_60
writeRegister(1, 0xC8, 0x01);        //      = 1
writeRegister(1, 0xC6, 0x2411);        //R9_Step_60
writeRegister(1, 0xC8, 0x0002);        //      = 2
writeRegister(1, 0xC6, 0x2413);        //R9_Step_50
writeRegister(1, 0xC8, 0x0003);        //      = 3

wait(0.5);
writeRegister(1, 0xC6, 0xA103);        //Refresh Sequencer Mode
writeRegister(1, 0xC8, 0x06);        //      = 6
wait(0.5);
writeRegister(1, 0xC6, 0xA103);        //Refresh Sequencer
writeRegister(1, 0xC8, 0x05);        //      = 5

Mon May 07 2012, 08:55 PM
#7
wow a biggg... code. I think you can also take help from linux kernel check if micron driver is there under "drivers/media/video/"
Mon May 07 2012, 10:20 PM
#8
thanks for the init code, any codes example on how to capture image ?
thanks
Tue May 08 2012, 08:08 AM
#9
Hi,

Check the included source code.
I've tried to configure the MT9D111 in such a way that it outputs JPEG data as slow as possible using a adaptive PIXCLK.

This is an initial picture how I connect the MT9D111 to an mbed dev board:


CLK and RST are accidently swapped in this image.

The code provided in the zip is still testcode. When everything is stable, i'll post an update.
 ajay_bhargav like this.
Tags mt9d111 source codemt9d111 jpeg output codemt9d111 connection to lpc1768mt9d111 initialization code
Wed May 09 2012, 08:34 PM
#10
I do not understand this circuit... :/

Get Social

Information

Powered by e107 Forum System

Conversation

Sun Oct 13 2019, 02:02 AM
Aline Hutchinson
Hey there,
ExperimenterUK
Sat Oct 12 2019, 10:23 PM
Log in.. then post your code in the 8051 forum
Sat Oct 12 2019, 10:18 AM
Bhadra Sajikumar
i am doing a countdown timer with 8051 for my project, unfortunately our professor had to take a leave of absence before he could teach us most of it.. can someone explain the .asm code of it for me?
Mon Sep 23 2019, 07:37 AM
Nathaniel
I am doing a project for my schools wireless security system with cameras,sensors and spot lights using 8051 micro controller, could you help me out with the design and its source code.
Wed Sep 18 2019, 08:48 PM
Caryn Kover
Thank you for your time,
ExperimenterUK
Mon Aug 05 2019, 07:09 PM
@Ismail ..post in forum, give details
Mon Aug 05 2019, 04:33 PM
Ismail balghmi
Hello. Please I won't download
ExperimenterUK
Wed Jul 24 2019, 12:47 AM
@BUSTER123 Please post in the forum
Tue Jul 23 2019, 06:13 PM
BUSTER123
hello! newbie here. i am kind of a guy who hates using ready - made existing libraries, so this helped a lot as i was trying to control and write to a character lcd display. however, i can't figure out how to set the cursor position. for example, i want to set it to the 5th column in the first row, so position 5. so according to the table, i am sending 10000101 on the 8 data lines of the lcd (register select pulled low). the cursor does not move there however. and i cant move the cursor left or right too. is it something wrong that i am doing? thank you.
ExperimenterUK
Thu Jul 11 2019, 07:55 PM
@ramos https://www.theengineeringprojects.com/2017/09/l298-motor-driver-library-proteus.html

Downloads

Comments

ilylily07
Tue Oct 15 2019, 04:32 PM
hientran123
Tue Oct 15 2019, 02:27 AM
Sat Oct 05 2019, 02:38 PM
zexalo
Thu Oct 03 2019, 09:53 AM
thanhle12345
Thu Oct 03 2019, 07:37 AM
ramon_vsc
Fri Sep 20 2019, 04:53 PM
youssoufba
Thu Sep 19 2019, 11:57 AM
Taiphan000
Tue Sep 17 2019, 04:21 AM

Online

Guests: 45, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 38097
Newest member: ilylily07
Forum Activity
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sun Oct 20 2019, 03:09 PM
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sun Oct 20 2019, 03:02 PM
sir, when i on display ,sometime 3rd display is no...
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sun Oct 20 2019, 02:53 PM
sir, when i on display ,sometime 3rd display is no...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sun Oct 20 2019, 12:21 AM
Your code seems okay on my simulationTry my code o...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sun Oct 20 2019, 12:21 AM
Your code seems okay on my simulationTry my code o...
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sat Oct 19 2019, 07:13 PM
please find video attachment. 3rd & 4th displa...
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sat Oct 19 2019, 07:05 PM
sir, 3rd and 4th dot matrix display flickering, ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Oct 18 2019, 09:18 PM
Hopefully you understand some of the program.Which...
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Thu Oct 17 2019, 09:38 PM
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu Oct 17 2019, 08:35 PM
Do you understand how this code works?If so, addin...