大佬們,請(qǐng)問(wèn)一下:ch582m中串口怎么發(fā)送break信號(hào),還有那個(gè)持續(xù)的時(shí)間是怎么設(shè)定的?
可以查看CH583手冊(cè)的第57頁(yè),由硬件產(chǎn)生Break信號(hào)。
使能Break信號(hào),延時(shí)一定時(shí)間后再關(guān)閉使能,延時(shí)時(shí)長(zhǎng)大于一幀Uart數(shù)據(jù)的時(shí)長(zhǎng)即可,一般為幾十毫秒。
好的,謝謝
紅框圈中,在發(fā)送break信號(hào)之前需要進(jìn)行break信號(hào)檢測(cè)嗎?
R8_UARTx_LSR中的標(biāo)志位是對(duì)于接收方來(lái)說(shuō)的,由硬件檢測(cè)后置位,用戶需要檢測(cè)Break信號(hào)時(shí)可以讀取這個(gè)寄存器,一般是不影響B(tài)reak信號(hào)的發(fā)送的。
多久的低電平會(huì)被識(shí)別為break呢。
可以靠這個(gè)識(shí)別出 DMX512的BREAK嗎
RB_LSR_BREAK_ERR? 什么情況下會(huì)觸發(fā)呢,什么時(shí)候會(huì)清除呢??
芯片發(fā)送break信號(hào),使能線路控制寄存器中的break信號(hào),延時(shí)一定時(shí)間后再關(guān)閉使能,延時(shí)時(shí)長(zhǎng)大于一幀Uart數(shù)據(jù)的時(shí)長(zhǎng)即可,一般為幾十毫秒(已經(jīng)遠(yuǎn)遠(yuǎn)大于一幀Uart數(shù)據(jù)的時(shí)長(zhǎng))。
芯片接收上位機(jī)發(fā)來(lái)的break信號(hào),會(huì)觸發(fā)RB_LSR_BREAK_ERR。接收數(shù)據(jù)可以清中斷,不可靠數(shù)據(jù)直接丟棄就好。
與DMX512的適配問(wèn)題就要自行嘗試了,沒(méi)有測(cè)試過(guò)。