yabiyff 发表于 2021-6-3 20:45 错,51的SBUF是两个寄存器,一个收一个发。其他单片机也有类似结构,收发寄存器用同名同地址的,写就是发送寄存器,读就是接收寄存器。 |
| 兄弟 问题解决了吗 我也遇到了一样的问题 是怎么一回事呢? |
| 看你前面部分正常,可以先看一下硬件是否有受到干扰,比如换个串口助手等等,第二就是看一下代码逻辑。 |
| 可能是你的发送被其他中断打断了, |
| while(1) 循环太快,接收太快,发送来不及,如果你发送是堵塞的,倒问题不大 |
|
本帖最后由 昆明路口卖提莫 于 2021-6-4 11:01 编辑 我现在将USART2->DR 数据寄存器每次用完清零, USART2->DR = 0x00 效果也不行 |
kimoye 发表于 2021-6-3 21:08 代码是照着一些学习例程 |
| 建议把代码贴出来给你看看 |
| 我也赞同二楼说的 麻烦贴一下代码可以么 |
| 看看程序,串口接收和发送用的同一个寄存器,可能是串口来不及清空接收 |