打印
[MM32硬件]

上海灵动微电子MM32使用笔记

[复制链接]
1172|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AC, AD

原本项目上使用了STM32F031F6P6这一款单片机,奈何ST的芯片疯涨所以换了国产灵动微电子的MM32F031F6P6,随笔分享一下使用该芯片的一些注意事项。

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

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

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

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));
}



使用特权

评论回复
沙发
麻花油条| | 2022-3-2 15:11 | 只看该作者
笔记是个好东西

使用特权

评论回复
板凳
cyclefly| | 2022-3-2 16:34 | 只看该作者
理解理解!!

使用特权

评论回复
地板
foxsbig| | 2022-3-4 16:55 | 只看该作者
这要有一定功底

使用特权

评论回复
5
sxy4517| | 2022-3-7 09:13 | 只看该作者
本帖最后由 sxy4517 于 2022-3-7 09:14 编辑

问题有以下:
1.如果72M怎么设置?
2.ADC的时钟是什么样子的?帮忙解释一下吧。

使用特权

评论回复
6
tpgf| | 2022-3-8 10:48 | 只看该作者
一款比较经典的芯片了

使用特权

评论回复
7
xzw118| | 2022-3-8 11:03 | 只看该作者
先看用户手册再来看代码,很容易就找到问题了

使用特权

评论回复
8
kxsi| | 2022-3-8 11:05 | 只看该作者
项目做笔记是很好的工作习惯

使用特权

评论回复
9
zljiu| | 2022-3-8 11:16 | 只看该作者
小差别还是很多的哈

使用特权

评论回复
10
nawu| | 2022-3-8 11:24 | 只看该作者
以后移植也需要进行注意

使用特权

评论回复
11
wiba| | 2022-3-8 11:31 | 只看该作者
二者的外部时钟可以是一样的吧

使用特权

评论回复
12
aoyi| | 2022-3-8 11:39 | 只看该作者
内部时钟相差多少啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

75

主题

611

帖子

0

粉丝