void led(uint8_t red, uint8_t green, uint8_t blue) { FLEXIO_Type *fiobase = g_flexioBase[0]; uint32_t color = (green << 16) | (red << 8) | blue; int i; for (i = 0; i < 24; ++i) { shift0_buf[i / 10] <<= 3; shift0_buf[i / 10] |= 4 | ((color >> (22 - i)) & 2); } shift0_buf[2] <<= 3 * 6; DMA_DRV_ConfigTransfer(&g_fioChan, kDmaMemoryToPeripheral, 4, (intptr_t)&shift0_buf, (intptr_t)&FLEXIO_SHIFTBUFBIS_REG(fiobase, 0), sizeof(shift0_buf)); DMA_DRV_StartChannel(&g_fioChan); }
/*FUNCTION**************************************************************** * * Function Name: FLEXIO_SPI_HAL_GetRxBufferMSBAddr * Description: Get the address of rx MSB buffer. * *END*********************************************************************/ uint32_t FLEXIO_SPI_HAL_GetRxBufferMSBAddr(flexio_spi_dev_t *devPtr) { return (uint32_t)(&(FLEXIO_SHIFTBUFBIS_REG(devPtr->flexioBase, devPtr->shifterIdx[1]))); }