您尚未登录。

楼主 #1 2020-06-04 14:58:33

bunny
会员
注册时间: 2020-05-23
已发帖子: 154
积分: 154

BLDC开发板开车——01.流水灯入门

#include <NUC029xAN.h>
#include <stdio.h>

void sys_init(void) {
	SYS_UnlockReg();
	CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk);
	CLK_WaitClockReady(CLK_CLKSTATUS_XTL12M_STB_Msk);
	CLK_EnablePLL(CLK_PLLCON_PLL_SRC_HXT, FREQ_100MHZ);
	CLK_WaitClockReady(CLK_CLKSTATUS_PLL_STB_Msk);
	CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_PLL, CLK_CLKDIV_HCLK(2));
	SystemCoreClockUpdate();
}

void led_init(void) {
	SYS->P3_MFP &= ~(SYS_MFP_P32_Msk | SYS_MFP_P33_Msk | SYS_MFP_P34_Msk | SYS_MFP_P35_Msk);
	SYS->P3_MFP |= SYS_MFP_P32_GPIO | SYS_MFP_P33_GPIO | SYS_MFP_P34_GPIO | SYS_MFP_P35_GPIO;
	GPIO_SetMode(P3, BIT2 | BIT3 | BIT4 | BIT5, GPIO_PMD_OUTPUT);
}

void delay(volatile uint32_t t) {
	for ( ; t; t--) {
	}
}

int main(void) {
	sys_init();
	led_init();
	for ( ; ; ) {
		P35 = 0;
		P32 = 1;
		delay(1000000);
		P32 = 0;
		P33 = 1;
		delay(1000000);
		P33 = 0;
		P34 = 1;
		delay(1000000);
		P34 = 0;
		P35 = 1;
		delay(1000000);
	}
	return 0;
}

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn