标题:
圆坐标的计算stm32程序
[打印本页]
作者:
zhujialiang1986
时间:
2018-8-29 17:01
标题:
圆坐标的计算stm32程序
圆坐标的计算
单片机源程序如下:
#include "sys.h"
#include "delay.h"
#include "math.h"
#include "USART.h"
long XPoint[90];
long YPoint[90];
unsigned int Index;
unsigned int j;
unsigned int R;
unsigned char Layer;
int main(void)
{
Stm32_Clock_Init(9);
uart_init(72,115200);
Delay_Init(72);
// for(Index=0;Index<180;Index+=2)
// {
// UART_Send_Str("G1 ");
// XPoint[j] = (uint16 )(25000+4000*cos(Index*3.14/180)); //圆心坐标(25000,8500) R=2500
// UART_Send_Str("X");
// UART_Put_Num(XPoint[j]);
// UART_Send_Str(" ");
//
// YPoint[j] = (uint16 )( 8500+4000*sin(Index*3.14/180)); //R=4000Pulse
// UART_Send_Str("Y");
// UART_Put_Num(YPoint[j]);
// UART_Send_Str(" ");
// UART_Send_Enter();
//
// j++;
// }
UART_Send_Str(" ");
while(1)
{
for(R=4000;R>0;R-=40)
{
Layer++;
UART_Send_Str(";LAYER:");
UART_Put_Num(Layer);
UART_Send_Enter();
for(Index=0;Index<180;Index+=2)
{
UART_Send_Str("G1 ");
XPoint[j] = (uint16 )(25000+R*cos(Index*3.14/180)); //圆心坐标(25000,8500) R=2500
UART_Send_Str("X");
UART_Put_Num(XPoint[j]);
UART_Send_Str(" ");
YPoint[j] = (uint16 )( 8500+R*sin(Index*3.14/180)); //R=4000Pulse
UART_Send_Str("Y");
UART_Put_Num(YPoint[j]);
UART_Send_Str(" ");
UART_Send_Enter();
j++;
}
j=0;
Layer++;
UART_Send_Str(";LAYER:");
UART_Put_Num(Layer);
UART_Send_Enter();
for(Index=180;Index>0;Index-=2)
{
UART_Send_Str("G1 ");
XPoint[j] = (uint16 )(25000+R*cos(Index*3.14/180)); //圆心坐标(25000,8500) R=2500
UART_Send_Str("X");
UART_Put_Num(XPoint[j]);
UART_Send_Str(" ");
YPoint[j] = (uint16 )( 8500+R*sin(Index*3.14/180)); //R=4000Pulse
UART_Send_Str("Y");
UART_Put_Num(YPoint[j]);
UART_Send_Str(" ");
UART_Send_Enter();
j++;
}
j=0;
}
}
}
复制代码
所有资料51hei提供下载:
CirclePoint.rar
(21.36 KB, 下载次数: 8)
2018-8-29 18:44 上传
点击文件名下载附件
圆坐标的计算
下载积分: 黑币 -5
作者:
admin
时间:
2018-8-29 18:44
补全原理图或者详细说明一下电路连接即可获得100+黑币
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1