⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 work_par.c

📁 基于Cortex-M3的全自动焊接机
💻 C
字号:
#include "globaltype.h"
#include "define.h"
#include "motor.h"
extern unsigned char error_report;
extern struct placed_relate_parm palced_magor[]; 
extern unsigned char Uart_recBuf[];
extern unsigned char UartBufWp;

extern void exchage_speed(unsigned char const_speed,unsigned char motor_number);

void clear_uart_buf(void);
unsigned char work_par_set(unsigned char motor, unsigned char usr_require)
{
    unsigned char temp;
    palced_magor[motor].old_usr_require = palced_magor[motor].usr_require;
    palced_magor[motor].usr_require = usr_require;
    
    switch(motor)//某台电机属性字节提取
    {
        case 0:
                temp = Uart_recBuf[1];
                break;
        case 1:
                temp = Uart_recBuf[5];
                break;
        case 2:
                temp = Uart_recBuf[9];
                break;
    }
    switch(temp&0x02)//判断是否驱动
    {
        case 0x02:
                    palced_magor[motor].IS_driver = 1;
                    switch(temp&0x01)//判断方向
                    {
                        case 0x01:
                          palced_magor[motor].dir = Forward;
                          break;
                        case 0x00:
                          palced_magor[motor].dir = Reverse;
                          break;
                    }
                    switch(motor)//某台电机速速提取
                    {
                        case 0:
                          temp = Uart_recBuf[2];
                          break;
                        case 1:
                          temp = Uart_recBuf[6];
                          break;
                        case 2:
                          temp = Uart_recBuf[10];
                          break;
                    }
                    if(temp) 
                    {
                        exchage_speed(temp,motor);
                        palced_magor[motor].g_up_code = UP_CODE;//起速阶段
                        palced_magor[motor].total_codenumber = 0;
                        palced_magor[motor].up_normalization_step = NORMALIZE*(palced_magor[motor].start_speed - palced_magor[motor].const_speed)/palced_magor[motor].g_up_code; 
                        //palced_magor[motor].down_normalization_step = NORMALIZE*(palced_magor[motor].end_speed - palced_magor[motor].const_speed)/palced_magor[motor].g_down_code;
                    }
                    if(usr_require==0x02)
                    {
                        switch(motor)
                        {
                            case 0:
                              palced_magor[0].total_codenumber = Uart_recBuf[4]+(Uart_recBuf[3] << 8);
                              break;
                            case 1:
                              palced_magor[1].total_codenumber = Uart_recBuf[8]+(Uart_recBuf[7] << 8);
                              break;
                            case 2:
                              palced_magor[2].total_codenumber = Uart_recBuf[12]+(Uart_recBuf[11] << 8);
                              break;
                        }
                        palced_magor[motor].g_stab_codenumber = 
                            palced_magor[motor].total_codenumber - UP_CODE - DOWN_CODE;
                        palced_magor[motor].g_up_code = UP_CODE;//起速阶段
                        palced_magor[motor].g_down_code = DOWN_CODE;//刹车阶段
                        palced_magor[motor].down_normalization_step = NORMALIZE*(palced_magor[motor].end_speed - palced_magor[motor].const_speed)/palced_magor[motor].g_down_code;                        
                    }
          
                    break;
          case 0x00:
          error_report = 0;
          break;
    }
    return error_report; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -