1869|0

1599

帖子

0

TA的资源

五彩晶圆(初级)

上海灵动微电子MM32使用笔记 [复制链接]

项目上使用了STM32F031F6P6这一款单片机,ST的芯片疯涨所以换了国产灵动微电子的MM32F031F6P6,

 

随笔分享一下使用该芯片的一些注意事项。

以MM32F031系列单片机为例,说一下使用情况。

这款国产单片机兼容ST同型号,ST的最高到48M主频,而MM的最高能到72M。

在灵动官网下载的示例程序系统时钟源是通过system_MM32F031x4x6_q.c中的宏选择的,如下图:

 

image.png  

 

SYSCLK_FREQ_HSE:选择为外部高速时钟,默认是8M

SYSCLK_HSI_48MHz选择为内部时钟(这一款单片机的默认内部时钟就是48M,跟ST不同)

SYSCLK_HSI_72MHz选择并配置时钟为内部72M

如果是使用的是外部时钟8M,官方示例程序是没有倍频到48M的,所以系统时钟就是8M,如果你需要倍频到48M,使用我这个函数替换掉原来的即可:

static void SetSysClockToHSE(void)

{

        /* 使能HSE */

        RCC->CR |= RCC_CR_HSEON;

        

        /* 等待HSE准备就绪 */

        while(!(RCC->CR & RCC_CR_HSERDY));

        

        /* 启用预取缓冲区并设置闪存延迟 */

        FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY_1;

        

        /* 设置HCLK时钟分频为1分频 */

        RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;

        

        /* 设置PCLK1时钟分频1分频 */

        RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1;

        

        /* 设置PCLK2时钟分频1分频 */

        RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;

        

        /* 设置HSE作为PLL输入时钟 */

        RCC->CFGR |= (1 << 16);

        

        /* 设置HSE不分频输入PLL */

        RCC->CFGR &= (~(1 << 17));

        

        /* 设置PLL倍频6倍到48M */

        RCC->CR &= (~(1 << 26));

        RCC->CR |= (5 << 26);            // PLLDN = 5

        RCC->CR &= (~(1 << 20));         // PLLDM = 0

        

        /* 使能PLL */

        RCC->CR |= (1 << 24);

        

        /* 等到PLL就绪 */

        while(((RCC->CR & (1 << 25)) == 0));

        

        /* 设置PLL输出作为系统时钟 */

        RCC->CFGR &= (~RCC_CFGR_SW);

        RCC->CFGR |= RCC_CFGR_SW_1;

        

        /* 等待系统时钟切换就绪 */

        while(((RCC->CFGR & (RCC_CFGR_SW_1 << 2)) == 0));

}

 


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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
Protel99SE设计软件使用手册

解决一下在使用软件过程中经常需要查找资料的难题!建议大家先读一遍再实践!

开关电源的设计和电容降压电路问题

各位大虾,本人想设计一个开关电源,现在有个问题,就是当市电220V的电压变为12V或20V的低压时,需要一个变压器,这个 ...

<学习笔记>花点时间让你彻底搞懂I2C总线

前言 经常在论坛上看到有网友在咨询I2C的问题,这里就I2C总线做一个给比较全面的总结,感兴趣的网友可以耐心的看下去,相信对你 ...

Helper2416-10——裸机第四弹——关狗&调用C函数(附上源码包)

本帖最后由 yuanlai2010 于 2014-7-14 08:20 编辑 关狗&调用C函数 参与Helper2416开发板助学计划心得 07-14 应网友要求 已 ...

Helper2416助学: 玩转ARM应用程序开发从QT开始

写在前面的废话: 今天终于有空了,现把前段时间玩ARM Linux上的应用开发学习过程与大家分享,也算是对这一阶段学习过程的总结 ...

能提供一份S1700-24GR的手册吗?

新手学习。谢谢了。

又一个TWS耳机充电盒拆机

本帖最后由 dcexpert 于 2020-5-10 18:39 编辑 又拆了一个TWS耳机的充电盒,给大家参考。这个比9.9元的那种复杂一点,支持磁 ...

分享千兆以太网口电路设计

网络已经是现代生活中必不可少的基础设施了。对于一般人来讲,在家里可能很少会用到有线网络,但对于在公司工作的时候,大多数还 ...

反相器与反相

这命题,可供写手发挥的不多, 无论功能或用法,都沒啥出彩之处, 况且,关于这货的文章和产品规格,坊间不缺。 反 ...

有奖直播 | 国产FPGA安路科技2024线上新品发布会

本次直播将重点介绍凤凰系列全新PH1P高效能产品,分享安路科技在机器视觉、LED显示等领域的新拓展与突破。新品解析、专业答疑、 ...

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表