智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2576|回复: 2
打印 上一主题 下一主题

串口的调试问题呀!!!!

[复制链接]

46

主题

247

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2760

优秀会员奖章

QQ
威望
1192
贡献
1120
兑换币
73
注册时间
2011-11-7
在线时间
224 小时
跳转到指定楼层
1#
发表于 2012-4-1 10:10:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. //------------------------------------------------------------------------------------------------------------------//
  2. //功能说明:MC9S12XS128--SCI例程
  3. //使用说明:实现PC→MCU→PC通信,用户可以根据需要修改程序,实现PC→MCU或者MCU→PC通信
  4. //程序设计:电子设计吧【www.dzsj8.com】
  5. //设计时间:2010.01.21
  6. //----------------------------------------------------------------------------------------------------------------//

  7. #include <hidef.h>      /* common defines and macros */
  8. #include "derivative.h"      /* derivative-specific definitions */

  9. //unsigned char txt[]={"Hello World!"} ;
  10. void delay(unsigned int time)
  11. {
  12. unsigned int i,j,k;
  13. for(i=0;i<125;i++)
  14.   for(j=0;j<125;j++)
  15.      for(k=time;k>0;k--);
  16. }

  17. //-----------------------初始化SCI0----------------------------//
  18. void SciInit()
  19. {
  20.     SCI0BD=52;         //9600bps  Baud Rate=BusClock/(16*SCIBD)
  21.     SCI0CR1=0;         //正常8位模式,无奇偶校验
  22.     SCI0CR2=0X2C;      //发送允许   接受中断允许  
  23. }

  24. //----------------------读SCI数据-----------------------------//
  25. unsigned char SciRead()
  26. {
  27.     if(SCI0SR1_RDRF==1)     //表明数据从位移寄存器传输到SCI数据寄存器
  28.       {
  29.       SCI0SR1_RDRF=1;     //读取数据寄存器会将RDRF清除  重新置位
  30.       return SCI0DRL;        //返回数据寄存器的数据
  31.       }
  32. }

  33. //-----------------写SCI数据---------------------------------//
  34. void SciWrite(unsigned char sendchar)
  35. {
  36.     while (!(SCI0SR1&0x80));
  37.     SCI0DRH=0;
  38.     SCI0DRL=sendchar;
  39. }

  40. //------------------------main----------------------------------//
  41. void main(void)
  42. {
  43.         SciInit();
  44.         EnableInterrupts;

  45.   for(;;)
  46.   {
  47.   } /* wait forever */
  48.   /* please make sure that you never leave this function */
  49. }

  50. //---------------------------接收中断函数-----------------------//
  51. #pragma CODE_SEG NON_BANKED  
  52. void  interrupt 20 SCI0_re(void)
  53. {
  54. unsigned char ch;
  55. ch=SciRead();
  56. SciWrite(ch) ;
  57. }
复制代码
以上是一个串口实验的代码,实现自发自收的目的,但是我用串口助手重来都看不到任何数据,如果有人串口实验做的很厉害的人,看到此贴希望能帮帮,我用的是串口转的USB线做的实验,问题一直存在啊!

4

主题

487

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2981

活跃会员奖章优秀会员奖章

QQ
威望
2216
贡献
489
兑换币
53
注册时间
2010-11-10
在线时间
138 小时
2#
发表于 2012-4-12 10:11:21 | 只看该作者
这个没看太懂 我写的串口程序 接收数据还是没问题的 要不要参考一下 可加本人QQ:465313424
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

注册会员

Rank: 2

积分
109
威望
53
贡献
42
兑换币
27
注册时间
2014-9-9
在线时间
7 小时
毕业学校
安徽工业大学
3#
发表于 2014-9-9 10:11:05 | 只看该作者
我也是这个问题,只能发送接收不到
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 18:37 , Processed in 0.043416 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表