Пример #1
0
        public static void TestSetting16bitAtOnce(Nusbio nusbio, ShiftRegister74HC595 sr, int waitTime)
        {
            Console.Clear();
            ConsoleEx.TitleBar(0, GetAssemblyProduct() + " 16 bit value demo", ConsoleColor.Yellow, ConsoleColor.DarkBlue);
            ConsoleEx.Gotoxy(0, 3);

            //sr.TestPins();

            sr.Reset();
            var p1 = 1;
            var p2 = 256;

            for (var i = 0; i < 8; i++)
            {
                sr.SetGpioMask(p1 + p2);
                //sr.SetDataLinesAndAddrLines((byte)p1, (byte)(p2 >> 8));
                //sr.SetGpioMask((byte)p1, (byte)(p2 >> 8));

                Console.WriteLine("16 bite value:{0:000000} - {1} {2}",
                                  p1 + p2,
                                  MadeInTheUSB.WinUtil.BitUtil.BitRpr(p1),
                                  MadeInTheUSB.WinUtil.BitUtil.BitRpr(p2 >> 8)
                                  );
                Thread.Sleep(waitTime);
                p1 *= 2;
                p2 *= 2;
            }

            Console.WriteLine("---");
            Thread.Sleep(waitTime);

            sr.SetGpioMask(0);
            p1 = 1;
            p2 = 256;
            var pp1 = p1;
            var pp2 = p2;

            for (var i = 0; i < 8; i++)
            {
                //sr.SetGpioMask(pp1 + pp2);
                sr.SetGpioMask((byte)pp1, (byte)(pp2 >> 8));

                Console.WriteLine("16 bite value:{0:000000} - {1} {2}",
                                  pp1 + pp2,
                                  MadeInTheUSB.WinUtil.BitUtil.BitRpr(pp1),
                                  MadeInTheUSB.WinUtil.BitUtil.BitRpr(pp2 >> 8)
                                  );
                Thread.Sleep(waitTime);
                p1  *= 2;
                p2  *= 2;
                pp1 += p1;
                pp2 += p2;
            }
            Console.WriteLine("Hit any key to continue");
            Console.ReadKey();
            sr.SetGpioMask(0);
        }
Пример #2
0
        public static void Run(string[] args)
        {
            Console.WriteLine("Nusbio Initializing");
            var serialNumber = Nusbio.Detect();

            if (serialNumber == null) // Detect the first Nusbio available
            {
                Console.WriteLine("Nusbio not detected");
                return;
            }

            // Set to 8 if only using 1 Shift Register 74HC595
            const int MAX_EXTENDED_GPIO = 16;

            //Nusbio.BaudRate = Nusbio.FastestBaudRate / 512;

            using (var nusbio = new Nusbio(serialNumber))
            {
                var sr = new ShiftRegister74HC595(nusbio, MAX_EXTENDED_GPIO, dataPin, latchPin, clockPin);
                Cls(nusbio, sr);
                sr.Reset();
                while (nusbio.Loop())
                {
                    if (Console.KeyAvailable)
                    {
                        var k = Console.ReadKey(true).Key;
                        if (k == ConsoleKey.Q)
                        {
                            break;
                        }

                        if (k == ConsoleKey.D1)
                        {
                            GpioDemo(nusbio, sr);
                        }
                        if (k == ConsoleKey.D2)
                        {
                            GpioDemo(nusbio, sr, demoGpio3to7Too: true);
                        }
                        if (k == ConsoleKey.D3)
                        {
                            TestSetting16bitAtOnce(nusbio, sr, 400);
                        }

                        Cls(nusbio, sr);
                    }
                }
            }
            Console.Clear();
        }
Пример #3
0
        public static void Run(string[] args)
        {
            Console.WriteLine("Nusbio Initializing");
            var serialNumber = Nusbio.Detect();

            if (serialNumber == null) // Detect the first Nusbio available
            {
                Console.WriteLine("Nusbio not detected");
                return;
            }

            const int MAX_EXTENDED_GPIO = 16;

            using (var nusbio = new Nusbio(serialNumber))
            {
                var sr = new ShiftRegister74HC595(nusbio, MAX_EXTENDED_GPIO, dataPin, latchPin, clockPin);
                Cls(nusbio, sr);
                sr.Reset();

                var e = new MadeInTheUSB.EEPROM.EEPROM_AT28C16(
                    nusbio,
                    sr, // address line extra gpio 8,9,10,11,12 (5 bit for address range of 0..32)
                        // data line extra gpio 16,17,18,19,20,21,22,23

                    writeEnable: NusbioGpio.Gpio7, outputEnable: NusbioGpio.Gpio6
                    );

                while (nusbio.Loop())
                {
                    if (Console.KeyAvailable)
                    {
                        var k = Console.ReadKey(true).Key;
                        if (k == ConsoleKey.Q)
                        {
                            break;
                        }

                        if (k == ConsoleKey.D1)
                        {
                            ProgramFor0To15Counter(nusbio, e);
                        }

                        Cls(nusbio, sr);
                    }
                }
            }
            Console.Clear();
        }