找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2078|回复: 1
打印 上一主题 下一主题
收起左侧

圆坐标的计算stm32程序

[复制链接]
跳转到指定楼层
楼主
ID:391283 发表于 2018-8-29 17:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
圆坐标的计算

单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "math.h"
  4. #include "USART.h"



  5. long  XPoint[90];
  6. long  YPoint[90];
  7. unsigned int Index;
  8. unsigned int j;
  9. unsigned int R;
  10. unsigned char Layer;


  11. int main(void)
  12. {
  13.         Stm32_Clock_Init(9);
  14.         uart_init(72,115200);
  15.         Delay_Init(72);       
  16.        
  17.        
  18. //        for(Index=0;Index<180;Index+=2)
  19. //        {
  20. //                UART_Send_Str("G1 ");
  21. //                XPoint[j] = (uint16 )(25000+4000*cos(Index*3.14/180));                //圆心坐标(25000,8500)        R=2500
  22. //                UART_Send_Str("X");
  23. //                UART_Put_Num(XPoint[j]);
  24. //                UART_Send_Str(" ");
  25. //               
  26. //                YPoint[j] = (uint16 )( 8500+4000*sin(Index*3.14/180));                //R=4000Pulse
  27. //                UART_Send_Str("Y");
  28. //                UART_Put_Num(YPoint[j]);
  29. //                UART_Send_Str(" ");
  30. //                UART_Send_Enter();
  31. //               
  32. //                j++;
  33. //        }
  34.        
  35.         UART_Send_Str(" ");
  36.         while(1)
  37.         {
  38.                
  39.                 for(R=4000;R>0;R-=40)
  40.                 {
  41.                         Layer++;
  42.                         UART_Send_Str(";LAYER:");
  43.                         UART_Put_Num(Layer);
  44.                         UART_Send_Enter();
  45.                        
  46.                         for(Index=0;Index<180;Index+=2)
  47.                         {
  48.                                 UART_Send_Str("G1 ");
  49.                                 XPoint[j] = (uint16 )(25000+R*cos(Index*3.14/180));                //圆心坐标(25000,8500)        R=2500
  50.                                 UART_Send_Str("X");
  51.                                 UART_Put_Num(XPoint[j]);
  52.                                 UART_Send_Str(" ");
  53.                                
  54.                                 YPoint[j] = (uint16 )( 8500+R*sin(Index*3.14/180));                //R=4000Pulse
  55.                                 UART_Send_Str("Y");
  56.                                 UART_Put_Num(YPoint[j]);
  57.                                 UART_Send_Str(" ");
  58.                                 UART_Send_Enter();
  59.                                
  60.                                 j++;
  61.                         }
  62.                         j=0;
  63.                        
  64.                        
  65.                         Layer++;
  66.                         UART_Send_Str(";LAYER:");
  67.                         UART_Put_Num(Layer);
  68.                         UART_Send_Enter();
  69.                        
  70.                         for(Index=180;Index>0;Index-=2)
  71.                         {
  72.                                 UART_Send_Str("G1 ");
  73.                                 XPoint[j] = (uint16 )(25000+R*cos(Index*3.14/180));                //圆心坐标(25000,8500)        R=2500
  74.                                 UART_Send_Str("X");
  75.                                 UART_Put_Num(XPoint[j]);
  76.                                 UART_Send_Str(" ");
  77.                                
  78.                                 YPoint[j] = (uint16 )( 8500+R*sin(Index*3.14/180));                //R=4000Pulse
  79.                                 UART_Send_Str("Y");
  80.                                 UART_Put_Num(YPoint[j]);
  81.                                 UART_Send_Str(" ");
  82.                                 UART_Send_Enter();
  83.                                
  84.                                 j++;
  85.                         }
  86.                         j=0;
  87.                        
  88.                        
  89.                 }
  90.                
  91.         }
  92. }


复制代码

所有资料51hei提供下载:
CirclePoint.rar (21.36 KB, 下载次数: 8)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-8-29 18:44 | 只看该作者
补全原理图或者详细说明一下电路连接即可获得100+黑币
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表