2083759 发表于 2019-10-13 14:40

初试32位MCU,初试华大136好多问题不明白的,请教大家!!

本帖最后由 2083759 于 2019-10-13 14:56 编辑

用的是Keil_ARM,问题1:C51中断的中断服务程序有中断号,ARM应该怎么写呢?
问题2:中断的寄存器应该怎么操作?比如中断优先级寄存器(SCS_IPR0),M0P_SCS_IPR0不行
问题3:M0P开头和SCB开头分别是什么意思,两者区别呢?

yangzhen1001 发表于 2019-10-13 16:34

1.库函数方法,在interrupts_hc32l136.c以经帮定义好了中断函数。 也可以在启动文件中查看到中断号。
2.寄存器操作方法,看用户手册。
3.M0P是寄存器,SCB开头分别是系统配置地址。

初次学ARM不建议学这种MCU。选教程多的通用MCU最好。这种没有教程资源,资料极少,现有的资料都会问题很多。到时会影响你学习的动力!

smartpower 发表于 2019-10-13 17:07

本帖最后由 smartpower 于 2019-10-13 17:19 编辑

1. ARM 不需要写中断号,在startup_xxxx.s文件中已写义了每个中断服务函数的名称。      在相应的.c文件中加上.S定义的中断服务函数,并在其中写入自己的中断服务代码即可。




2. ARM 已定义了中断相关的多个函数,不用操作SCB开头的寄存器。
    位于...\arm\CMSIS\Core\Include\core_cm0plus.h











smartpower 发表于 2019-10-13 17:22

多看看库文件中的各种示例。每种片内外设都有很多示例的。




2083759 发表于 2019-10-13 17:51

smartpower 发表于 2019-10-13 17:22
多看看库文件中的各种示例。每种片内外设都有很多示例的。

你好,我想先不用库

2083759 发表于 2019-10-13 17:54

smartpower 发表于 2019-10-13 17:07
1. ARM 不需要写中断号,在startup_xxxx.s文件中已写义了每个中断服务函数的名称。      在相应的.c文件 ...

你好,我这样设置就进不了中断,只有放在循环里才行,不知道哪里问题
//定时器设置
        M0P_SYSCTRL->PERI_CLKEN_f.BASETIM=1;//开时钟       
        M0P_TIM0_MODE0->M0CR_f.MODE=0;//模式0       
M0P_TIM0_MODE0->ARR=0x00;   //重载值
M0P_TIM0_MODE0->CNT=0x00;   //初值       
M0P_TIM0_MODE0->ICLR_f.UIF=0;   //清除中断标志
        M0P_TIM0_MODE0->M0CR_f.UIE=1;//中断使能
        M0P_TIM0_MODE0->M0CR_f.PRS=2;//时钟分频4
        M0P_TIM0_MODE0->M0CR_f.MD=1;//32/16模式.16
        M0P_TIM0_MODE0->M0CR_f.CTEN=1;//定时器使能



void TIM0_IRQHandler(void)
{
        if(M0P_TIM0_MODE0->IFR_f.UIF==1)
        {
                M0P_TIM0_MODE0->ICLR_f.UIF=0;   //清除中断标志
                h++;
                qian=h%10000/1000;
          bai=h%1000/100;
                shi=h%100/10;
                ge=h%10;
          LCD_Display(qian,bai,shi,ge);
       
}
}

smartpower 发表于 2019-10-13 19:36

如下,你只是打开了IP的中断使能,你还需要打开NVIC的中断使能。


打开NVIC的方法如下所示,这个是ARM的函数。


另:做ARM就是要学习使用库来开发功能,也可以通过库来学习直接操作寄存器的方法。


smartpower 发表于 2019-10-13 19:51

主要原因是,在器件的用户手册中,不会详细描述ARM内核相关的功能及寄存器。
所以建议通过器件手册与DEMO相结合的方式来学习ARM类MCU。
当然,也可以买本ARM的书来,把ARM内核学习清楚。但那就太累了,那可是大部头的书,如下,有608页。{:lol:}{:lol:}{:lol:}{:lol:}{:lol:}{:lol:}


MCU57863859 发表于 2019-10-14 09:07

华大代理qq:57863859

2355898179@q 发表于 2019-10-24 11:01

华大一级代理:QQ 765812964

华大半导体MCU 发表于 2019-10-25 10:01

我司华大一级代理商,有专业FAE支持,有需要技术支持及询价的加Q489858603

drer 发表于 2019-11-12 13:13

我也是长知识了

gwsan 发表于 2019-11-12 13:29

没有配置过啊

conjunction 发表于 2019-11-17 18:47

现在ARM芯片开发基本上是使用库了

kane1019 发表于 2019-11-21 13:59

华大一级代理商,有专业FAE支持,有需要技术支持或询价的欢迎加Q8687774详聊
页: [1]
查看完整版本: 初试32位MCU,初试华大136好多问题不明白的,请教大家!!