From 294a5b9ac8b7ae67eb3526b51fb4349099ea4251 Mon Sep 17 00:00:00 2001 From: Soundflog Date: Thu, 11 May 2023 17:25:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=93=D0=BE=D1=82=D0=BE=D0=B2=D0=BE=20=D0=9A?= =?UTF-8?q?=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20?= =?UTF-8?q?=D1=81=D1=83=D0=BC=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SPI/SPI-Master/SPI-Master.ino | 17 ++++++------ SPI/SPI-Master/SPIMaster.c | 21 ++++++++++++--- SPI/SPI-Master/SPIMaster.h | 1 + SPI/slave/SPISlave.c | 18 ++++++++++++- SPI/slave/SPISlave.h | 2 ++ SPI/slave/slave.ino | 51 ++++++++++++++++++++--------------- 6 files changed, 75 insertions(+), 35 deletions(-) diff --git a/SPI/SPI-Master/SPI-Master.ino b/SPI/SPI-Master/SPI-Master.ino index f4155ab..4fb81b9 100644 --- a/SPI/SPI-Master/SPI-Master.ino +++ b/SPI/SPI-Master/SPI-Master.ino @@ -17,19 +17,20 @@ void setup() void loop() { - char data[] = {6, 1, 3, 5, 16, 17, 18, 0}; + char data[] = {0x06, 0xF1, 0x04, 0x05, 0x16, 0x12, 0x18, 0x11, 0x00, 0x15, 0x49, 0x50, 0x59, 0x69, 0}; int length = sizeof(data); - - Serial.print("Start:"); - Print(data,length); + Serial.println(); + Serial.print("Start: "); + Print(data, length); Serial.println(); - char checking = CRC8(data, length-1); + char checking = crc8(data, length-1); int size = sizeof(data) / sizeof(data[0]); data[size - 1] = checking; - - Serial.print("End:"); - Print(data,length); + Serial.println(checking, HEX); + + Serial.print("End: "); + Print(data, length); Serial.println(); SPI_MasterTransmit(data, length); diff --git a/SPI/SPI-Master/SPIMaster.c b/SPI/SPI-Master/SPIMaster.c index c61bcd1..be5e140 100644 --- a/SPI/SPI-Master/SPIMaster.c +++ b/SPI/SPI-Master/SPIMaster.c @@ -7,15 +7,14 @@ void SPI_MasterInit(void) { DDR_SPI = (1 << DD_MOSI) | (1 << DD_SCK) | (1 << DD_SS); DDRB |= (1< 0){ + + arrayOut(data, index); char sum = 0; - sum = CRC8(data, index-1); + sum = crc8(data, index-1); char checkNull = 0; char last_1 = data[index - 1]; - arrayOut(data, index); + + Serial.println(sum, HEX); if (last_1 == sum){ Serial.println(); Serial.println("Старт вывода массивов"); Serial.println(sum, HEX); - checkNull = checkArray(data, index); - - if(checkNull == 1){ - SetCommand(data); - } + // checkNull = checkArray(data, index); + // if(checkNull == 1){ + + // } + SetCommand(data, index); Serial.println("Стоп вывода массивов"); index = 0; return; - } - Serial.println("Nothing ..."); + }else{ + Serial.println("Nothing ..."); + + index = 0; + } - index = 0; } } }