diff --git a/Core/Src/ds1307.c b/Core/Src/ds1307.c index 3dd6f98..fa84b81 100644 --- a/Core/Src/ds1307.c +++ b/Core/Src/ds1307.c @@ -85,12 +85,11 @@ uint8_t ds1307_write_user_RAM(uint8_t addr, uint8_t * data, uint8_t len){ for(uint8_t i = 0; i < len; i++){ - buff[1+i] = *(data+i); + ds1307_write_byte(addr + i, *(data + i)); + HAL_Delay(5); } - // ds1307_write_byte(addr + i, *(data + i)); - HAL_I2C_Master_Transmit(&DS1307_HANDLER, DS1307_ADDRES << 1, buff, len + 1, DS1307_TIMEOUT); return status; } diff --git a/Core/Src/myComms.c b/Core/Src/myComms.c index e89a257..60acb7d 100644 --- a/Core/Src/myComms.c +++ b/Core/Src/myComms.c @@ -35,7 +35,7 @@ typedef struct { } uartMessage_s; static void cmd_readNV(uint32_t data); -static void cmd_writeNV(uint8_t * data); +static void cmd_writeNV(uint8_t data); static uint8_t nok[] = "NOK\n"; static uint8_t ok[] = "OK\n"; @@ -73,11 +73,11 @@ static void cmd_readNV(uint32_t data){ } } -static void cmd_writeNV(uint8_t * data){ +static void cmd_writeNV(uint8_t data){ HAL_StatusTypeDef status = HAL_ERROR; - status = ds1307_write_user_RAM(data[0], &data[1], 3); + status = ds1307_write_user_RAM(UART_RxBuf[1], &UART_RxBuf[2], 3); if(HAL_OK == status){ CDC_Transmit_FS(ok, sizeof(ok));