⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 motorctrl.c

📁 博创UP-NETARM2410-S实验箱源码:Exp4 电机转动控制实验
💻 C
字号:
//#include "..\startup\44b.h"
#include "inc/MotorCtrl.h"
#define PCLK (50700000)
#define MOTOR_SEVER_FRE		1000		//20kHz

#define MOTOR_CONT				(PCLK/2/2/MOTOR_SEVER_FRE)
#define MOTOR_MID				(MOTOR_CONT/2)
#define rTCFG0  (*(volatile unsigned *)0x51000000)
#define rTCFG1  (*(volatile unsigned *)0x51000004)
#define rTCNTB0  (*(volatile unsigned *)0x5100000C)
#define rTCMPB0  (*(volatile unsigned *)0x51000010)
#define rTCON  (*(volatile unsigned *)0x51000008)
#define rGPBCON  (*(volatile unsigned *)0x56000010)
#define rGPBUP  (*(volatile unsigned *)0x56000018)
#define rGPBDAT  (*(volatile unsigned *)0x56000014)

void init_MotorPort()
{   rGPBCON=rGPBCON&0x3ffff0|0xa;
   
   
    
	//Dead Zone=24, PreScalero1=2;
	rTCFG0=(0<<16)|2;

	//divider timer0=1/2;
	rTCFG1=0;

	rTCNTB0= MOTOR_CONT;
	rTCMPB0= MOTOR_MID;
		
	rTCON=0x2;		//update mode for TCNTB0 and TCMPB0.
	rTCON=0x19;		//timer0 = auto reload, start. Dead Zone
}

void SetPWM(int value)
{
	rTCMPB0= MOTOR_MID+value;
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -