中级会员
 
- 积分
- 209
- 金钱
- 209
- 注册时间
- 2016-9-9
- 在线时间
- 84 小时
|
1金钱
void SendStr(u8 *str)
{
while (0 != *str&&USART_GetFlagStatus(USART1, USART_FLAG_TC))
{
USART_SendData(USART1, *str);
str++;
}
}
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
My_USART1_Init();
delay_init(); //延时函数初始化
while(1)
{
SendStr("that is a hero lies in you");
delay_ms(1000);
}
}
这个函数只不停的打印"t"一个字母, 为什么呢?
|
最佳答案
查看完整内容[请看2#楼]
我已经找到问题了,程序不用 USART_GetFlagStatus(USART2, USART_FLAG_TXE) 判断,用USART_GetFlagStatus(USART1, USART_FLAG_TC) 就好使了
谢谢
|