📄 main.c
字号:
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
/*
*********************************************************
********* ************
********* 宏定义 ************
*********************************************************/
#define ATD ATD0STAT0_SCF=1;ATD0CTL5=0x90 //AD单次转换
#define ATD_EN ATD0CTL2_ADPU=1 //AD使能
#define PWM_EN PWME=0xff //PWM使能
#define PAI_EN PACTL_PAEN=1 //PAI使能
#define TIMER_EN TSCR1_TEN=1 //定时器使能
#define TIMER_DIS { TSCR1_TEN=0;TCNT=0x0000;}
#define LED_EN PORTB=0xff //LED ENABLE
#define LED_DIS PORTB=0x00; //LED DISABLE
#define TC7_EN TIE_C7I=1 //TC7 中断使能
#define TC7_DIS TIE_C7I=0 //TC7 中断禁止
#define ABS(a) (a>0?a:-a) //取绝对值
#define DELAY for(n=0x0000;n<=0x5dc0;n++); //延时1ms
/*
*********************************************************
********* ************
********* 数据定义 ************
*********************************************************/
unsigned int ad[8]; //AD转换保存
unsigned int st[8]; //归一化后AD值
//求偏移量时用的中间变量
signed int py01;
signed int py02;
signed int py11;
signed int py12;
signed int mpy;
signed int y[8]; //传感器排布偏移量
signed int dy[8]; //各个传感器偏移量与电压的比例系数
unsigned int n_speed;
unsigned int speed[10]; //得到的速度序列
signed int d_speed[10]; //得到的加速度序列
unsigned int py[10]; //得到的有效的偏移量序列
signed int d_py[10]; //得到的有效的偏移速度序列
unsigned int atd_max[8];//预标定AD最大值
unsigned int atd_min[8];//预标定AD最小值
unsigned int sta[8]; //归一化系数A
unsigned int stb[8];//归一化系数B
unsigned int amin0; //最小值的序号
unsigned int amin1; //次小值的序号
signed int v_speedh,a_speedh; //有效的最大速度,加速度
signed int v_speedl,a_speedl; //有效的最小速度,加速度
signed int py_h,py_vh; //有效的最大偏移量,偏移速度
signed int py_l,py_vl; //有效的最小偏移量,偏移速度
unsigned int dir_pwmh,dir_pwml;//最大,最小转量
unsigned int set_sp; //设定速度,脉冲数
signed int set_asp; //设定加速度,用于改变DTY
unsigned int set_speed;//设定速度
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -