Это вопрос языка Си.
Значит ли * умножение или что-то еще в функции ниже?Причина, по которой я спрашиваю, состоит в том, что в комментариях к определению функции говорится, что ожидается три параметра.Кроме того, ()
[скобки] в #defines
означают что-то отличное от скобок?Увидеть ниже.
Вызов функции:
nvm_eeprom_write_byte(TEST_ERASE_PAGE * EEPROM_PAGE_SIZE, 42);
Определения:
#define TEST_ERASE_PAGE 2
#define EEPROM_PAGE_SIZE 32
Комментарии к определению функции:
- param page_addr адрес страницы EEPROM, от 0 до EEPROM_SIZE / EEPROM_PAGE_SIZE.
- параметр byte_addr адрес байта EEPROM, от 0 до EEPROM_PAGE_SIZE.
- значение Значение байта для записи в EEPROM.
Определение функции:
void nvm_eeprom_write_byte(eeprom_addr_t address, uint8_t value) {}
eeprom_addr_t
- это typedef:
typedef uint16_t eeprom_addr_t
#define EEPROM_START (0x0000)
#define EEPROM_SIZE (2048)
#define EEPROM_PAGE_SIZE (32)
#define EEPROM_END (EEPROM_START + EEPROM_SIZE - 1)