求助!关于写的uart串口的问题?
本帖最后由 sorliran1 于 2012-4-25 20:11 编辑最近学习写了一个uart串口,包括接收部分和发送部分,在调试时,我用串口调试助手发送数据,串口接收数据后再从串口发送出去在串口调试助手上显示,,!!!!问题是:
单独发送每个字符都能显示,比如发送a,显示a,,,但是我如果连续发送一串数据时,如在发送区输入: 02 03 08 然后点击发送,但是显示的就不正确了,,而单独发送这些数据时是没有问题的,,,这是怎么一回事,,,,,,????求解?????????
停止位没处理好? 我最近都研究这个问题,你是用中断法写的吧,我调了很多天了数据通信还是不稳定。 是不是 接受部分和发送部分的握手信号没处理好?要不加个fifo试试、 mii 发表于 2012-4-24 21:43 static/image/common/back.gif
我最近都研究这个问题,你是用中断法写的吧,我调了很多天了数据通信还是不稳定。 ...
不是,我这个差不多就是引用的特权的, dytdyt2010 发表于 2012-4-24 22:28 static/image/common/back.gif
是不是 接受部分和发送部分的握手信号没处理好?要不加个fifo试试、
我感觉没什么问题,就是参看的特权写的那个,检查了半天也不知道哪里有问题,把代码打包上来大家看一下 呵呵,很正常,代码就是针对一个字符,也就是8bit数据设计的
你这样发的话就成字符串了,但代码并没有针对字符之间中间的停止位和起始位做设计... 如果代码是 接收并发送一个字符的话,你连续输入多个ga字符给它发送那当然不对啊,它又不能判断 哪到哪是一个字符。你可以将几个字符先缓冲起来,每接收到一个字符,搞个rx_done_tick,通知可以开始新的发送了。 当初我也是参考特权的代码,也遇到这个问题,把停止位放到第十位就没问题了,有空把我代码给你传上来 我最近也在看串口的感觉应该需要加上一个fifo吧? 然后输出 遇到同样的问题啊!
页:
[1]