数码管调转180°
This commit is contained in:
@@ -2,8 +2,11 @@
|
||||
* @file bsp_ct1642.c
|
||||
* @brief CBR3 CT1642 类数码管驱动实现(软件移位)
|
||||
* @author cyWu <1917507415@qq.com>
|
||||
* @date 2026.08.29
|
||||
* @version V1.0.1,IO 分离:CT1642 独立 PG0=CLK/PG1=DATA,无总线共享机制
|
||||
* @date 2026.09.04
|
||||
* @version V1.1.0,转机 180°:段码 A↔D/B↔E/C↔F(BOARD_DISP_ROTATE_180)
|
||||
* @history
|
||||
* - V1.1.0, 2026.09.04, cyWu, 数码管整板旋转 180° 后补偿段码
|
||||
* - V1.0.1, 2026.08.29, cyWu, IO 分离:CT1642 独立 PG0=CLK/PG1=DATA
|
||||
*
|
||||
* @note 驱动协议严格参照 CT1642 手册(与 CSDN yitx 一致):
|
||||
* 一帧 = 18bit,CLK 上升沿采样 DATA(DATA 只在 CLK=低时改变):
|
||||
@@ -143,6 +146,10 @@ static void ct1642_xfer(uint8_t seg, uint8_t com)
|
||||
*/
|
||||
void bsp_ct1642_send_frame(uint8_t seg, uint8_t com)
|
||||
{
|
||||
#if BOARD_DISP_ROTATE_180
|
||||
/* 管倒过来看:视觉 A/B/C 落在物理 D/E/F,视觉 D/E/F 落在物理 A/B/C;G/DP 不动 */
|
||||
seg = (uint8_t)(((seg & 0x07u) << 3) | ((seg & 0x38u) >> 3) | (seg & 0xC0u));
|
||||
#endif
|
||||
// ct1642_xfer(0, 0);
|
||||
ct1642_xfer(seg, com); /* 单帧:18bit 移位 + 锁存 + 输出,无消影预帧 */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user