请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TLC59116 你(们)好
使用该驱动器打开 LED 似乎非常复杂。
uint8_t LED_核心 内部 TLC59116[]= { LUI_I2C_LED_REG_AUTO_INCREMENT | LUI_I2C_LED_REG_MODE1、 // MODE1、Mode2、PWM0、1、2、3、4、5、6、7 = OFF 0x01、0x80、0x10、0x20、0x30、0x30、0x30 0x40、0x50、0x60、0x70、0x80、 // PWM8、9、10、11、12、13、14、15 =关闭 0x90、0xa0、0xb0、0xc0、0xd0、 0xe0、0xf0、0x00、 // GRPPWM、GRPFREQ、 LEDOUT0、LEDOUT1、LEDOUT2、LEDOUT3 0x00、0x00、 0xAA、0xAA、0xAA、0xAA、 // SUBADR1... SUBADR3、ALLCALLADR 0xD2、0xD4、0xD8、0xD0、 // Iref 值(低电流 CM = 0、HC = 0、Rext = 710 - CC - 23)、Iout =~3mA 最大值 ) 0x17、 }; void initLED (void) { uint8_t buf[32]; HAL_StatusTypeDef; buf[0]= LUI_I2C_LED_MODE= 0x1000 ;while I2C_TO_LED_TOW= 0x1000;LUDIC_TOW= 0x000_TOW/ TOW= 0x000_TOW/ TOW= 1;HAL_TOW/ TOW= 0xU_TOW= 0x000_TOW/ TOW/ TOW= 1;HAL_TOW= 0xU_TOW/ TOW_TOW= 0xU_TO if (ret!= HAL_OK) return;
osDelay (10);
while (((ret = HAL_I2C_Master_transmit (LUI_I2C_LED_channel、LUI_I2C_LED_address、LED_CubInitTLC59116、sizeof (LED_CubInitTLC59116)、1000))= HAL_BUSY); if (ret!= HAL_OK) return; osDelay (10); buf[0]= LUI_I2C_LED_REG_MODE2; buf[1]= 0x00;//清除 while ((ret = HAL_I2C_Master_transmit (LUI_I2C_LED_channel、LUI_I2C_LED_address、buf、HAL_Busy)= 1000);= HAL_1000) if (ret!= HAL_OK) return; }
我读回了所有寄存器、所有寄存器都包含预期值。 未安装 REXT。 尝试不同的 IREF 值、甚至是0xFF。 通过将0x55写入寄存的4个 LED 来打开所有 LED 不会打开任何东西。 错误寄存器始终保持在0x00。 此示例应以不同的强度打开所有 LED。 但流经 LES 的唯一电流是电压表中的电流。