朋友们、您好!
我将基于 TLC57911的电路板(learn.adafruit.com/.../12683) 与基于 LPC 的评估套件(LPCXpresso LPC1115)搭配使用。 我正在使用位 bang 来生成 SPI (MOSI 和 CLK)。
我参考了以下代码:
- 3113.TLC5971.cTLC5971.h (来自 :https://e2e.ti.com/support/power_management/led_driver/f/192/t/653874?tisearch=e2e-sitesearch&keymatch=TLC59711)
- Adafruit TLC57911库(https://github.com/adafruit/Adafruit_TLC59711/archive/master.zip
从 MOSI 和 CLK 生成的脉冲看起来与逻辑分析仪上的代码一致、但仍无法使 LED 发光。
代码片段:
#include #include #include #include #include "LPC11xx.h" #include "LPC_types.h" #include "pin_define.h" #define buffer_size (24) void SPI0_write (uint32_t byte) { uint32_t b = 0x80; for (;b!=0;b>=1){ PIN_22_LOW;}{uint32_t b = 0x80; /pin 24;/in/clock_high/pin_clock_clock_high/pin/pin/pin/in/ high/pin/pin/ high/pin/pin/pin_28) bsp_Initialize(); Timer_Initialize (LPC_CORE_clockspeed_Hz、SysTick _IRQ_Priority); 静态 uint8_t Tx_buf[buffer_size]; uint16_t I、j=0; //将所有 LED 设置为约25%的亮度 对于(i = 0;i < buffer_size;i++){ TX_Buf[i++]= 16000 >> 8; TX_Buf[i]= 16000; } uint32_t 命令; //魔幻字写入 命令= 0x25; 命令<<= 5; //OUTTMG = 1、EXTGCK = 0、TMGRST = 1、DSPRPT = 1、空白= 0 -> 0x16 命令|= 0x16; 命令<<= 7; 命令|= 0x7F; 命令<<= 7; 命令|= 0x7F; 命令<<= 7; 命令|= 0x7F; while (1) { SPI0_WRITE (命令>> 24); SPI0_WRITE (命令>> 16); SPI0_WRITE (命令>> 8); SPI0_WRITE (命令); 对于(j = 0;j < buffer_size;j++){ SPI0_WRITE (Tx_Buf[j]); } Timer_Delay_Micro (5); } 返回0; }
逻辑分析仪在基于 TLC57911的电路板上以3.3V 连接到输入 CI 和 DI (时钟输入/数据输入)的快照。
前四个字节:
前14个字节(无法在单个屏幕截图中获取):
后14个字节:
LPC 和 TLC57911之间的 H/W 连接:
| LPC1115 | 基于 TLC57911的电路板 |
| MOSI | DI (数据输入) |
| SCK | CI (时钟输入) |
为 TLC57911板上的 V+引脚提供外部6V 电压
使用通用 GND:外部 GND、LPC1115 GND 和 TLC57911板 GND 相互连接。
是否有人可以提示/提示为什么它不能按预期工作?
如果您需要更多信息、请分享。
谢谢、
Ankur

