免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2028 | 回复: 5
打印 上一主题 下一主题

Hyperterminal数据传输 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-03 13:07 |只看该作者 |倒序浏览
前辈好,我正在写一测试程序,是写一个程序可以跟我的dev board做沟通,我的做法是可以透过hyperterminal输入一个A,然后当我的dev board确定收到这个A的时候,可以回我一个B或任何的讯号都可以,我知道这会牵扯到baud rate 或是data bit等等的设定,这一些我都设定好了,但是我不知道该怎么以C语言写传输数据到board还有透过board收数据再送回hyperterminal,有经验的前辈可以指导吗?是否可以写一下范例程序给我参考呢?谢谢
主要就是如何传送数据跟接收数据的问题了

非常感谢,请指教…

Dev board: DEMOQE128
Processor:MCF51QE128

论坛徽章:
0
2 [报告]
发表于 2009-07-03 13:52 |只看该作者
看芯片的數據手冊,寫個簡單驅動就可以了

论坛徽章:
0
3 [报告]
发表于 2009-07-03 14:01 |只看该作者
你好,我大概知道,但是传输的程序应该怎么写呢?可以请你指导一下吗?

论坛徽章:
0
4 [报告]
发表于 2009-07-03 14:45 |只看该作者
寫好了驅動之後就是往串口裏扔字符或者接收字符判斷就可 以了

论坛徽章:
0
5 [报告]
发表于 2009-07-03 20:58 |只看该作者
前辈你好,我写了一下我自己的程序,也测了一下,我把传输的部份写好了,写了传输的ISR也确定有传输成功了,但是接收的部份一直有问题,写了接收的ISR,一直都没反应,我看了很久,不知道是那里的问题,可以请前辈指导吗?
谢谢

void SendMsg(char msg[]) {
  byte i=0;
  char nxt_char;
  
  SCI1C2 = 0x08;    // enable Tx
  SCI1C2_TCIE =1;   //Transmission complete interrupt enable
  nxt_char = msg[i++];
  while(nxt_char != 0x00) {
    while(!SCI1S1_TDRE){}
    SCI1D = (byte) nxt_char; // 2nd half of TDRE clear procedure
    nxt_char = msg[i++];
  } //end while((SCI1D
} //end SendMsg



char RecChar() {
  byte rec_char;
  char next_char;

  if (SCI1S1_RDRF)  // 1st half of RDRF clear procedure
  rec_char = SCI1D;  // 2nd half of RDRF clear procedure
  SCI1C2_RE = 1;    // enable Rx
  SCI1C2_RIE =1;    //Receive Interrupt enable
  while(!SCI1S1_RDRF){  };
  rec_char = SCI1D; // get recieved character
  SendMsg((char) rec_char); // echo received character
  return (char) SCI1D;
} //end RecChar

论坛徽章:
0
6 [报告]
发表于 2009-07-05 01:42 |只看该作者
自己顶一下,SendMsg这一个Function目前测试没有问题,RecChar没办法运做,希望有经验的前辈可以看看是那里出了问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP