public static void InitializeGPIO() { UInt32 Status; for (int i = 0; i < MAX_BANK_NUM; i++) { DeviceInfo info = new DeviceInfo(SusiGPIO.SUSI_ID_GPIO_BANK((UInt32)i)); Status = SusiGPIO.SusiGPIOGetCaps(info.ID, SusiGPIO.SUSI_ID_GPIO_INPUT_SUPPORT, out info.SupportInput); if (Status != SusiStatus.SUSI_STATUS_SUCCESS) { continue; } Status = SusiGPIO.SusiGPIOGetCaps(info.ID, SusiGPIO.SUSI_ID_GPIO_OUTPUT_SUPPORT, out info.SupportOutput); if (Status != SusiStatus.SUSI_STATUS_SUCCESS) { continue; } DevList.Add(info); //comboBox_BankNum.Items.Add(i.ToString()); } if (DevList.Count > 0) { Dev = DevList[0]; //comboBox_BankNum.SelectedIndex = 0; } else { //System.Windows.Forms.MessageBox.Show("无可用GPIO设备!"); } }
public static void SetDirection() { UInt32 Status = SusiGPIO.SusiGPIOSetDirection(GetID(), GetMask(), 0xFF00u); if (Status != SusiStatus.SUSI_STATUS_SUCCESS) { System.Windows.Forms.MessageBox.Show(String.Format("SusiGPIOSetDirection() failed. (0x{0:X8})", Status)); } }