📄 im_robot.c
字号:
#include "IM_Robot.h"
UInt16 Err_now = 0, Err_abs = 0, Pos_now = 0, Pos_goal = 0;
UInt16 Voice_Data[3000], Index = 0, temp = 0, i = 0;
void System_Init()
{
*P_Clock_Ctrl = 0x8400; // Enable PLL, System clk is PLL clk,
// 32768Hz weak mode, IOB0 32768Hz output disable,
// IOA and IOB wake up function disable, SYSCLK is PLL(48MHz)
*P_LVR_Ctrl = 0x0002; // Disable Low Voltage Reset function
ADC_Setup_Reg->B.ADBEN = 1; // AD bias ref. voltage enable
/************** GPIO setting **************/
// IOA
*P_IOA_Data = 0x0000; // Set IOA[15:0] as output 0x0000
*P_IOA_Attrib = 0xFFFF; // IOA[1:0] control motor rotate direction (output)
*P_IOA_Dir = 0xFFFF;
// IOB
*P_IOB_Data = 0x0000; // Set IOB[15:0] as output 0x0000
*P_IOB_Attrib = 0xFFFF; // IOB[1:0] are PWM output
*P_IOB_Dir = 0xFFFF;
}
void PWM_Channel_1(UInt16 speed, UInt16 Pos_goal) // Signal output from IOB[0], controlled by Timer_A
{
UInt16 Err = 30; // 砞﹚粇畉恢
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -