您好、欢迎来到现金彩票网!
当前位置:秒速牛牛 > 通信控制字符 >

pic单片机串行通信收发字符串的问题!高分求助!

发布时间:2019-05-20 18:12 来源:未知 编辑:admin

  while(!TRMT)//TRMT传送移位寄存器,数据发完变成1,非一下,如果没完继续发

  TRISC=0xff;//这里应该是输出,但是全部置0不对,全部置1可行

  这里的程序是收到什么字符原样发出去,现在需要改成收到一个以回车(0x0d)结尾的字符串就把字符串发出去,否则不发送任何东西知道字符数量超过10(暂定),求达人指导!解答得好再追加!展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  我把你的程序做了些修改,并在PROTEUS中仿真,是正确的,图中的上面是仿真的发送,我输入了“HowAreYou?并按回车键,单片机收到回车后,先输出OK!!!及回车,再把收到的数回送出去。

  这里加了宏定义。有些内容请见北航的《PIC16系列单片机C程序设计与PROTEUS仿真》一书。

  TRISC=0xff; //这里要把高二位设置这输入,但在以下的串口使能后,系统自动将RC6变成通信输出

  while(!TRMT)//TRMT传送移位寄存器,数据发完变成1,非一下,如果没完继续发

  TRISC=0xff;//这里应该是输出,但是全部置0不对,全部置1可行

  好了,主要加了一个FIFO缓冲区,便于你判断接受到的数据是否有0x0d,以便满足发送要求。希望你满意

  先定义一个数组,在中断中判断RCREG的值是否等于0X0D,如果不等于,就把RCREG的值保存到数组里面,这样一直接收,不给TXREG赋值,知道接收到0X0D的值后,再依次把数组里面的数赋给TXREG就发送出去了。

  你好,我也知道这个大概的流程,但是编了几次都是传送乱码回来,程序就跑飞了

http://upschool.net/tongxinkongzhizifu/29.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有