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

📄 commun.c

📁 步进电机控制副机程序,与步进电机控制主机程序配合使用。
💻 C
字号:
#include "reg66x.h"
#include "electromotion.h"
#define 	WAIT_TIME 	1000
										

void scon_send(unsigned char x)
{
	unsigned int i;
	S0BUF = x;
	while(!TI)
	{
		i++;
		if(i >= WAIT_TIME) return;	
	}
	TI = 0;
}

void scon_rev(void) interrupt 4 using 2
{
	unsigned char temp;
	unsigned int i;

	if(!RI) return;	   		
	if(!(S0BUF == 0x80)) return;			//如果是数据0x80则继续
	RI = 0;

	S0BUF = 0x81;							//发送0x81回应;
	i = 0;
	while(!TI)
	{
		i++;
		if(i >= WAIT_TIME) return;	
	}
	TI = 0;

	i = 0;								   //接收速度高位
	while(!RI)
	{
		i++;
		if(i >= WAIT_TIME) return;	
	} 
	temp = S0BUF;		   					
	RI = 0;
	motor_speed = (unsigned int)temp;
	motor_speed <<= 8;

	i = 0;
	while(!RI)								//接收速度低位
	{
		i++;
		if(i >= WAIT_TIME) return;	
	} 
	temp = S0BUF;		   					
	RI = 0;
	motor_speed += (unsigned int)temp;

	i = 0;									//接收步数高位
	while(!RI)
	{
		i++;
		if(i >= WAIT_TIME) return;	
	}
	temp = S0BUF;		 					
	RI = 0;
	motor_steps = (unsigned int)temp;
	motor_steps <<= 8;

	i = 0;								   //接收步数低位
	while(!RI)
	{
		i++;
		if(i >= WAIT_TIME) return;	
	}
	temp = S0BUF;		   					
	RI = 0;
	motor_steps += (unsigned int)temp;

	i = 0;								  //接收呼吸平台时间高位
	while(!RI)
	{
		i++;
		if(i >= WAIT_TIME) return;	
	}
	temp = S0BUF;		   					
	RI = 0;
	time_inspiration_plate = (unsigned int)temp;
	time_inspiration_plate <<= 8;

	i = 0;								 //接收呼吸平台时间低位
	while(!RI)
	{
		i++;
		if(i >= WAIT_TIME) return;	
	} 
	temp = S0BUF;		   					
	RI = 0;
	time_inspiration_plate += (unsigned int)temp;

	i = 0;								  //接收呼吸周期时间高位
	while(!RI)
	{
		i++;
		if(i >= WAIT_TIME) return;	
	}
	temp = S0BUF;		   					
	RI = 0;
	time_respiration = (unsigned int)temp;
	time_respiration <<= 8;

	i = 0;
	while(!RI)							  //接收呼吸周期时间低位
	{
		i++;
		if(i >= WAIT_TIME) return;	
	} 
	temp = S0BUF;		   					
	RI = 0;
	time_respiration += (unsigned int)temp;

	start_run = 1;
		
}




⌨️ 快捷键说明

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