8045|14

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STC片子串口1使用独立波特率发生器数据传输不到. [复制链接]

  1. #include
  2. #include

  3. sfr AUXR = 0x8E;
  4. sfr AUXR1 = 0xA2;
  5. sfr BRT = 0x9C;

  6. //#define RELOAD_COUNT 0xFC  //9600
  7. //外部晶振:14.7456M
  8. void
  9. init_comm()
  10. {       
  11.         SCON=0x50;                //模式1,8位UART 波特率可变
  12.         PCON=0x00;                //SMOD=0
  13.         BRT=0xFC;                //9600
  14. //        AUXR1=0x80;                //p1作为串行口
  15.         AUXR=0x11;                //BRTX12=0;BRTR=1;BRTX12=1;
  16.         ES=1;
  17.         EA=1;
  18. }

  19. /*
  20. void init_comm()
  21. {
  22.         SCON=0x50;
  23.         PCON=0x00;
  24.         TMOD=0x20;
  25.         TH1=0xFD;
  26.         TL1=0xFD;
  27.         TR1=1;
  28.         ES=1;
  29.         EA=1;

  30. }
  31. */

  32. void
  33. send_pc(unsigned char ch)
  34. {
  35.         ES=0;
  36.         TI=0;
  37.         SBUF=ch;
  38.         while(TI==0);
  39.         TI=0;
  40.         ES=1;
  41. }

  42. void
  43. main()
  44. {
  45.         init_comm();
  46.         send_pc(0x55);
  47.         send_pc(0x56);
  48.         while(1)
  49.         ;
  50. }

  51. void
  52. ISR_comm(void) interrupt 4
  53. {
  54.         unsigned char ch;
  55.         if(RI)
  56.                 {
  57.                         RI=0;
  58.                         ch=SBUF;
  59.                         send_pc(ch+1);
  60.                 }
  61. }
复制代码

如果是波特率不正确的话 应该接受到数据是乱码吧?但是现在什么都没有,一开始发的55 56 也上不到pc

最新回复

我碰到同样的问题,楼主解决了没?怎么不见解决方法?  详情 回复 发表于 2009-11-25 11:43
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
拿示波器量下看信号出来没,如果没有信号出来那波特率发生器没够工作。

另外,如果有信号输出,也可能是PC端软件有问题。
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我用timer产生波特率试了,是行的,说明pc软件和硬件都应该是好的
假如波特率没有工作,请问问题可能出在哪里呢?
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

4
 
刚测了 没有信号出来
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
那应该是波特率配置有问题,没有时钟出来。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 zyzhang365 的回复:
那应该是波特率配置有问题,没有时钟出来。


另外,和PC通讯需要在芯片端加232电平转换芯片的,否则没法和PC通讯。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

7
 
请问时钟应该从哪里出来呢?可以检测到吗?
我上面的配置几乎是按照手册上写的,但是通信不了 郁闷死了啊
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 2 楼 snakeloveist 的回复:
我用timer产生波特率试了,是行的,说明pc软件和硬件都应该是好的
假如波特率没有工作,请问问题可能出在哪里呢?


用timer不就可以吗 为什么不用?
没有过这个芯片,别的方法不清楚。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

9
 
timer行 但是timer还有其他用处,占用了,所以用这个独立波特率发生器弄,现在一直东西出不来,
是硬件问题就老火了,哎
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

10
 
你的芯片具体型号是什么  
另外,timer一般会不止一个的,可以使用别的timer呀
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

11
 
呵呵 是哦,本来想用PCA做timer,但是没有成功(我想用PCA做定时器产生方波)也不知道怎么回事?型号是STC12C5204AD 要不您帮我看看
程序如下:

  1. /*STC利用PCA扩展timer产生方波输出*/

  2. #include

  3. sfr CCON=0xD8;
  4. sfr CMOD=0xD9;
  5. sfr CL=0xE9;
  6. sfr CH=0xF9;
  7. sfr CCAP0L=0xEA;        //COMPARE
  8. sfr CCAP0H=0xFA;        //COMPARE
  9. sfr CCAPM0=0xDA;       

  10. sbit CR=CCON^6; //start signal
  11. sbit CCF0=CCON^0;

  12. sbit OUT=P1^2;

  13. void init_pca()
  14. {
  15.         CMOD=0x80;
  16.         CCON=0x00;
  17.         CCAPM0=0x49; //16 bit timer
  18.         CCAP0H=0x02;
  19.         CCAP0L=0x67;
  20.         CH=0;
  21.         CL=0;
  22.         EA=1;
  23.         CR=1;
  24. }

  25. void
  26. main()
  27. {
  28.         init_pca();
  29.         while(1)
  30.         ;
  31. }
  32. void
  33. pca_ISR() interrupt 7 using 3
  34. {
  35.         OUT=~OUT;
  36.         CCAP0H=0x02;
  37.         CCAP0L=0x67;
  38.         CH=0;
  39.         CL=0;
  40.         CCF0=0;
  41. }
复制代码

谢谢了哦
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

12
 
其实使用独立波特率发生器应该是可以的 ,自己再仔细看看手册和例子程序吧
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

13
 
恩 谢谢了。
 
 
 

回复

93

帖子

0

TA的资源

一粒金砂(初级)

14
 
郁闷,,,,我的这款STC片子不支持独立波特率发生器,,哎,大半天时间啊,太粗心了,
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

15
 
我碰到同样的问题,楼主解决了没?怎么不见解决方法?
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表