📄 iar-
字号:
/****************************************Copyright (c)****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name: Main.c
** Last modified Date: 2007.9.20
** Last Version: v1.0
** Description: 正交编码器的基础实验
**
**--------------------------------------------------------------------------------------------------------
** Created By: zhou hai xin
** Created date: 2007.9.20
** Version: v1.0
** Descriptions: The original version 初始版本
**
**--------------------------------------------------------------------------------------------------------
** Modified by: Kang qinhua
** Modified date: 2008.01.13
** Version: v1.1
** Description:
**
*********************************************************************************************************/
#include "hw_gpio.h"
#include "hw_types.h"
#include "hw_memmap.h"
#include "hw_qei.h"
#include "sysctl.h"
#include "gpio.h"
#include "qei.h"
/*********************************************************************************************************
** Function name: main
** Descriptions: 正交编码器测速
** Input parameters: 无
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
int main(void)
{
unsigned int i;
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); /* 使能PC口外设 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); /* 使能PD口外设 */
SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI0); /* 使能正交编码器外设 */
GPIODirModeSet(GPIO_PORTC_BASE, GPIO_PIN_4 | GPIO_PIN_6, /* 选择PC4,PC6硬件功能 */
GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTC_BASE, GPIO_PIN_4, /* 设置PC4强度和类型 */
GPIO_STRENGTH_4MA, /* 4mA的输出驱动强度 */
GPIO_PIN_TYPE_STD); /* 设置为推挽管脚 */
GPIOPadConfigSet(GPIO_PORTC_BASE, GPIO_PIN_6, /* 设置PC6强度和类型 */
GPIO_STRENGTH_4MA, /* 4mA的输出驱动强度 */
GPIO_PIN_TYPE_STD); /* 设置为推挽管脚 */
GPIODirModeSet(GPIO_PORTD_BASE,GPIO_PIN_7,GPIO_DIR_MODE_HW); /* 选择PD7硬件功能 */
QEIConfigure(QEI0_BASE,(QEI_CONFIG_CAPTURE_A_B | QEI_CONFIG_NO_RESET |
QEI_CONFIG_QUADRATURE | QEI_CONFIG_NO_SWAP), 0); /* 使用A,B通道共4个边沿计算速度*/
QEIVelocityConfigure(QEI0_BASE, QEI_VELDIV_1, 60000); /* 设置速度检测周期为 0.01秒 */
QEIEnable(QEI0_BASE); /* 使能正交编码器 */
QEIVelocityEnable(QEI0_BASE); /* 使能正交编码器的速度检测功能*/
while(1){
i = QEIVelocityGet(QEI0_BASE); /* 读出上一个周期的速度计数值 */
i = (i*100*60)/(4*512); /* 转化为 转/分钟 */
}
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -