📄 encode.c
字号:
/*****************************************************************
* 函数库名称:AVR硬件资源配置函数源文件 *
* 版本: v0.01 *
* 作者: I ROBOT *
* 创建日期: Copyright (C) 2008年10月14日 *
*----------------------------------------------------------------*
* [支持库] *
* 支持库名称:Hardware_Apply_Init.h(AVR硬件资源配置头文件) *
* 支持库版本:v0.01 *
* 支持库说明:与本文件相应的函数声明 *
*----------------------------------------------------------------*
* [版本更新] *
* 更新: I ROBOT *
* 更新日期: *
* 版本: *
*----------------------------------------------------------------*
* [版本历史] *
* v0.01 创建版本,配置AVR硬件资源 *
*----------------------------------------------------------------*
* [使用说明] *
* 1.配置使用的AVR硬件资源 *
*****************************************************************/
/********************
* 头 文 件 配 置 区 *
********************/
# include "Encode.h"
# include "USE_USART_Driver.h"
/********************
* 系 统 宏 定 义 *
********************/
/*------------------*
* 常 数 宏 定 义 *
*------------------*/
/*------------------*
* 动 作 宏 定 义 *
*------------------*/
/********************
* 模块结构体定义区 *
********************/
/********************
* 函 数 声 明 区 *
********************/
/********************
* 模块函数声明区 *
********************/
/********************
* 模块变量声明区 *
********************/
/********************
* 全局变量声明区 *
********************/
INT32 N1 = 1400;
INT32 N2 = 1400;
float D = 190.62;
float d1 = 41.7;
float d2 = 40.7 ;
float pi1 = 3.1415926;
/******************************************************************
* 函 数 定 义 区 *
******************************************************************/
/****************************************
* 函数说明: 12864忙状态检测函数 *
* 输入 :无 *
* 输出 :无 *
* 调用函数: 无 *
****************************************/
void Calculate(INT32 n1,INT32 n2)
{
static float r = 0;
// static float n1 = 0,n2 = 0;
static float seta = 0;
static float x1 = 0;
static float y1 = 0;
static float seta_0 = 0;
static float seta_1 = 0;
float temp = 0;
CHAR str1[10] = {' '};
CHAR str2[10] = {' '};
INT32 X1 = 0;
INT32 Y1 = 0;
r = (D/2)*((d1*n1*N2+d2*n2*N1)/(d1*n1*N2-d2*n2*N1));
temp = (pi1/D)*((d2*(n2/N2))-(d1*(n1/N1)));
seta_1 = seta_0+temp*pi1;
x1 += r*(cos(seta_0)-cos(seta_1));
y1 += r*(sin(seta_0)-sin(seta_1));
X1 = (INT32)x1;
Y1 = (INT32)y1;
ltoa(str1,X1,10);
ltoa(str2,Y1,10);
USART_Translate_Bytes(str1);
USART_Translate_Byte(' ');
USART_Translate_Bytes(str2);
USART_Translate_Byte('\n');
seta_0 = seta_1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -