freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

電路板雕銑控制系統(tǒng)設(shè)計(jì)畢業(yè)論文(參考版)

2025-06-21 13:31本頁(yè)面
  

【正文】 case G_DWELL: interpl_segment = (long)(interpl_segmentdist / INT。 arc_interp_plan(interpl_segment)。 return(1)。 case G_01: interpl_segmentvel = 。 line_interp_plan(interpl_segment)。 } return。= (~NEXT_SEG_EMPTY)。 } if(ctrl_flag amp。 }//end of switch } else = MECH_CODE_ERROR。 break。 ctrl_flag amp。 break。 = STA_PAUSING。 case G_04://pause ctrl_flag amp。 switch(interpl_segment_nextbasecmd) { case G_00: case G_01: case G_02: case G_03: case G_DWELL: ctrl_flag |= NEXT_SEG_READY。 NEXT_SEG_RENEW) //正常程序段規(guī)劃 { if(segment_plan(interpl_segment_next)) //成功規(guī)劃 { ctrl_flag amp。 } return。 INSERT_SEG_READY)) { segment_plan(interpl_segment_insert)。 } }}// 函數(shù): 程序段預(yù)處理 (謚骱分械饔? // 入口: // 返回值: // 注釋: 本函數(shù)將seg_label指定的程序段進(jìn)行解釋,運(yùn)動(dòng)控制量加載到interpl_segment_next段中// 開(kāi)關(guān)控制量加載到plc_buffer中,并將運(yùn)動(dòng)延時(shí)時(shí)間加載到dwell_term/***********************************************************************/void code_seg_pre_treat(void) { if(ctrl_flag amp。i++) { if(USART_GetITStatus(USART2,USART_IT_TXE) == RESET) { USART_SendData(USART2,data[i])。 for(i=0。 break。 case 0x04: //代碼在線下載 _Manner=CMD_CODEDOWN。 ParaProcess()。 break。 case CMD_MANU: //手動(dòng)版參數(shù) key_Value=RxBuffer[4]。 } _Manner=CMD_AUTO。amp。 case CMD_AUTO: //自動(dòng)版參數(shù) key_Value=RxBuffer[4]。 //獲取數(shù)據(jù) switch(RxBuffer[2]) { case 0xa1: aloha=0。 ReOK = 0。 } MotionControl()。i2。 if ( TIM_GetITStatus(TIM3 , TIM_IT_Update) != RESET ) //是否發(fā)生中斷 { TIM_ClearITPendingBit(TIM3 , TIM_FLAG_Update)。 freq_const[axis_num]+=1。 sum+=residue[axis_num]。s line pending bit.*/ EXTI_ClearITPendingBit(EXTI_Line0)。 freq_data_cal(AXIS_Z)。 } freq_data_cal(AXIS_X)。=~MECH_AUTO。=~MECH_MANU。 case CMD_CODEDOWN: mech_state_flag |=MECH_PARADOWN。=~MECH_AUTO。=~MECH_MANU。 case CMD_MENU: mech_state_flag |=MECH_PARADOWN。 } axis_run_ctrl()。 LIMIT_IO_DEF) //hardware limiting { limit_axis_stop()。 manu_key_echo(key_Value)。 mech_state_flag amp。 mech_state_flag amp。 //清鍵值寄存器 運(yùn)行時(shí)解除注釋 break。 auto_process()。=~MECH_PARADOWN。=~MECH_MANU。 //脈沖輸出 switch(_Manner) { case CMD_AUTO: mech_state_flag |=MECH_AUTO。并將 。 margin_check()。 //TIM_Cmd(TIM5, DISABLE)。 } } void MotionControl(void){ //TIM_Cmd(TIM2, DISABLE)。 } case 0 : TIM_Cmd(TIM5, DISABLE)。 TIM_Cmd(TIM5, ENABLE)。 break。 switch (axis_dir[2]) { case 1 : { GPIO_SetBits(GPIOC,GPIO_Pin_2)。 default: 。 break。 } case 1 : { GPIO_ResetBits(GPIOC, GPIO_Pin_1 )。 TIM_Cmd(TIM4, ENABLE)。 } TIM4_PWM_Init()。 } case 0 : TIM_Cmd(TIM2, DISABLE)。 TIM_Cmd(TIM2, ENABLE)。 break。 switch (axis_dir[0]) { case 1 : { GPIO_SetBits(GPIOC,GPIO_Pin_0)。 return(errorstatus)。 SDIO_Init(amp。 = SDIO_BusWide_1b。 = SDIO_ClockBypass_Disable。 } /* Configure the SDIO peripheral */ /* HCLK = 72 MHz, SDIOCLK = 72 MHz, SDIO_CK = HCLK/(2 + 1) = 24 MHz */ = SDIO_TRANSFER_CLK_DIV。 }errorstatus = SD_InitializeCards()。 errorstatus = SD_PowerON()。 /* Enable the DMA2 Clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE)。 /* Configure SDIO interface GPIO */ GPIO_Configuration()。 //接收完畢上位機(jī)指令 Uart1ReOK = 0。 ReOK=0。 //段預(yù)處理 mech_code_load_FL()。 while (1) { //自動(dòng)運(yùn)行時(shí)代碼段加載和預(yù)處理操作 if(ctrl_flag amp。 _Manner=CMD_AUTO。 ctrl_flag = 0x0000。 //段存儲(chǔ)結(jié)構(gòu)初始化 _Manner = CMD_MANU。 //測(cè)試時(shí)屏蔽 TIM_Config()。 axis_init(AXIS_Z)。 axis_init(AXIS_X)。 code_buf_init()。 //把 code_buffer1中的東西復(fù)制到mech_para中(繁瑣) system_para_load(USER_PARA_SET)。 system_para_load(MECH_PARA_SET)。 //參數(shù)初始化 mech_status_init()。 /* 計(jì)算SD卡容量 */ SD_TotalSize()。 /* 關(guān)閉打開(kāi)的文件 */ /* 搜索根目錄下的文件,并將文件名打印出來(lái) */ scan_files( path )。 /* 錯(cuò)誤或者到了文件尾 */ } f_close(amp。 /* 將文件里面的內(nèi)容讀到緩沖區(qū) */ printf(\r\n %s , buffer)。fsrc, buffer, sizeof(buffer), amp。 a++ ) /* 清緩沖區(qū) */ buffer[a]=0。) { for ( a=0。 a = 0。fsrc, 0:/, FA_OPEN_EXISTING | FA_READ)。 } else if ( res == FR_EXIST ) { printf( \r\n 已經(jīng)存在 \n )。 /*關(guān)閉文件 */ f_close(amp。br)。 if ( res == FR_OK ) { /* 將緩沖區(qū)的數(shù)據(jù)寫到文件中 */ res = f_write(amp。 /* 在剛剛注冊(cè)的工作區(qū)中打開(kāi)一個(gè)文件,如果文件不存在則創(chuàng)建該文件,屬性為可寫 */ res = f_open( amp。 /* 在SD卡里面創(chuàng)建一個(gè)文件并將緩沖區(qū)的內(nèi)容寫到文件中 */ /* 在文件系統(tǒng)中注冊(cè)一個(gè)工作區(qū) */ f_mount(0, amp。 disk_initialize( 0 )。//串口通信測(cè)試 printf(\r\n 這是一個(gè)電路板雕刻機(jī)程序測(cè)試實(shí)驗(yàn)\n)。 while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET){} USART_SendData(USART1, 0x33)。 GPIO_Config()。 /* USART1 config */ USART1_Config()。首先是下位機(jī)的插補(bǔ)算法不完善,利用小線段加減速的插補(bǔ)算法由于,每次都要從0開(kāi)始加速在勻速、減速到0,效率十分較低,今后可繼續(xù)完善,可以增加帶有速度前瞻的直線插補(bǔ)或使用自由曲線的插補(bǔ)算法,這樣能減少加工時(shí)間提高生產(chǎn)率;此外,上位機(jī)功能不完善,有些地方過(guò)于冗余,今后可適當(dāng)優(yōu)化并增加其他功能。最后進(jìn)行了長(zhǎng)時(shí)間的軟件測(cè)試與硬件調(diào)試,調(diào)試工作包括機(jī)械結(jié)構(gòu)、電子線路、軟件調(diào)試、實(shí)際加工驗(yàn)證幾個(gè)部分的安裝調(diào)試,最后加工的樣品實(shí)例驗(yàn)證了系統(tǒng)功能達(dá)到了預(yù)期目的。第5章 總結(jié)與展望本次電路板雕銑系統(tǒng)設(shè)計(jì)從下位機(jī)和上位機(jī)兩方面進(jìn)行設(shè)計(jì),下位機(jī)是基于CortexM3內(nèi)核的STM32f103RC單片機(jī),完成底層的控制系統(tǒng)設(shè)計(jì),包含了插補(bǔ)處理、MricoSD卡FAT文件系統(tǒng)讀取文件、PWM波輸出等基本功能。首先用Jlink將程序下載到開(kāi)發(fā)板上,其次用串口調(diào)試助手進(jìn)行SD卡的調(diào)試以測(cè)試程
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1