首页 > 评测 > [ LKS32MC037E开发板评测 ]+环境搭建与点灯实验
[ LKS32MC037E开发板评测 ]+环境搭建与点灯实验
- [导读]
- #申请原创# 开发板LKS32MC037E已收到有段时间了,前段时间尝试采用MCPWM方式去驱动尼得科无刷直流电机,带霍尔接口的。电机一直原地抖动,并未能转动起来,手里要有台示波器就好了。今天星期六,也是来年工作的第一个
LKS32MC037E开发套件包含MCU板+功率底板,这款MCU搭建32位Cortex-M0内核,主频48MHz,采用SSOP24封装,工业级工作温度范围,适用于有感BLDC、无感BLDC、有感FOC、无感FOC及步进电机、永磁同步、异步电机等控制系统。也可适用于数字电源控制系统。LKS_EVB_MVPOWPRE_V2.0支持DC7~24V输入,DC24V时功率在80W以下,可实现无感方波、有感或无感FOC控制,支持按键启停和模拟电位器调速,FG输出,串口通讯等功能。开发板的系统资源框图如下:
“LKS_EVB_MVPOWPRE_V2.0”板子的PCB点位图如下,可以大致得了解各接口的布局。
从官网:https://www.linkosemi.com/LKS03x/list.aspx可以获取关于LKS32MC037E的开发资源包(包括基于Keil的pack包)。电脑中已经装好Keil,只需将下载好的“Linko.LKS03x.1.0.6.pack”文件,双击打开并安装,后续打开官方提供的demo例程即可选择工程对应的MCU型号。
此次实验意在点亮LED2,接下来我们根据官方提供的资料,找出LED2与MCU板上的LKS32MC037E连接管脚。
由此可见,只需要将P1.4管脚输出高电平则LED2灯被点亮,P1.4管脚输出低电平则LED2熄灭。在GPIO参考例程中,简单修改即可点亮LED2.
- #include "lks32mc03x_lib.h"
- #include "hardware_init.h"
- #include "delay.h"
- void Hardware_init(void)
- {
- __disable_irq(); /* 关闭中断 中断总开关 */
- SYS_WR_PROTECT = 0x7a83; /* 开启写使能*/
- IWDG_DISABLE(); /* 关闭独立看门狗使能*/
- FLASH_CFG |= 0x00080000; /* FLASH 预取加速使能*/
-
- delay_init(48); /* 延时函数初始化时钟48MHz*/
- GPIO_init(); /* GPIO初始化 */
- delay_us(100); /* 延时等待硬件初始化稳定 */
- __enable_irq(); /* 开启总中断 */
- }
- void Clock_Init(void)
- {
- SYS_WR_PROTECT = 0x7a83; /* 解除系统寄存器写保护 */
- SYS_VolSelModule(1); /* 0: 3.3V ; 1: 5.0V*/
- SYS_AFE_REG0 |= BIT15; /* BIT15:PLLPDN */
- SoftDelay(100); /* 等待PLL稳定*/
- SYS_CLK_CFG = 0x000001ff; /* BIT[9:8]:0: CLK_HS,1:PLL,2:LRC,3:LRC
- | BIT[7:0]CLK_DIV | 0x1ff对应48M时钟 */
- }
- void SystemInit(void)
- {
- Clock_Init(); /* 时钟初始化 */
- }
- void GPIO_init(void)
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- GPIO_StructInit(&GPIO_InitStruct);
- /* P1.4*/
- GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; /*输出模式*/
- GPIO_InitStruct.GPIO_Pin = GPIO_Pin_4;
- GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; /*不上拉*/
- GPIO_Init(GPIO1, &GPIO_InitStruct);
- GPIO_ResetBits(GPIO1, GPIO_Pin_4); /* LED2 灭*/
- }
- void SoftDelay(u32 cnt)
- {
- volatile u32 t_cnt;
- for (t_cnt = 0; t_cnt < cnt; t_cnt++)
- {
- __nop();
- }
- }
- #include "delay.h"
- #include "lks32mc03x_lib.h"
- static u32 fac_us = 0;
- static u32 fac_ms = 0;
- void delay_init(u32 SYSCLK)
- {
- SysTick->CTRL&=~(1<<2); //SYSTICK使用外部时钟源,1/8 HCLK
- fac_us=SYSCLK/8; //不论是否使用OS,fac_us都需要使用,每产生1us,需要多少次数,因为是通过一个计数寄存器计时的。
- fac_ms=(u16)fac_us*1000; //非OS下,代表每个ms需要的systick时钟数
- }
- void delay_us(u32 nus)
- {
- u32 temp;
- SysTick->LOAD=nus*fac_us; //时间加载
- SysTick->VAL=0x00; //清空计数器
- SysTick->CTRL=0x01 ; //开始倒数
- do
- {
- temp=SysTick->CTRL;
- }while((temp&0x01)&&!(temp&(1<<16))); //等待时间到达
- SysTick->CTRL=0x00; //关闭计数器
- SysTick->VAL =0X00; //清空计数器
- }
- void delay_xms(u32 nms)
- {
- u32 temp;
- SysTick->LOAD=(u32)nms*fac_ms; //时间加载(SysTick->LOAD为24bit)
- SysTick->VAL =0x00; //清空计数器
- SysTick->CTRL=0x01 ; //开始倒数
- do
- {
- temp=SysTick->CTRL;
- }while((temp&0x01)&&!(temp&(1<<16))); //等待时间到达
- SysTick->CTRL=0x00; //关闭计数器
- SysTick->VAL =0X00; //清空计数器
- }
- //延时nms
- //nms:0~65535
- void delay_ms(u32 nms)
- {
- #if 1
- u8 repeat=nms/540; //这里用540,是考虑到某些客户可能超频使用,
- //比如超频到248M的时候,delay_xms最大只能延时541ms左右了
- u16 remain=nms%540;
- while(repeat)
- {
- delay_xms(540);
- repeat--;
- }
- if(remain)delay_xms(remain);
- #else
- u32 t_cnt;
- for(t_cnt = 0; t_cnt < nms*1000; t_cnt++)
- {
- __nop();
- }
- #endif
- }
- #include "lks32mc03x_lib.h"
- #include "hardware_init.h"
- #include "delay.h"
- int main(void)
- {
- Hardware_init(); /* 硬件初始化 */
- for (;;)
- {
- GPIO_SetBits(GPIO1, GPIO_Pin_4); /* LED2 亮*/
- delay_ms(300); /* 延时20ms*/
-
- GPIO_ResetBits(GPIO1, GPIO_Pin_4); /* LED2 灭*/
- delay_ms(300);
- }
- }
程序下载到MCU后,然后将蜂鸣器连接到MCU板上P1排针上的1、2管脚上,按一下RESET键,重启开发板,则会发现LED2点亮的同时,蜂鸣器报警声响起。此次简单的点灯测试就到此结束,感谢凌鸥提供的板子,至于电机驱动功能评测部分,工程中还需要针对电机类型进行调试,参考例程的注释比较专业,没有接触过工业电机应用行业的开发者,理解起来还是比较吃力的,后续有时间调试再评测电机应用方面的测试效果。
LKS32MC037E点LED2与鸣蜂鸣器
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前