当前位置: 首页>>代码示例>>C#>>正文


C# GPIOPins类代码示例

本文整理汇总了C#中GPIOPins的典型用法代码示例。如果您正苦于以下问题:C# GPIOPins类的具体用法?C# GPIOPins怎么用?C# GPIOPins使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


GPIOPins类属于命名空间,在下文中一共展示了GPIOPins类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: LCDWrapper

 public LCDWrapper(GPIOPins rs, GPIOPins enable, GPIOPins d0, GPIOPins d1, GPIOPins d2, GPIOPins d3, GPIOPins d4, GPIOPins d5, GPIOPins d6, GPIOPins d7, int columns = 40, int rows = 2, DisplayMode displayMode = DisplayMode.LCD_ONLY)
 {
     DisplayMode = displayMode;
     Columns = columns;
     Rows = rows;
     if (DisplayMode != DisplayMode.CONSOLE_ONLY) {
         transferProvider = new RaspPiGPIOMemLcdTransferProvider(
             fourBitMode: false,
             rs: rs,
             rw: GPIOPins.GPIO_NONE,
             enable: enable,
             d0: d0,
             d1: d1,
             d2: d2,
             d3: d3,
             d4: d4,
             d5: d5,
             d6: d6,
             d7: d7
         );
         lcd = new Lcd(transferProvider);
         lcd.Begin(Convert.ToByte(columns), Convert.ToByte(rows));
         lcd.Backlight = true;
         lcd.BlinkCursor = false;
         lcd.ShowCursor = false;
         lcd.Visible = true;
     }
     if (DisplayMode != DisplayMode.LCD_ONLY) {
         Console.Clear();
         Console.ForegroundColor = ConsoleColor.White;
         Console.BackgroundColor = ConsoleColor.Black;
         Console.CursorVisible = false;
     }
 }
开发者ID:bsutliffe,项目名称:RaspberryPandora,代码行数:34,代码来源:LCDWrapper.cs

示例2: ExportPin

        /// <summary>
        /// Export the GPIO setting the direction. This creates the /sys/class/gpio/gpioXX directory.
        /// </summary>
        /// <param name="pin">The GPIO pin</param>
        /// <param name="direction"></param>
        private static void ExportPin(GPIOPins pin, DirectionEnum direction)
        {
            // If the pin is already exported, check it's in the proper direction
            if (_exportedPins.Keys.Contains((int)pin))
                // If the direction matches, return out of the function. If not, change the direction
                if (_exportedPins[(int)pin] == direction)
                    return;
                else
                {
                    // Set the direction on the pin and update the exported list
                    File.WriteAllText(GPIO_PATH + "gpio" + GetGPIONumber(pin) + "/direction", direction.ToString().ToLower());
                    _exportedPins[(int)pin] = direction;
                    return;
                }

            if (!Directory.Exists(GPIO_PATH + "gpio" + GetGPIONumber(pin)))
            {
                Debug.WriteLine("Exporting " + GetGPIONumber(pin));
                //export
                File.WriteAllText(GPIO_PATH + "export", GetGPIONumber(pin));
            }

            // set i/o direction
            Debug.WriteLine("Setting direction on pin " + pin + "/gpio " + (int)pin + " as " + direction);
            File.WriteAllText(GPIO_PATH + "gpio" + GetGPIONumber(pin) + "/direction", direction.ToString().ToLower());

            // Update the list of exported pins
            _exportedPins[(int)pin] = direction;
        }
开发者ID:p07r0457,项目名称:RaspberryPi.Net,代码行数:34,代码来源:GPIOFile.cs

示例3: McuSerial

        public McuSerial(GPIOPins clockPin, GPIOPins ioPin, bool clockStartValue = false)
        {
            this.clockPin = clockPin;
            this.ioPin = ioPin;
            this.clockValue = clockStartValue;

            GPIOMem.Write(clockPin, clockValue);
            GPIOMem.Write(ioPin, false);
        }
开发者ID:phaetto,项目名称:FoosPi,代码行数:9,代码来源:McuSerial.cs

示例4: ExportPin

        /// <summary>
        /// Export the GPIO setting the direction. This creates the /sys/class/gpio/gpioXX directory.
        /// </summary>
        /// <param name="pin">The GPIO pin</param>
        /// <param name="direction"></param>
        private static void ExportPin(GPIOPins pin, DirectionEnum direction)
        {
            Initialize();

            // If the pin is already exported, check it's in the proper direction
            if (_exportedPins.Keys.Contains((int)pin))
                // If the direction matches, return out of the function. If not, change the direction
                if (_exportedPins[(int)pin] == direction)
                    return;
                else
                {
                    // Set the direction on the pin and update the exported list
                    bcm2835_gpio_fsel((uint)pin, direction == DirectionEnum.IN ? (uint)0 : (uint)1);
                    _exportedPins[(int)pin] = direction;
                    return;
                }
        }
开发者ID:sadgit,项目名称:RaspberryPi.Net,代码行数:22,代码来源:GPIOMem.cs

示例5: GPIO

		/// <summary>
		/// Access to the specified GPIO setup with the specified direction with the specified initial value
		/// </summary>
		/// <param name="pin">The GPIO pin</param>
		/// <param name="direction">Direction</param>
		/// <param name="initialValue">Initial Value</param>
		protected GPIO(GPIOPins pin, GPIODirection direction, bool initialValue) {
			if (pin == GPIOPins.GPIO_NONE) throw new ArgumentException("Invalid pin");
			lock (_exportedPins) {
				if (_exportedPins.ContainsKey(pin))
					throw new Exception("Cannot use pin with multiple instances. Unexport the previous instance with Dispose() first! (pin " + (uint)pin + ")");
				_exportedPins[pin] = new WeakReference(this);

				_pin = pin;
				try {
					PinDirection = direction;
					Write(initialValue);
				}
				catch {
					Dispose();
					throw;
				}
			}
		}
开发者ID:Arakis,项目名称:RaspberryPi.Net,代码行数:24,代码来源:GPIO.cs

示例6: ExportPin

		/// <summary>
		/// Export the GPIO setting the direction. This creates the /sys/class/gpio/gpioXX directory.
		/// </summary>
		/// <param name="pin">The GPIO pin</param>
		/// <param name="direction"></param>
		private static void ExportPin(GPIOPins pin, DirectionEnum direction) {
			Initialize();

			// If the pin is already exported, check it's in the proper direction
			if (_exportedPins.Keys.Contains((int)pin))
				// If the direction matches, return out of the function. If not, change the direction
				if (_exportedPins[(int)pin] == direction)
					return;

			// Set the direction on the pin and update the exported list
			// BCM2835_GPIO_FSEL_INPT = 0
			// BCM2835_GPIO_FSEL_OUTP = 1
			bcm2835_gpio_fsel((uint)pin, direction == DirectionEnum.IN ? (uint)0 : (uint)1);
			if (direction == DirectionEnum.IN)
				// BCM2835_GPIO_PUD_OFF = 0b00 = 0
				// BCM2835_GPIO_PUD_DOWN = 0b01 = 1
				// BCM2835_GPIO_PUD_UP = 0b10 = 2
				bcm2835_gpio_set_pud((uint)pin, 0);
			_exportedPins[(int)pin] = direction;
		}
开发者ID:Arakis,项目名称:TamaniChess,代码行数:25,代码来源:GPIOMem.cs

示例7: RaspPiGPIOFileLcdTransferProvider

        /// <summary>
        /// Creates a variable of type LiquidCrystal. The display can be controlled using 4 or 8 data lines. If the former, omit the pin numbers for d0 to d3 and leave those lines unconnected. The RW pin can be tied to ground instead of connected to a pin on the Arduino; if so, omit it from this function's parameters. 
        /// </summary>
        /// <param name="fourBitMode"></param>
        /// <param name="rs">The number of the CPU pin that is connected to the RS (register select) pin on the LCD.</param>
        /// <param name="rw">The number of the CPU pin that is connected to the RW (Read/Write) pin on the LCD (optional).</param>
        /// <param name="enable">the number of the CPU pin that is connected to the enable pin on the LCD.</param>
        /// <param name="d0"></param>
        /// <param name="d1"></param>
        /// <param name="d2"></param>
        /// <param name="d3"></param>
        /// <param name="d4"></param>
        /// <param name="d5"></param>
        /// <param name="d6"></param>
        /// <param name="d7"></param>
        public RaspPiGPIOFileLcdTransferProvider(bool fourBitMode, GPIOPins rs, GPIOPins rw, GPIOPins enable, 
                                                 GPIOPins d0, GPIOPins d1, GPIOPins d2, GPIOPins d3, 
                                                 GPIOPins d4, GPIOPins d5, GPIOPins d6, GPIOPins d7)
        {
            _fourBitMode = fourBitMode;

            if (rs == GPIOPins.GPIO_NONE) throw new ArgumentException("rs");
            _rsPort = new GPIOFile(rs);

            // we can save 1 pin by not using RW. Indicate by passing GPIO.GPIOPins.GPIO_NONE instead of pin#
            if (rw != GPIOPins.GPIO_NONE) // (RW is optional)
                _rwPort = new GPIOFile(rw);

            if (enable == GPIOPins.GPIO_NONE) throw new ArgumentException("enable");
            _enablePort = new GPIOFile(enable);

            var dataPins = new[] { d0, d1, d2, d3, d4, d5, d6, d7};
            _dataPorts = new GPIOFile[8];
            for (int i = 0; i < 8; i++)
            {
                if (dataPins[i] != GPIOPins.GPIO_NONE)
                    _dataPorts[i] = new GPIOFile(dataPins[i]);
            }
        }
开发者ID:Redth,项目名称:JenkinsBerry,代码行数:39,代码来源:RaspPiGPIOFileLcdTransferProvider.cs

示例8: GPIOMem

 /// <summary>
 /// Access to the specified GPIO setup with the specified direction with an initial value of false (0)
 /// </summary>
 /// <param name="pin">The GPIO pin</param>
 /// <param name="direction">Direction</param>
 public GPIOMem(GPIOPins pin, DirectionEnum direction)
     : base(pin, direction, false)
 {
     ExportPin(pin, direction);
 }
开发者ID:sadgit,项目名称:RaspberryPi.Net,代码行数:10,代码来源:GPIOMem.cs

示例9: GPIO

 /// <summary>
 /// Access to the specified GPIO setup as an output port with an initial value of false (0)
 /// </summary>
 /// <param name="pin">The GPIO pin</param>
 public GPIO(GPIOPins pin)
     : this(pin,DirectionEnum.OUT,false)
 {
 }
开发者ID:p07r0457,项目名称:RaspberryPi.Net,代码行数:8,代码来源:GPIO.cs

示例10: Write

 /// <summary>
 /// Static method to write a value to the specified pin. Does nothing when using the GPIODebug class.
 /// </summary>
 /// <param name="pin">The GPIO pin</param>
 /// <param name="value">The value to write to the pin</param>
 public static void Write(GPIOPins pin, bool value)
 {
 }
开发者ID:p07r0457,项目名称:RaspberryPi.Net,代码行数:8,代码来源:GPIODebug.cs

示例11: GPIODebug

 /// <summary>
 /// Access to the specified GPIO setup with the specified direction with an initial value of false (0)
 /// </summary>
 /// <param name="pin">The GPIO pin</param>
 /// <param name="direction">Direction</param>
 public GPIODebug(GPIOPins pin, GPIODirection direction)
     : this(pin, direction, false)
 {
 }
开发者ID:phaetto,项目名称:FoosPi,代码行数:9,代码来源:GPIODebug.cs

示例12: Read

		/// <summary>
		/// Gets the value of a given pin.
		/// 
		/// Creates (exports) the pin if needed, and sets it to In direction.
		/// </summary>
		/// <param name="pin">The pin who's value to get</param>
		/// <returns>The value of the pin</returns>
		public static bool Read(GPIOPins pin) {
			return CreatePin(pin, GPIODirection.In).Read();
		}
开发者ID:Arakis,项目名称:RaspberryPi.Net,代码行数:10,代码来源:GPIO.cs

示例13: bcm2835_gpio_set_pud

		static extern void bcm2835_gpio_set_pud(GPIOPins pin, uint pud);
开发者ID:henniespies,项目名称:RaspberryPi.Net,代码行数:1,代码来源:GPIOMem.cs

示例14: bcm2835_gpio_lev

		static extern bool bcm2835_gpio_lev(GPIOPins pin);
开发者ID:henniespies,项目名称:RaspberryPi.Net,代码行数:1,代码来源:GPIOMem.cs

示例15: bcm2835_gpio_write

		static extern void bcm2835_gpio_write(GPIOPins pin, bool value);
开发者ID:henniespies,项目名称:RaspberryPi.Net,代码行数:1,代码来源:GPIOMem.cs


注:本文中的GPIOPins类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。