智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2634|回复: 0
打印 上一主题 下一主题

[单片机] 飞思卡尔单片机 SCI寄存器SCIDRL一直为0

[复制链接]

1

主题

8

帖子

0

精华

注册会员

Rank: 2

积分
40
QQ
威望
24
贡献
12
兑换币
11
注册时间
2017-2-20
在线时间
2 小时
毕业学校
哈尔滨工业大学
跳转到指定楼层
1#
发表于 2017-2-21 14:21:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟新手,在运行sci程序时,SCI1DRL寄存器的值一直是0,电脑接收到数据不对。为这个问题困惑好久了,已经试了n个网上例程了 ,下面是我现在正在测试的一很简单的程序,还是不行#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include<mc9s12xs128.h>

#define RD   PTS_PTS7
#define RD_dir  DDRS_DDRS7
#define  BUS_CLOCK                   32000000           //总线频率
#define  OSC_CLOCK                   16000000           //晶振频率
#define BAUD 9600                    //串口波特率


unsigned char k;
unsigned char dat_send[8]={'F','R','E','E','F','L','Y','\r'};
void INIT_PLL(void)
{
    CRGINT = 0;                  //关中断
    CLKSEL_PLLSEL = 0;           //在未初始化PLL前不使用PLL的输出作为CPU时钟
  #if(BUS_CLOCK == 40000000)
    SYNR = 4;
  #elif(BUS_CLOCK == 32000000)
    SYNR = 3;     
  #elif(BUS_CLOCK == 24000000)
    SYNR = 2;
  #endif
    REFDV = 1;                   //PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1)=64MHz ,fbus=32M
    PLLCTL_PLLON = 1;            //开PLL
    while (CRGFLG_LOCK == 0);    //等待PLL锁定频率
    CLKSEL_PLLSEL = 1;           //选择系统时钟由PLL产生
}

void INIT_SCI1(void)
{
SCI1BD = BUS_CLOCK/16/BAUD;   //设置SCI1波特率为9600
  SCI1CR1 = 0x00;        //设置SCI1为正常模式,八位数据位,无奇偶校验
   SCI1CR2 = 0x0c;        //允许接收和发送数据,允许接收中断功能
}


void INIT_485(void)
{
    RD_dir=1;
    RD=0;  //用的隔离485芯片,控制引脚为0时,发送状态
}

void delay1ms(long n)
{
   long i,j=0;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
         {
         }
    }
}

void main(void) {
  DisableInterrupts;
  INIT_PLL();
  INIT_SCI1();
  INIT_485();
  EnableInterrupts;
  for(;;)
  {
     delay1ms(1000);
     for(k=0;k<8;k++)
        SCI1_send(dat_send[k]);
     _FEED_COP();
  }
}

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 11:42 , Processed in 0.039356 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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