本帖最后由 leonbaichi 于 2011-8-18 15:57 编辑
第二个实验是串口,参考的是CUBE侠的例程,开始的时候一切都很美好,我天真的以为。。。 好了打住。先上程序
CUBE助学板入门实验1 M0串口实验.rar
(1011.45 KB)
其中一段代码
printf("/*=======简单发送实验=======\n");
{
uint8_t bInChar[1] ={0x55};
printf("\n\n");
DrvUART_Write(UART_PORT0,bInChar,1);
printf("\n\n");
}
printf("==========================*/\n");
printf("\n\n");
--------------------------------------------------------------
用的不是printf,而是驱动库里的程序,显示如下
/*=======简单发送实验=======
U
==========================*/
我想本意是输出55的吧,U的ASCII码值是0X55,求助如何正确显示?
PS:
DrvUART_Write( )的具体输出语句为
int32_t DrvUART_Write(E_UART_PORT u32Port,uint8_t *pu8TxBuf, uint32_t u32WriteBytes)
{
uint32_t u32Count, u32delayno;
UART_T * tUART;
tUART = (UART_T *)((uint32_t)UART0 + u32Port);
for (u32Count=0; u32Count<u32WriteBytes; u32Count++)
{
u32delayno = 0;
while (tUART->FSR.TE_FLAG !=1) /* Wait Tx empty and Time-out manner */
{
u32delayno++;
if ( u32delayno >= 0x40000000 )
return E_DRVUART_ERR_TIMEOUT;
}
tUART->DATA = pu8TxBuf[u32Count]; /* Send UART Data from buffer */
//这句话能看出输出的格式???
}
return E_SUCCESS;
}
|