Вы отправляете несколько байтов из Raspberry Pi в PIC16F1503 через I2C, а я получаю их путем отладки вашего кода: 1, 1, 1, 1-43-7-0-0, 1.
Но, похоже, они не все соответствуют тому, что вы хотите отправить, потому что я обнаружил проблему в вашей функции WriteByte, например:
(Вы пытаетесь изменить переменную типа значения: byte[] data
. См. " Передача параметров (Руководство по программированию в C #) ")
private void WriteByte(byte command, byte[] data)
{
data.ToList().Insert(0, command);
data.ToArray();
pic16f1503.Write(data);
}
Я редактирую выше функции для этого:
private void WriteByte(byte command, byte[] data)
{
var sendData = data.ToList();
sendData.Insert(0, command);
pic16f1503.Write(sendData.ToArray());
}
Затем отправьте данные: 0-1, 0-1, 1, 1-43-7-0-0, 0-1
Небольшая проблема при печати массива int
.
Редактировать эту строку: Debug.WriteLine($"PIC16F1503 - SetDegrees to {ms} start.\nData: {data}");
Для того, чтобы распечатать данные нужного формата:
Debug.WriteLine($"PIC16F1503 - SetDegrees to {ms} start.\n");
Debug.WriteLine("Data: ");
foreach (var element in data)
{
Debug.WriteLine(element);
}
Debug.WriteLine("\n");
После этого вы отправите правильные данные на PIC16F1503. Если все еще не работает, проверьте соответствие двух устройств скорости I2C или нет. И подключение аппаратных контактов правильное или нет.