我正在構建一個機器人手臂並使用iOS應用程序控制手臂。我無法將位置發送到arduino藍牙4.0屏蔽。無法使用類型爲'(UInt64)'的參數列表調用
我使用滑塊來控制手臂的位置。
有兩個錯誤。
- 「不能調用 'writePosition' 類型的 '(UINT8)' 參數列表」
「不能調用 'sendPosition' 類型的 '(UINT64)' 參數列表」
func sendPosition(position: UInt8) if !self.allowTX { return } // Validate value if UInt64(position) == lastPosition { return } else if ((position < 0) || (position > 180)) { return } // Send position to BLE Shield (if service exists and is connected) if let bleService = btDiscoverySharedInstance.bleService { bleService.writePosition(position) ***1)ERROR OCCURS ON THIS LINE*** lastPosition = position // Start delay timer self.allowTX = false if timerTXDelay == nil { timerTXDelay = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Selector("timerTXDelayElapsed"), userInfo: nil, repeats: false) } } } func timerTXDelayElapsed() { self.allowTX = true self.stopTimerTXDelay() // Send current slider position self.sendPosition(UInt64(self.currentClawValue.value)) **2)ERROR OCCURS ON THIS LINE**
}
這裏是我的 「writePosition」 功能。
func writePosition(position: Int8) {
// See if characteristic has been discovered before writing to it
if self.positionCharacteristic == nil {
return
}
// Need a mutable var to pass to writeValue function
var positionValue = position
let data = NSData(bytes: &positionValue, length: sizeof(UInt8))
self.peripheral?.writeValue(data, forCharacteristic: self.positionCharacteristic, type: CBCharacteristicWriteType.WithResponse)
}
我不知道我是否要留下一些東西或完全失去一些東西。 我已經嘗試過UInt8和UInt64之間的簡單轉換,但這些都沒有奏效。