it's my code I want to make this code shorter.
How can I shorten the 8bit data transfer code?

```
    void LCD_Cmd(uint8_t cmd) {
    /* Command mode */
    GPIOC->BRR =((uint16_t)0x8000U); // RS LOW
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, (cmd & 0x01));
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, (cmd & 0x02));
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, (cmd & 0x04));
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, (cmd & 0x08));
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, (cmd & 0x10));
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, (cmd & 0x20));
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, (cmd & 0x40));
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, (cmd & 0x80));
    GPIOC->BSRR =((uint16_t)0x4000U); // E SET
    HAL_Delay(1);
    GPIOC->BRR = ((uint16_t)0x4000U); // E RESET

```