查看: 3943|回复: 3

[其他] 急求DZ60的SCI模块的源程序

[复制链接]

该用户从未签到

6

主题

21

帖子

0

新手上路

Rank: 1

积分
45
最后登录
1970-1-1
发表于 2011-7-26 22:17:08 | 显示全部楼层 |阅读模式
各位谁有DZ60的SCI模块的源程序,能不能提供一下。串口通信刚接触,不是很明白,想找个程序学习一下。提前谢过啦
我知道答案 目前已有2人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-7-27 10:05:59 | 显示全部楼层

    RE:急求DZ60的SCI模块的源程序

    社区里面有很多例程的,8位的基本一样。你下载一个看一下。不是还有一个例程总汇吗?你去那看看。
    该会员没有填写今日想说内容.

    该用户从未签到

    2

    主题

    20

    帖子

    0

    新手上路

    Rank: 1

    积分
    27
    最后登录
    1970-1-1
    发表于 2011-8-27 14:43:46 | 显示全部楼层

    RE:急求DZ60的SCI模块的源程序

    按datasheet上配置成总线16MHz,如下
    void InitMCG(void)
    {
        /*step 1: FEI->FBE */
        MCGC2 = 0x36;                //a
        while(MCGSC_OSCINIT != 1);   //b
        MCGC1 = 0xB8;                //d
        while(MCGSC_IREFST != 0);    //e
        while((MCGSC & 0x0C) != 0x08); //f
       
        /*step 2: FBE->BLPE */
        MCGC2 = 0x3E;                //a   B = 1
        MCGC1 = 0x98;                //c   R = 8, 8MHz/8 = 1MHz
        MCGC3 = 0x48;                //d   32±¶Æµ, 1MHz*32 = 32MHz
        while(!MCGSC_PLLST);         //e
       
        /*step 3: BLPE-&gtBE */
        MCGC2 = 0x36;                //a   设置LP为 0
        while((MCGSC_LOCK) != 1);    //b
       
        /* step 4: PBE-&gtEE */
        MCGC1 = 0x18;                //a
        while(MCGSC_CLKST != 3);     //b
        /*MCGOUT = [(f/R)*M]/B = [(8MHz/8)*32]/1 = 32MHz, BusFreq = MCGOUT/2 = 16MHz  
        */
    }
    初始化SCI,如下:
    void sciInit()
    {
        SCI1C1 = 0x00;
        SCI1C2 = 0x2C;
    }
    SCI波特率为9600:
    void SciBrInit(void)
    {
        SCI1BDH = 0x00;
        SCI1BDL = 0x68;
       
        //SCI1BD = 16000000/16/SCI_BAUD_RATE;   
    }
    串口发送:
    void SciSendByte(UINT8 *value)
    {
        while(!(SCI1S1&0x40));  // !(SCI0SR1&0x80)
        SCI1D = *value;   
    }

    void SciSendString(UINT8 *ptr)
    {
        p = ptr;
        while(*p != '\0')
        {
            SciSendByte(p);
            p++;
        }
       
    }

    该用户从未签到

    0

    主题

    9

    帖子

    0

    注册会员

    Rank: 2

    积分
    55
    最后登录
    2021-8-17
    发表于 2011-8-29 00:51:18 | 显示全部楼层

    RE:急求DZ60的SCI模块的源程序

    成功了没
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-27 03:29 , Processed in 0.087318 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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