学前班
最后登录1970-1-1
在线时间 小时
注册时间2019-3-18
|
看视频教程的代码
void Usart_SendStr(USART_TypeDef* pUSARTx, uint8_t *str)
{
uint8_t i=0;
do
{
Usart_SendByte(pUSARTx, *(str+i));
i++;
}while(*(str+i) !='\0');
while( USART_GetFlagStatus(pUSARTx, USART_FLAG_TC) == RESET );
}
然后在main函数中调用 Usart_SendStr(DEBUG_USARTx, "你");可以正常输出 你;
视频代码
用单独的一个去传送就会变成乱码
void Usart_SendStr1(USART_TypeDef* pUSARTx, uint8_t *ch)
{
Usart_SendByte(pUSARTx, *(ch));
while( USART_GetFlagStatus(pUSARTx, USART_FLAG_TC) == RESET );
}
单独传送
还有putc已经重编写了,直接用的范例里的代码,stdio.h也包含了,但是printf()就是没反应,我单独编译范例的工程就有反应,是哪里的问题
int fputc(int ch, FILE *f)
{
/* 发送一个字节数据到串口 */
USART_SendData(DEBUG_USARTx, (uint8_t) ch);
/* 等待发送完毕 */
while (USART_GetFlagStatus(DEBUG_USARTx, USART_FLAG_TXE) == RESET);
return (ch);
}
学艺不精,求教啊。。。。。。。。。。。。。
|
|