查看: 5484|回复: 2

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

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
7
最后登录
2017-2-25
发表于 2017-2-24 09:48:27 | 显示全部楼层 |阅读模式
小弟新手,在运行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();
  }
}
回复

使用道具 举报

该用户从未签到

0

主题

1

帖子

0

新手上路

Rank: 1

积分
11
最后登录
2020-5-23
发表于 2020-5-22 10:31:51 | 显示全部楼层
请问解决了吗 ?
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

39

帖子

0

新手上路

Rank: 1

积分
48
最后登录
2023-8-17
发表于 2022-3-16 12:46:36 来自手机 | 显示全部楼层
现货出售: SPC5644BF0MLU1  数量:19280PCS SPC5606BK0MLL6  数量:17912PCS TJA1041AT/VM     数量:5300PCS  IC电子物料涨价了,请问贵公司最近有需要出售的物料吗?  我公司团队有多年物料出售经验,有机会得到出售的清单,我们报价给贵公司参考,谢谢!  我公司专注回收汽车、5G通讯IC等电子物料收购   芯易科电子,孙政国     电话、微信同号13537746838   邮箱 xinyike13537746838@163.com
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-20 21:51 , Processed in 0.116771 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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