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

📄 hutil.h

📁 全国智能车大赛的motor测试程序
💻 H
字号:
/* 
 * 文件名:HUtil.h HUtil.c
 * 实现功能:
 *          所有关于硬件部分的初始化以及控制函数
 *          包括以下几个部分:
 *              SCI串口通信
 *              A/D转换接口
 *              舵机控制(helm motor)
 *              直流电机控制(back motor)
 */

#ifndef __HUTIL_H__
#define __HUTIL_H__

/* -------------------------  SCI 串口通信部分 ------------------------- 
 * 配置串口通信(9600HZ),实现字符串的发送功能,用于单机调试
 * 串口中断指定方式为 interrupt void sci_int(),然后在rpm中指定地址
 */
/*
 * 串口通信初始化
 */
extern void uart_init(void);

/*
 * 发送一个字节
 */
extern void print_byte(unsigned char data);

/* 
 * 发送二进制数据
 */
extern void print_hex(unsigned char* data,int size);

/*
 * 发送字符串数据
 */
extern void print_string(char* str);

/*
 * 接受一个字节
 */
#define RECEIVE_BYTE(b)         \
  do {													\
    while(!SCI0SR1_RDRF);       \
    (b) = SCI0DRL;              \
  } while(0)                      
 
/* --------------------------  舵机控制部分 ----------------------------
 * pwm输出口0,1合成一个16位的pwm发生器作为小车舵机的驱动信号(pwm 1 输出)
 */
/*
 * 舵机初始化
 */
extern void helm_motor_init(void);

/*
 * 用于测试舵机
 */ 
extern void helm_motor_test(void);

 /*
  * 舵机使能
  */
 #define HMOTOR_ENABLE()      PWME_PWME1 = 1;
 #define HMOTOR_DISABLE()     PWME_PWME1 = 0;
 
 /*
  * 设置和获得舵机的PWM计数
  */
 #define HMOTOR_PWM_PE()      (PWMDTY01)
 #define SET_HM_PWM_PE(p)     PWMDTY01 = (p)
 
/* --------------------------  A/D接口函数 ----------------------------
 * AD0-AD7读入各个红外线传感器的输出电压,使用8bit的精度,共进行两次A/D转换
 * PA0,PA1 控制CD4052的通路情况
 */
/* 
 * 初始化PA0,PA1以及单片机的AD模块
 */
extern void sensor_init(void);

/*
 * 读入16个端口的数据
 * dataout - 16字节的unsigned char数组,用于存放各个端口的电压输出
 */
extern void sensor_input(unsigned char* dataout);

/* -------------------------- 直流电机控制 -----------------------------
 * 使用PWM3产生33886的控制信号,以及设定好IN2,D1,D2等控制引脚
 *
 * PA口参数:		                 
 *          PA2 - IN2 - Output - Low
 *          PA4 - -D2 - Output - High
 *          PA5 - D1  - Output - Low  
 */
/*
 * 初始化后轮直流电机,包括pwm及PA口数据
 */
extern void back_motor_init(void);
 
/*
 * 直流电机使能
 */
#define BMOTOR_ENABLE()      PWME_PWME3 = 1;
#define BMOTOR_DISABLE()     PWME_PWME3 = 0;

/*
 * 设置和获得直流电机的PWM计数
 */
#define BMOTOR_PWM_PE()      (PWMDTY23)
#define SET_BM_PWM_PE(p)     PWMDTY23 = (p)

#endif

⌨️ 快捷键说明

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