一个简单的STM32F103的串口通讯程序,但是一直调试不成功,求指教!! 15

前面的程序分别是,GPIO的定义以及GPIO和USART时钟的开启,以下是USART的配置和主程序USART_InitStruture.USART_BaudRate=96... 前面的程序分别是,GPIO的定义以及GPIO和USART时钟的开启,以下是USART的配置和主程序
USART_InitStruture.USART_BaudRate=9600;
USART_InitStruture.USART_WordLength=USART_WordLength_8b;
USART_InitStruture.USART_StopBits=USART_StopBits_1;
USART_InitStruture.USART_Parity=USART_Parity_No;
USART_InitStruture.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStruture.USART_Mode=USART_Mode_Rx|USART_Mode_Rx;
USART_Init(USART1,&USART_InitStruture);
USART_Cmd(USART1,ENABLE);
}
void delay(u32 i)
{
while(i--);
}
int main(void)
{
USART_Config();
while(1)
{
USART_SendData(USART1,0X55); //不停的向PC发送0x55
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);
GPIO_ResetBits(GPIOB,GPIO_Pin_8); //发送完一次后LED(PB.8)闪烁一次
delay(0xfffff);
GPIO_SetBits(GPIOB,GPIO_Pin_8);
delay(0xfffff);
}
}
调试的结果是PC上的串口没有收到数据,单步执行时程序能够走完一次循环(PC上还是没有收到数据),第二次就一直停在 while(USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);不走了,不知道怎么回事。
展开
 我来答
麟达令通
推荐于2018-04-12 · TA获得超过270个赞
知道小有建树答主
回答量:333
采纳率:50%
帮助的人:206万
展开全部
你的程序不完整,只能猜测了:
先在PC用“串口小助手”,检查你真的是否发出了数据。
先分清楚是发送问题 还是接收问题。
百度网友5e49b28
2018-12-15
知道答主
回答量:14
采纳率:0%
帮助的人:1.2万
展开全部
USART 时钟打开了吗?复用呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanglongdaxia
2014-05-04
知道答主
回答量:13
采纳率:0%
帮助的人:5.6万
展开全部
发送的数据怎么接受的函数有吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式