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); }
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(); }
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(); }