关于CH551G调用CH554UART1SendByte('A');

请问我用CH554EVT里面的UART1案例是,为什么CH554UART1SendByte('A'); 发送就卡住了,不往下走?

我的芯片是ch551G。

用CH554UART0SendByte('A');  发是,串口调试工具能收到,但同样也不能往下走?



void main( ) 

{

#if ( UART1_INTERRUPT == 0) 

UINT8 dat,i;

UINT8 buf[8];

#endif

    CfgFsys( );                                                                //CH554时钟选择配置   

    mDelaymS(20);

    mInitSTDIO( );                                                             //串口0调试端口初始化

    printf("chuan kou start ...\n"); 

    UART1Init( );   //串口1初始化  

                                                         

        printf("dfsfdsf ...\n"); 

//CH554UART0SendByte('A');

CH554UART1SendByte('A'); 

printf("CH554UART1SendByte ...\n");          这句永不会到这里。


void CH554UART1SendByte(UINT8 SendDat)

{

SBUF1 = SendDat;                                                             //查询发送,中断方式可不用下面2条语句,但发送前需TI=0

while(U1TI ==0);

U1TI = 0;

}



??查询发送,中断方式可不用下面2条语句

我用的是什么案例啊?


#define UART1_INTERRUPT   0          //定义是否使用接收中断接收数据



??


检查发送完成标志,只有这个里面有while循环会导致卡住,串口0用于打印的时候发送标志会提前写1.

卡住多半是卡在循环中了,找一下while就行了


只有登录才能回复,可以选择微信账号登录