很高兴能参加评测,由于最近比较忙,只能先点灯玩玩。
头一次解除电机驱动的软硬件,也是头一次接触RISC内核的单片机。
#include "lks32mc03x.h"
#include "lks32mc03x_lib.h"
#include "lks32mc03x_sys.h"
//#include "basic.h"
void SoftDelay(u32 cnt);
int main(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_StructInit(&GPIO_InitStruct);
/* MCPWM P1.4 */
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_4;
GPIO_Init(GPIO1, &GPIO_InitStruct);
while(1)
{
SoftDelay(1000000);
GPIO_SetBits(GPIO1, GPIO_Pin_4);
SoftDelay(1000000);
GPIO_ResetBits (GPIO1, GPIO_Pin_4);
}
}
/*******************************************************************************
函数名称: void SystemInit(void)
功能描述: 硬件系统初始化,调用时钟初始化函数
输入参数: 无
输出参数: 无
返 回 值: 无
其它说明:
修改日期 版本号 修改人 修改内容
-----------------------------------------------------------------------------
2016/3/14 V1.0 Howlet Li 创建
*******************************************************************************/
void SystemInit(void)
{
SYS_WR_PROTECT = 0x7a83; /* 解除系统寄存器写保护 */
SYS_VolSelModule(1); /* 0: 3.3V ; 1: 5.0V*/
SYS_AFE_REG0 |= BIT15; /* BIT15:PLLPDN */
//SoftDelay(100); /* 延时100us, 等待PLL稳定 21.4.17*/
SYS_CLK_CFG |= 0x000001ff; /* BIT8:0: CLK_HS,1:PLL | BIT[7:0]CLK_DIV | 1ff对应48M时钟 */
}
static void SoftDelay(u32 cnt)
{
volatile u32 t_cnt;
for (t_cnt = 0; t_cnt < cnt; t_cnt++)
{
__nop();
}
}
总体来说,LKS32MC037E单片机,上手还是非常简单。其内部其他资源,过后会进一步学习。
|