stm32 USART1发送数据,PC机串口助手收到的数据与发送的不一样,这是怎么回事啊?

发送的是0x61,接收到的是4F波特率不是这样直接设的吗USART_InitStructure.USART_BaudRate=9600;求大神指导啊... 发送的是0x61,接收到的是4F
波特率不是这样直接设的吗
USART_InitStructure.USART_BaudRate = 9600;
求大神指导啊
展开
 我来答
cqpcy
2014-03-17 · TA获得超过658个赞
知道小有建树答主
回答量:746
采纳率:66%
帮助的人:362万
展开全部
波特率是这样没错,应该是数据处理的问题,请贴相关代码
更多追问追答
追问

追答
void USART1_IRQHandler()
{
if (USART_GetITStatus(USART1, USART_IT_TXE) != RESET)
{
    USART_SendData(USART1, sheng);
}
 if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
 {
     xxx = USART_ReceiveData(USART1);
 }

}

中断中不要加延时,一般原则是越简洁越好,如需处理大量数据,中断也只负责收发数据到缓存,在主函数中再对缓存做处理

alien6670
2014-03-18 · TA获得超过310个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:98.4万
展开全部
串口助手有没有设置对?一般情况是波特率或校验为等设置不一致的问题
追答
在接收中断里不要用for指令,中断中的程序越简单越好,要想连续接受数据
在主程序中完成!
刚刚写错了发送中断,发完一次要清两个标记,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式