打印

STM8S103外部时钟与串口通讯问题

[复制链接]
2717|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rudy0729|  楼主 | 2013-9-18 09:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠你们好!  
今天调试串口通讯问题?出现以下问题!  
这个是我时钟配置:使用外部谐振器8M晶振
    CLK_ECKR=0x01;    //外部时钟使能打开
    CLK_SWCR=0x02;    //主时钟切换使能
    CLK_CKDIVR=0x03;   //时钟8分频后CPU时钟为1M
    CLK_SWR=0xB4;     //主时钟切换寄存器 选择HSE为主时钟源
    while (!(CLK_SWCR & 0x08));
    CLK_CSSR=0x01;     //时钟安全系统寄存器  

这个是程序串口配置:
  //波特率为 9600;8位数据;一个停止位;没有校验位;接收使能;
  UART1_BRR2=0x01;
  UART1_BRR1=0x34;
  UART1_CR3=0x00;
  UART1_CR2=0x2C;
  UART1_CR1=0x00;
  __enable_interrupt();


现在问题出现通讯的数据不对!      如果我时钟配置的时候不分频就(CLK_CKDIVR=0x00;   )就可以通讯数据正确!    请问资料上面写着是Fmaster/9600的!   我现在怎么去判别!  请指教啊! 等..........
沙发
feilusia| | 2013-9-18 10:02 | 只看该作者
时钟分频了,波特率就变了。那你另一端串口波特率也得变啊。

使用特权

评论回复
板凳
rudy0729|  楼主 | 2013-9-18 10:44 | 只看该作者
我现在修改了配置是这样的:
    /*配置8Mhz外部高速RC*/
    CLK_ECKR=0x01;    //外部时钟使能打开
    CLK_SWCR=0x02;    //主时钟切换使能
    CLK_SWR=0xB4;     //主时钟切换寄存器 选择HSE为主时钟源
    CLK_CKDIVR=0x03;  //时钟8分频
    while (!(CLK_SWCR & 0x08));
    CLK_CSSR=0x01;     //时钟安全系统寄存器  
    CLK_ICKR=0x00;

使用特权

评论回复
地板
rudy0729|  楼主 | 2013-9-18 10:45 | 只看该作者
串口通讯可以通了;但是我不知道有没有使用了外部晶振了

使用特权

评论回复
5
rudy0729|  楼主 | 2013-9-18 10:46 | 只看该作者
rudy0729 发表于 2013-9-18 10:44
我现在修改了配置是这样的:
    /*配置8Mhz外部高速RC*/
    CLK_ECKR=0x01;    //外部时钟使能打开

我的波特率设置没有变化!
  //波特率为 9600;8位数据;一个停止位;没有校验位;接收使能;
  UART1_BRR2=0x01;
  UART1_BRR1=0x34;
  UART1_CR3=0x00;
  UART1_CR2=0x2C;
  UART1_CR1=0x00;
  __enable_interrupt();

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

33

帖子

1

粉丝