CH585 CH584 LEDC串行输出接口

 一路时钟信号,支持1/2/4/8路数据输出,支持DMA。
时钟速率最快是

 

支持输出通道配置、数据输出极性和位序。

 见具体的例子

    //led clk 配置时钟输出脚
    GPIOA_ModeCfg( GPIO_Pin_4, GPIO_ModeOut_PP_5mA );

    //led data 配置数据输出脚
    //LED 0
    GPIOA_ModeCfg( GPIO_Pin_0, GPIO_ModeOut_PP_5mA );
    //LED 1
    GPIOA_ModeCfg( GPIO_Pin_1, GPIO_ModeOut_PP_5mA );
    //LED 2
    GPIOA_ModeCfg( GPIO_Pin_2, GPIO_ModeOut_PP_5mA );
    //LED 3
    GPIOA_ModeCfg( GPIO_Pin_3, GPIO_ModeOut_PP_5mA );
    //lED 4
    GPIOA_ModeCfg( GPIO_Pin_5 , GPIO_ModeOut_PP_5mA );
    //lED 5
    GPIOA_ModeCfg( GPIO_Pin_6 , GPIO_ModeOut_PP_5mA );
    //lED 6
    GPIOA_ModeCfg( GPIO_Pin_7 , GPIO_ModeOut_PP_5mA );
    //lED 7
    GPIOA_ModeCfg( GPIO_Pin_8 , GPIO_ModeOut_PP_5mA );


    //配置分频和模式选择
    ch58x_led_controller_init(CH58X_LED_OUT_MODE_SINGLE, 250);

    //开始发送,后面再发送就在中断里面发送了
    R32_LED_DMA_BEG = ((uint32_t)(tx_data)& RB_LED_DMA_BEG);
    R16_LED_DMA_LEN = 3;
    R8_LED_CTRL_MOD |= RB_LED_DMA_EN;

#if LSB_HSB   //LSB HSB
    R8_LED_CTRL_MOD ^= RB_LED_BIT_ORDER;
#endif

#if POLAR     //极性
    R8_LED_CTRL_MOD ^= RB_LED_OUT_POLAR;
#endif
void ch58x_led_controller_init(ch58x_led_out_mode_t mode, uint8_t led_clk_div)
{
    R8_LED_CLOCK_DIV  = led_clk_div;
    R8_LED_CTRL_MOD = 0;
    R8_LED_CTRL_MOD |= (mode<<6);
    R8_LED_CTRL_MOD |= RB_LED_BIT_ORDER;
}
//设置输出模式和时钟

输出通道只能选择LED0 / LED0+LED1 / LED0+LED1+LED2+LED3 / LED0+LED1+LED2+LED3+LED4+LED5+LED6+LED7,4种模式

如果选择LED0单通道、正极性、低位在前

如数据是 __attribute__((__aligned__(4))) uint32_t tx_data[2] = {0x550204AA,0xFFFFFFFF} 则波形如下

 

 从上图可以看出,设置低位先输出,高位后输出。

 

如果选择LED0 LED1双通道、正极性、低位在前

如数据是 __attribute__((__aligned__(4))) uint32_t tx_data[2] = {0x550204AA,0xFFFFFFFF} 则波形如下

    //配置分频和模式选择
    ch58x_led_controller_init(CH58X_LED_OUT_MODE_DOUBLE, 250);

 从上图可以看到字节序,以字节为单位进行取值输出,极性和高低位输出顺序跟寄存器配置相关
以此类推4线和8线模式同理,比如8线模式,看

 __attribute__((__aligned__(4))) uint32_t tx_data[8] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};

    //配置分频和模式选择
    ch58x_led_controller_init(CH58X_LED_OUT_MODE_FOUR_EXT, 250);

测试最快2分频 分频

 

posted @ 2025-02-11 13:03  debugdabiaoge  阅读(431)  评论(0)    收藏  举报