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分频 分频

 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号