智能车制作

标题: 串口的调试问题呀!!!! [打印本页]

作者: 林牛牛    时间: 2012-4-1 10:10
标题: 串口的调试问题呀!!!!
  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线做的实验,问题一直存在啊!

作者: xinmengwangran    时间: 2012-4-12 10:11
这个没看太懂 我写的串口程序 接收数据还是没问题的 要不要参考一下 可加本人QQ:465313424
作者: b8352166    时间: 2014-9-9 10:11
我也是这个问题,只能发送接收不到




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2