CH432T連續(xù)發(fā)送一組數(shù)據(jù),只能每次填充FIFO一個(gè)發(fā)送然后再填充下一個(gè)字節(jié)嗎,數(shù)據(jù)塊發(fā)送怎么處理?連續(xù)王FIFO中寫(xiě)入數(shù)據(jù)的時(shí)序時(shí)怎樣的?
您好,使用FIFO發(fā)送的話,一次最大填充16字節(jié)。參考代碼如下,完整程序詳見(jiàn)CH432EVT。
void? CH432UART0Send( UINT8 *Data, UINT8 Num )? ? /* 啟用FIFO,一次最多16字節(jié),CH432串口0發(fā)送多字節(jié)子程序 */
{
? ? while( 1 )
? ? {
? ? ? ? while( ( ReadCH432Data( CH432_LSR_PORT ) & BIT_LSR_TEMT ) == 0 );? ? /* 等待數(shù)據(jù)發(fā)送完畢,THR,TSR全空 */
? ? ? ? if( Num<= 16 )
? ? ? ? {
? ? ? ? ? ? WriteCH432Block( CH432_THR_PORT, Num, Data );
? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? WriteCH432Block( CH432_THR_PORT, 16, Data );
? ? ? ? ? ? Num -= 16;
? ? ? ? ? ? Data += 16;
? ? ? ? }
? ? }