今天收到了LKS32MC037E开发板,开始捣鼓。
下载各种资料,安装软件包,搭建开发环境。
1 概述
1.1 功能简述
LKS32MC035D(E)L6S8/LKS32MC037E(F)M6S8/LKS32MC037QM6Q8/LKS32MC039DK6Q8 是
32 位内核的面向电机控制应用的紧凑型 MCU,集成了三相全桥自举式栅极驱动模块,可直接驱动 3
对 P-N 型 MOSFET;LKS32MC039PL5K6Q8/LKS32MC039PL3K6Q8 集成了由 3 对 P-N 功率 MOS 组
成的三相全桥电路,可直接驱动三相电机绕组。
⚫ 性能
➢ 48MHz 32 位 Cortex-M0 内核
➢ 低功耗休眠模式
➢ 集成三相全桥自举式栅极驱动模块
➢ 工业级工作温度范围
➢ 超强抗静电和群脉冲能力
⚫ 存储器
➢ 32kB Flash,带加密功能,带 128 位芯片唯一识别码
➢ 4kB RAM
⚫ 工作范围
➢ 双电源供电,MCU 部分采用 2.5V~5.5V 电源供电。3P3N 驱动模块采用 7.5~28V 电源供电。
➢ 工作温度: -40~105℃
⚫ 时钟
➢ 内置 4MHz 高精度 RC 时钟,-40~105℃范围内精度在±1%之内
➢ 内置低速 64kHz 低速时钟,供低功耗模式使用
➢ 内部 PLL 可提供最高 48MHz 时钟
⚫ 外设模块
➢ 一路 UART
➢ 一路 SPI,支持主从模式
➢ 一路 IIC,支持主从模式
➢ 1 个通用 16 位 Timer,支持捕捉和边沿对齐 PWM 功能
特性
o 48MHz 32 位 Cortex-M0 内核,硬件除法协处
理器
o 30uA 低功耗休眠模式
o -40~105℃工业级工作温度范围
o 2.5V~5.5V 单电源供电,内部集成数字供电
LDO
o 超强抗静电和群脉冲能力
存储
o 16kB flash/16kB flash+16kB ROM/32kB flash
三种规格,带 flash 防窃密功能
o 4kB RAM
时钟
o 内置 4MHz 高精度 RC 时钟,全温度范围精度
±1%
o 内置 64kHz 低速时钟,供低功耗模式使用
o 内部 PLL 可提供最高 48MHz 时钟
外设
o 一路 UART
o 一路 SPI
o 一路 IIC
o 通用 16/32 位 Timer,支持捕捉和边沿对齐
PWM
o 电机控制专用 PWM 模块,支持 6 路 PWM 输
出,独立死区控制
o Hall 信号专用接口,支持测速、去抖
o 4 通道 DMA
o 硬件看门狗
o 最多支持 25 路 GPIO
主板部分原理图
底板部分原理图:
keil环境设置。
本打算用STLINK下载,可是老是提示出错,于是改为JLINK。
代码:
/*******************************************************************************
* °æȨËùÓÐ (C)2015, LINKO SEMICONDUCTOR Co.ltd
*
* ÎļþÃû³Æ£º Main.c
* Îļþ±êʶ£º
* ÄÚÈÝÕªÒª£º ¹¤³ÌÖ÷´úÂë
* ÆäËü˵Ã÷£º ÎÞ
* µ±Ç°°æ±¾£º V 1.0
* ×÷ Õߣº HuangMG
* Íê³ÉÈÕÆÚ£º 2022Äê4ÔÂ14ÈÕ
*
*
*******************************************************************************/
#include "lks32mc03x_lib.h"
#include "hardware_init.h"
#include "delay.h"
/*******************************************************************************
º¯ÊýÃû³Æ£º int main(void)
¹¦ÄÜÃèÊö£º Ö÷³ÌÐòÈë¿Ú
ÊäÈë²ÎÊý£º ÎÞ
Êä³ö²ÎÊý£º ÎÞ
·µ »Ø Öµ£º ÎÞ
ÆäËü˵Ã÷£º ʵÑéÒªÇó;ʹÓÃLED2 P0.9 IOû1S·×ªÒ»´Îµçƽ¡£
ÔËÐÐЧ¹û£º ³ÌÐòÉÕ¼ÁèŸLKS32MC033H6P8×îСϵͳ°å£¬Ê¹ÓÃʾ²¨Æ÷²âÁ¿P0.9¿Ú²¨ÐÎΪƵÂÊ
Ϊ1Hz¡£
ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
-----------------------------------------------------------------------------
2022/4/14 V1.0 HuangMG ´´½¨
*******************************************************************************/
int main(void)
{
Hardware_init(); /* Ó²¼þ³õʼ»¯ */
for (;;)
{
GPIO_SetBits(GPIO0, GPIO_Pin_8); /* LED2 Ãð*/
delay_ms(1000); /* ÑÓʱ20ms*/
GPIO_ResetBits(GPIO0, GPIO_Pin_8); /* LED2 Ãð*/
delay_ms(1000);
}
}
/************************ (C) COPYRIGHT LINKO SEMICONDUCTOR **********************/
/* ------------------------------END OF FILE------------------------------------ */
初始化代码:
/*******************************************************************************
º¯ÊýÃû³Æ£º void Hardware_init(void)
¹¦ÄÜÃèÊö£º Ó²¼þ²¿·Ö³õʼ»¯
ÊäÈë²ÎÊý£º ÎÞ
Êä³ö²ÎÊý£º ÎÞ
·µ »Ø Öµ£º ÎÞ
ÆäËü˵Ã÷£º
ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
-----------------------------------------------------------------------------
2022/4/14 V1.0 HuangMG ´´½¨
*******************************************************************************/
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 GPIO_init(void)
¹¦ÄÜÃèÊö£º GPIOÓ²¼þ³õʼ»¯
ÊäÈë²ÎÊý£º ÎÞ
Êä³ö²ÎÊý£º ÎÞ
·µ »Ø Öµ£º ÎÞ
ÆäËü˵Ã÷£º
ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
-----------------------------------------------------------------------------
2021/11/15 V1.0 mingganghuang ´´½¨
*******************************************************************************/
void GPIO_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_StructInit(&GPIO_InitStruct);
/* P0.9*/
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; /*Êä³öģʽ*/
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; /*²»ÉÏÀ*/
GPIO_Init(GPIO0, &GPIO_InitStruct);
GPIO_ResetBits(GPIO0, GPIO_Pin_8); /* LED2 Ãð*/
}
效果图:
用的是51板子上的LED灯,有点小,看不清楚。
以后再发几个其他的功能模块的评测,今天小试牛刀。
|