Пт июл 31, 2020 15:06:58
micro-SD и FatFS от нашего японского коллеги по имени Чен решают любые проблемы, как с количеством записей, так и с анализом, так и со строками и всем прочим. файловый ввод-вывод - наше всё. для 128-й меги вообще не вопрос.MOHCTEP писал(а):для анализа их изменения и оперативного изменения тех самых настроек
Сб авг 15, 2020 20:55:11
Сб авг 29, 2020 01:00:17
//float a = (float)((year / 19) - floor(year / 19)); // 0
float a;
//a = (float)(year / 19) - (uint8_t)(year / 19); // 0
a = year / 19;
num2dec(a * 1000,3);
uart1_puts(digi_buffer);uart1_puts("\r\n"); // 106.000
a = (float)(year / 19);
num2dec(a * 1000,3);
uart1_puts(digi_buffer);uart1_puts("\r\n");//106.000
typedef struct{
uint16_t time; /* 2 bytes */
uint32_t a; /* 4 bytes */
int16_t b[4]; /* 2 * 4 = 8 bytes */
uint8_t c[4]; /* 1 * 4 = 4 bytes */
/* total = 18 bytes */
}data_t;
Сб авг 29, 2020 01:14:35
float a;
a = year / 19.0f; // или a = (float)year / 19;
Сб авг 29, 2020 01:25:11
//a = (float)(year / 19)
Вс авг 30, 2020 13:13:51
a = (float)(year / 19);
a = (float)year / 19;
uint32_t buf;
eeprom_read_block(&buf, sizeof(data_t) * NR_BLOCK + sizeof(data_t.time), sizeof(buf)); // Прочитать с блока NR_BLOCK (порядковый номер) значение .a
Вс авг 30, 2020 17:44:46
eeprom_read_block(&buf, sizeof(data_t) * NR_BLOCK + sizeof(data_t.time) + sizeof(data_t.a) + sizeof(data_t.b) + sizeof(data_t.c[0]) * 2, sizeof(buf));// Прочитать с блока NR_BLOCK (порядковый номер) значение .c[2]
Вс авг 30, 2020 18:48:55
#define DATA_T_SZ sizeof(data_t)
#define DATA_T_C2_OFFSET sizeof(data_t.time) + sizeof(data_t.a) + sizeof(data_t.b) * 4 + sizeof(data_t.c[0]) * 2
...
eeprom_read_block(&buf, DATA_T_SZ * NR_BLOCK + DATA_T_C2_OFFSET, sizeof(buf));
Вс авг 30, 2020 19:17:42
Вс авг 30, 2020 21:56:36
Вс авг 30, 2020 21:59:09
Вс сен 20, 2020 15:10:45
switch(peripheral){
case SPI_PERIPHERAL_0:
REG_SPI_MR |= SPI_MR_PCS(0b0000);
break;
case SPI_PERIPHERAL_1:
REG_SPI_MR |= SPI_MR_PCS(0b0001);
break;
case SPI_PERIPHERAL_2:
REG_SPI_MR |= SPI_MR_PCS(0b0010);
break;
case SPI_PERIPHERAL_3:
REG_SPI_MR |= SPI_MR_PCS(0b0011);
break;
case SPI_PERIPHERAL_4:
REG_SPI_MR |= SPI_MR_PCS(0b0100);
break;
case SPI_PERIPHERAL_5:
REG_SPI_MR |= SPI_MR_PCS(0b0101);
break;
case SPI_PERIPHERAL_6:
REG_SPI_MR |= SPI_MR_PCS(0b0110);
break;
case SPI_PERIPHERAL_7:
REG_SPI_MR |= SPI_MR_PCS(0b0111);
break;
case SPI_PERIPHERAL_8:
REG_SPI_MR |= SPI_MR_PCS(0b1000);
break;
case SPI_PERIPHERAL_9:
REG_SPI_MR |= SPI_MR_PCS(0b1001);
break;
case SPI_PERIPHERAL_10:
REG_SPI_MR |= SPI_MR_PCS(0b1010);
break;
case SPI_PERIPHERAL_11:
REG_SPI_MR |= SPI_MR_PCS(0b1011);
break;
case SPI_PERIPHERAL_12:
REG_SPI_MR |= SPI_MR_PCS(0b1100);
break;
case SPI_PERIPHERAL_13:
REG_SPI_MR |= SPI_MR_PCS(0b1101);
break;
case SPI_PERIPHERAL_14:
REG_SPI_MR |= SPI_MR_PCS(0b1110);
break;
case SPI_PERIPHERAL_15:
REG_SPI_MR |= SPI_MR_PCS(0b1111);
break;
}
Вс сен 20, 2020 16:24:43
Вс сен 20, 2020 16:33:18
Пн окт 05, 2020 10:03:01
if (in&0x01) out |= 0x80;
...
if (in&0x80) out |= 0x01;
Пн окт 05, 2020 10:33:27
unsigned char reverse(unsigned char b) {
b = (b & 0xF0) >> 4 | (b & 0x0F) << 4;
b = (b & 0xCC) >> 2 | (b & 0x33) << 2;
b = (b & 0xAA) >> 1 | (b & 0x55) << 1;
return b;
}
Пн окт 05, 2020 10:57:58
unsigned char reverse(unsigned char b) {
b = (b & 0xF0) >> 4 | (b & 0x0F) << 4;
b = (b & 0xCC) >> 2 | (b & 0x33) << 2;
b = (b & 0xAA) >> 1 | (b & 0x55) << 1;
return b;
}
Вс окт 11, 2020 09:22:52
b = (b & 0xF0) >> 4 | (b & 0x0F) << 4;
b = (b & 0xCC) >> 2 | (b & 0x33) << 2;
b = (b & 0xAA) >> 1 | (b & 0x55) << 1;
Пн окт 12, 2020 14:17:40
Пн окт 12, 2020 15:29:54