LED屏接口 數(shù)據(jù)輸出錯(cuò)誤

程序上輸出的數(shù)組數(shù)據(jù)為下面的數(shù)據(jù),

__align(2)? unsigned short LED_TAB[2]={0X0102,0X0304};


實(shí)際輸出的波形為下圖(上面的是時(shí)鐘數(shù)據(jù),下面的的是LED0輸出的DATA數(shù)據(jù))

image.png


初始化配置

GPIOA_ResetBits( GPIO_Pin_0 );? ? ? ? ? ? ?// ????PWM?? PA10

????? GPIOA_ModeCfg( GPIO_Pin_0, GPIO_ModeOut_PP_5mA );

GPIOA_ResetBits( GPIO_Pin_4 );? ? ? ? ? ? ?// ????PWM?? PA10

????????? GPIOA_ModeCfg( GPIO_Pin_4, GPIO_ModeOut_PP_5mA );

R8_LED_CLOCK_DIV = 10;

R16_LED_DMA_MAIN = (UINT16) &LED_TAB[0];

R8_LED_CTRL_MOD =? RB_LED_OUT_EN ;

NVIC_EnableIRQ( LED_IRQn );

R16_LED_DMA_CNT=2;

R8_LED_CTRL_MOD |= RB_LED_DMA_EN;


主函數(shù)while(1)里面刷新


R16_LED_DMA_CNT= 2;

R8_LED_CTRL_MOD |= RB_LED_DMA_EN | RB_LED_OUT_EN;

while(R16_LED_DMA_CNT||!(R8_LED_STATUS&RB_LED_FIFO_EMPTY));

R8_LED_CTRL_MOD &= ~ (RB_LED_DMA_EN |RB_LED_OUT_EN);


現(xiàn)在輸出的數(shù)據(jù)不對,怎么解決?

有兩點(diǎn)疑問,

第一、時(shí)鐘信號是上升沿有效還是下降沿有效?

第二、LED0? LED1? LED2? LED3如果都向外出數(shù)據(jù),R16_LED_FIFO寄存器與這些數(shù)據(jù)線怎么對應(yīng)?


能不能出一個(gè)例程,我需要DMA刷新的,CH559寄存器都對不上,并且寄存器相應(yīng)的功能也改了




熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

這是下面數(shù)據(jù)數(shù)組輸出的波形,高位在前?還是低位在前?? 為什么會丟數(shù)據(jù)呢?

__align(2)? unsigned short LED_TAB[2]={0X0403,0X0201};

image.png


你好,附件是一個(gè)ch579 上的LED 控制器的例程, 解壓到官網(wǎng)例程EXAM 文件夾后打開工程即可.

icon_rar.gifch57x_ledc_test.zip

image.png

image.png

如果你只是單個(gè)緩沖,這樣即可:

????????
????ch57x_led_controller_init(CH57X_LED_OUT_MODE_FOUR,160);
????
????NVIC_SetPriority(LED_IRQn,?2);
????NVIC_EnableIRQ(LED_IRQn);


????//開始發(fā)送,后面再發(fā)送就在中斷里面發(fā)送了
????ch57x_led_controller_send(tx_data,NULL,10);
????ch57x_led_controller_out_enable();
????
????while(1){
????????DelayMs(500);
????????ch57x_led_controller_send(tx_data,NULL,10);
????}




void?LED_IRQHandler(void)?{
????//PRINT(?"%02X\r\n",?R8_LED_STATUS);
????ch57x_led_controller_dma_stop();
????//這里也可以直接更新,而不是在主循環(huán)里
????//ch57x_led_controller_send(tx_data,NULL,10);
????
}



只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频