123
返回列表 发新帖
楼主: cathy-336509

[其他] Uart 收发数据问题 急 急 急

[复制链接]

该用户从未签到

22

主题

93

帖子

0

新手上路

Rank: 1

积分
192
最后登录
1970-1-1
 楼主| 发表于 2012-2-10 13:54:10 | 显示全部楼层

回复:Uart 收发数据问题 急 急 急

回复第 17 楼 于2012-02-09 10:59:34发表:
回复第 16 楼 于2012-02-09 09:13:24发表:
回复第 14 楼 于2012-02-09 09:07:12发表:
你应该调用这个函数:
uart_init (int uartch, int sysclk, int baud)
在uart.h里面。 

还有个问题,想问下你,
主芯片上的外部晶振,是48M的,为什么我用示波器量不出来,需要在软件哪里去设置时钟?
 

你看下你的这个芯片资料 他的波特率的设置 和系统时钟有没有关系  这还看不出来吗
你想要系统时钟设置的话 我给你哥函数  这个是mqx下 写好的时钟初始化 函数 只需要你改数值
而且告诉你怎么去改了 
 

压缩包里面就一个.h文件,没有其他文件了吗?
回复 支持 反对

使用道具 举报

该用户从未签到

13

主题

128

帖子

0

新手上路

Rank: 1

积分
58
最后登录
1970-1-1
发表于 2012-2-10 14:10:58 | 显示全部楼层

回复:Uart 收发数据问题 急 急 急

你不就要时钟设置的吗   ,,,,无语了  有事qq说 在这不太方便
回复 支持 反对

使用道具 举报

该用户从未签到

22

主题

93

帖子

0

新手上路

Rank: 1

积分
192
最后登录
1970-1-1
 楼主| 发表于 2012-2-13 16:02:45 | 显示全部楼层

回复:Uart 收发数据问题 急 急 急

回复第 14 楼 于2012-02-09 09:07:12发表:
你应该调用这个函数:
uart_init (int uartch, int sysclk, int baud)
在uart.h里面。 

安版主,我的工程有没有进展啊?
系统时钟和波特率 自己认为都没有设置错误
从示波器上看到发出数据波形 就是错误的数据
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-2-14 11:30:58 | 显示全部楼层

    RE:Uart 收发数据问题 急 急 急

    我看了你的程序了,你的程序中并没有初始化过时钟,那么默认是时钟可能是48MHz,你仿真的时候,可以在debug选项下面选择查看时钟,就能查看到当前时钟,或者通过仿真的command窗口,在开始仿真的时候会输出时钟频率。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22

    主题

    93

    帖子

    0

    新手上路

    Rank: 1

    积分
    192
    最后登录
    1970-1-1
     楼主| 发表于 2012-2-15 14:40:39 | 显示全部楼层

    回复:Uart 收发数据问题 急 急 急

    回复第 24 楼 于2012-02-14 03:30:58发表:
    我看了你的程序了,你的程序中并没有初始化过时钟,那么默认是时钟可能是48MHz,你仿真的时候,可以在debug选项下面选择查看时钟,就能查看到当前时钟,或者通过仿真的command窗口,在开始仿真的时候会输出时钟频率。 

    安老大,由于我的工具调试有问题,我就采取了其他的方法(DMA timer看pin脚电平的时间)获得当前时钟频率,得到的不是80MHZ,也不是48Mhz,而是27Mhz左右(另:直接测量芯片管脚43,clockout,得到的也是27Mhz),在软件中我用pll将频率拉升至80Mhz的,代码和referencemanual中讲的一致,为什么频率会出现27Mhz,我很疑惑,不知道是什么原因?
    void mcf5225x_pll_init(void)

     MCF_CLOCK_OCLR = 0xC0;    //turn on crystal  //0xF0
     MCF_CLOCK_CCLR = 0x00;    //switch to crystal
      MCF_CLOCK_OCHR = 0x00;    //turn off relaxation osc
     /* The PLL pre divider - 48MHz / 6 = 8MHz */
     MCF_CLOCK_CCHR =0x05; 
     
     /* Multiply 48Mhz reference crystal /CCHR by 10 to acheive system clock of 80Mhz */
     MCF_CLOCK_SYNCR &= ~(MCF_CLOCK_SYNCR_PLLEN);
      MCF_CLOCK_SYNCR |= MCF_CLOCK_SYNCR_CLKSRC | MCF_CLOCK_SYNCR_PLLMODE; 
     //80
     MCF_CLOCK_SYNCR |= MCF_CLOCK_SYNCR_MFD(3) | MCF_CLOCK_SYNCR_RFD(0);
     
     MCF_CLOCK_SYNCR |= MCF_CLOCK_SYNCR_PLLEN; 
     while (!(MCF_CLOCK_SYNSR & MCF_CLOCK_SYNSR_LOCK))
     {
     
     }
    }
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-2-16 09:46:30 | 显示全部楼层

    RE:Uart 收发数据问题 急 急 急

    你的程序里面调用这个了吗?
    mcf5225x_pll_init(),我这看你的程序没有调用的。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-2-16 10:37:07 | 显示全部楼层

    RE:Uart 收发数据问题 急 急 急

    你把初始化代码换成这个,用内部的。
    void pll_init(void)
    {
            MCF_CLOCK_CCHR =0x01; // The PLL pre divider - 16MHz / 2 = 8MHz
        /* The PLL pre-divider affects this!!!
                 * Multiply 48Mhz reference crystal /CCHR by 10 to achieve system clock of 80Mhz
                 */
        MCF_CLOCK_SYNCR = MCF_CLOCK_SYNCR_MFD(3) | MCF_CLOCK_SYNCR_CLKSRC| MCF_CLOCK_SYNCR_PLLMODE | MCF_CLOCK_SYNCR_PLLEN ;
        while (!(MCF_CLOCK_SYNSR & MCF_CLOCK_SYNSR_LOCK))
        {
        }
    }
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22

    主题

    93

    帖子

    0

    新手上路

    Rank: 1

    积分
    192
    最后登录
    1970-1-1
     楼主| 发表于 2012-2-16 13:40:49 | 显示全部楼层

    RE:Uart 收发数据问题 急 急 急

    串口数据可以得到了,非常感谢安版主和DevilHan,谢谢你们给我的帮助!!
    数据是可以正确的收发了,只是系统时钟不是我想要的时钟,继续学习中。。。
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-2-16 14:48:50 | 显示全部楼层

    RE:Uart 收发数据问题 急 急 急

    这个你按手册的规定设置就没有问题。详细阅读一下手册的时钟配置。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 17:09 , Processed in 0.101037 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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