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

📄 main.c

📁 使用arm7芯片
💻 C
字号:
#include "Board.h"
#include "define.h"

int main( void )
{
    int i;
    system_init();    
    for(;;){
  /*       if((count_timer1_interrupt%400==0)&&(output_pulse1==1)){
          temp_send_data[0] = (unsigned char)0x01;
	  temp_send_data[1] = (unsigned char)GET_INTERNUMBER;
	  temp_send_data[2] = (unsigned char)((count_timer1_interrupt)>>24);
	  temp_send_data[3] = (unsigned char)((count_timer1_interrupt)>>16);
	  temp_send_data[4] = (unsigned char)((count_timer1_interrupt)>>8);
	  temp_send_data[5] = (unsigned char)((count_timer1_interrupt));
	  for(int i=0;i<2;i++) temp_send_data[i+6] = 0;
	  Tran_COM0(temp_send_data);
	}*/
	
	if (i >= 1000000) i = 0;
	i++;
	
    }
}


//*   系统延迟程序
void delay ( void )
{
    volatile unsigned int i;
    for (i=0;i<SPEED;i++) ;
}

//*   系统初始化程序
void system_init(void)
{
    move_direction = 0;//0是远离电机运行
    move_speed = 30;//单位都是mm/s,从1-30。计算公式是rc = 48000/(move_speed*200)
    move_interrupt = 0;//单位mm, 计算公式是count_timer1_interrupt = move_distance*200
    output_pulse0 = 0;
    output_pulse1 = 0;
    
    AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;    //配置时钟
    
    AT91F_PIO_CfgOutput( AT91C_BASE_PIOA, ((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<18)|(1<<17)) );   //配置为输出IO口
    AT91F_PIO_CfgInput( AT91C_BASE_PIOA, (1<<9)|(1<<10)|(1<<13)|(1<<14));   //配置为输入IO口|(1<<11)|(1<<12)
    AT91F_PIO_CfgInputFilter( AT91C_BASE_PIOA, (1<<9)|(1<<10)|(1<<13)|(1<<14));//|(1<<11)|(1<<12)
    //防止按钮信号出现抖动影响灵敏,加一个过滤器,斯密斯滤波
    AT91F_MC_CfgPMC();
    
    timer_init(); //初始化计时器中断
    Usart_init_interrupt();  //初始化串口中断
        
    *AT91C_US0_RPR = (unsigned  int)temp_read_data ;    
    *AT91C_US0_RCR = 96 ;    
    *AT91C_US0_PTCR = AT91C_PDC_RXTEN ;  //接受准备好 
    
    *AT91C_RSTC_RMR = (1<<0)||(0xA5<<24);    
}

⌨️ 快捷键说明

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