📄 main.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name: Main.c
** Last modified Date: 2007-03-24
** Last Version: 1.0
** Description: Basic experiment of the quadrature encoder 正交编码器的基础实验
**
**------------------------------------------------------------------------------------------------------
** Created By: Steven Zhou 周绍刚
** Created date: 2007-04-05
** Version: 1.0
** Descriptions: The original version 初始版本
**
**------------------------------------------------------------------------------------------------------
** Modified by: Kang qinhua
** Modified date: 2008.01.19
** Version: v1.1
** Description:
**
********************************************************************************************************/
#include "hw_gpio.h"
#include "hw_types.h"
#include "hw_memmap.h"
#include "sysctl.h"
#include "gpio.h"
#include "qei.h"
/*********************************************************************************************************
** Function name: main
**
** Descriptions: Main function of the project 工程的主函数
**
** Input parameters: None 无
** Returned value: None 无
**
** Used global variables: None 无
** Calling modules: SysCtlPeripheralEnable,GPIODirModeSet,QEIConfigure,QEIVelocityConfigure
** QEIEnable,QEIVelocityEnable,QEIVelocityGet
**
** Created by: Steven Zhou 周绍刚
** Created Date: 2007-03-24
**-------------------------------------------------------------------------------------------------------
** Modified by: Kang qinhua
** Modified date: 2008.01.19
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
int main(void)
{
unsigned int i;
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); // 使能PC口外设
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); // 使能PD口外设
SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI); // 使能正交编码器外设
GPIODirModeSet(GPIO_PORTC_BASE, // 选择PC4,PC6硬件功能
GPIO_PIN_4 | GPIO_PIN_6,
GPIO_DIR_MODE_HW);
GPIODirModeSet(GPIO_PORTD_BASE, // 选择PD7硬件功能
GPIO_PIN_7,
GPIO_DIR_MODE_HW);
QEIConfigure(QEI_BASE, // 使用A,B通道共4个边沿计算速度
(QEI_CONFIG_CAPTURE_A_B | QEI_CONFIG_NO_RESET |
QEI_CONFIG_QUADRATURE | QEI_CONFIG_NO_SWAP),
0);
QEIVelocityConfigure(QEI_BASE, QEI_VELDIV_1, 60000); // 设置速度检测周期为 0.01秒
QEIEnable(QEI_BASE); // 使能正交编码器
QEIVelocityEnable(QEI_BASE); // 使能正交编码器的速度检测功能
while(1)
{
i = QEIVelocityGet(QEI_BASE); // 读出上一个周期的速度计数值
i = (i * 100 * 60) / (4 * 512); // 转化为 转/分钟
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -