51单片机如何编程发出脉冲串口发出与接受数据不一致

我用的是STC的52RC和电脑上C++的程序通信。计算机发送一个数单片机接受到,在传回计算机现在的问题是,我如果把一个数据发送20遍只有第一次或者前两次传回的数据是對的,之后... 我用的是STC的52RC和电脑上C++的程序通信。计算机发送一个数单片机接受到,在传回计算机
现在的问题是,我如果把一个数据发送20遍只有第一次或者前两次传回的数据是对的,之后数据就是混乱的值了
单片机程序(串口部分):

得到的结果是,前两次数据是100和20;之后是别的数偶尔又是100和20。不知道是什么问题


PS.在串口调试助手中发送的话,发送0f ff两个数回传的是8f ff。如果发送10回传是90。凡是最高位不是1的时候全都变成1了。

振看起来没多少差别实际

它为基准能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率楿关特别是较高的波特率(19600,19200)不管多么古怪的值,这些晶振都是准确常被使用的。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜體验你的手机镜头里或许有别人想知道的答案。

}

波特率太高 设到4800试试

你对这个回答的评价是


你对这个回答的评价是?


没有错啊我调试了一下,发送和接受一样要不你先发送和接受一个字符,然后再两个三个

你對这个回答的评价是?


你单2113片机上所用的晶振肯定是11.0592MHz这样的话5261数据的发送过程中会有精4102度的1653差,将你的单片机上的晶振欢为12MHz就行了因为你设定TH1=0xfd;TL1=0xfd;时是以晶振欢为12MHz来为参考的,而你波特率的计算是以11.0592MHz来的传输过程中就会有错误。但是有时候的数据传输会正确但是正確率不高。你可以试试

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 51单片机如何编程发出脉冲 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信