__interrupt void Right_Motor_ISR( void ) { Disable_ISR(); TCNT3 = Robot.Timer_Constant[1]; R_Motor(); Enable_ISR(); }
__interrupt void Left_Motor_ISR( void ) { Disable_ISR(); TCNT1 = Robot.Timer_Constant[0]; L_Motor(); Enable_ISR(); }
//------------------------------------------------------------------------------ // === Initialize Function === //------------------------------------------------------------------------------ void Init_Main(void) { Disable_ISR(); // 전체인터럽트 사용금지 //Init_Timer(); // 초기화_타이머0/1/2/3 Init_Uart(0,57600); // 초기화_시리얼통신0 //Init_Uart(1,57600); // 초기화_시리얼통신1 Enable_ISR(); // 전체인터럽트 사용허가 }
//------------------------------------------------------------------------------ // === Initialize Function === //------------------------------------------------------------------------------ void Init_Main(void) { Disable_ISR(); // 전체인터럽트 사용금지 Init_Timer(); // 초기화_타이머0/1/2/3 Init_Uart(0,1000000); // 초기화_시리얼통신0 Init_Uart(1,57600); // 초기화_시리얼통신1 Init_ADC(); //Lcd_Init(); //sbi(DDRE,4); Enable_ISR(); // 전체인터럽트 사용허가 }
void Main_Init(void) { Disable_ISR(); // 전체인터럽트 사용금지 Init_Ext_Interrupt(INT0); // 초기화_외부인터럽트0/1/2/3/4/5/6/7 Init_Ext_Interrupt(INT1); // 초기화_외부인터럽트0/1/2/3/4/5/6/7 Init_Uart(UART0,9600); // 초기화_시리얼통신0 Init_Uart(UART1,9600); // 초기화_시리얼통신1 Init_ADC(); // 초기화_ADC Init_Timer(); init_lcd(); Motor_Init(); Enable_ISR(); // 전체인터럽트 사용허가 }
/*--------------------------------------------------------------------------- TITLE : Ap_StrCmd_ExeFunc WORK : ARG : void RET : void ---------------------------------------------------------------------------*/ s16 Ap_StrCmd_ExeFunc( void ) { u16 CmdSize; u16 CmdStrSize; u16 CmdBufStrSize; s16 CmdCheck; u16 i; u16 j; AP_STRCMD_CMD_OBJ CmdMsg; Disable_ISR(); Ap_StrCmd_Q_Pop( AP_STRCMD_Q_RX_CH, &CmdMsg ); Enable_ISR(); CmdSize = Ap_StrCmd_GetSize(); for( i=0; i<CmdSize; i++ ) { CmdStrSize = Ap_StrCmd_StrLen( Ap_StrCmd_Dic_Ptr[i].NameStr ); CmdBufStrSize = strlen( (char *)CmdMsg.Str ); for( j=0; j<CmdBufStrSize; j++ ) { CmdMsg.Str[j] = toupper( CmdMsg.Str[j] ); } CmdCheck = strncmp( Ap_StrCmd_Dic_Ptr[i].NameStr, (char *)CmdMsg.Str, CmdStrSize ); if( CmdCheck == 0 && Ap_StrCmd_Dic_Ptr[i].Func_Ptr != NULL ) { AP_STRCMD_DIC_FUNC_EXEC(i, CmdMsg.Str); return true; } } Ap_StrCmd_SendResp( 0xFF, "\n" ); return false; }
void Main_Init(void) { Disable_ISR(); // 전체인터럽트 사용금지 //Init_IO(); // 초기화_입출력포트 Init_Ext_Interrupt(INT0); // 초기화_외부인터럽트0/1/2/3/4/5/6/7 Init_Ext_Interrupt(INT1); // 초기화_외부인터럽트0/1/2/3/4/5/6/7 //Init_Timer(); // 초기화_타이머0/1/2/3 Init_Uart(UART0,9600); // 초기화_시리얼통신0 Init_Uart(UART1,9600); // 초기화_시리얼통신1 Init_ADC(); // 초기화_ADC //Init_SPI(MASTER); // 초기화_SPI통신 //Init_TWI(MASTER); // 초기화_TWI통신 //Uart_Getch(1); Motor_Init(); Enable_ISR(); // 전체인터럽트 사용허가 }
//------------------------------------------------------------------------------ // === Initialize Function === //------------------------------------------------------------------------------ void Init_Main(void) { Disable_ISR(); // 전체인터럽트 사용금지 Init_Timer(); // 초기화_타이머0/1/2/3 Init_Uart(0,9600); // 초기화_시리얼통신0 Init_Uart(1,9600); // 초기화_시리얼통신1 sbi(DDRG,0); // 1st_step sbi(DDRG,1); // 1st_dir sbi(DDRG,3); // 2nd_step sbi(DDRG,4); // 2nd_dir cbi(DDRC,0); // 1st_hall sensor cbi(DDRC,1); // 2nd_hall sensor Init_packet((PARTNER_PACKET*)&pPacket, (UART_CONTEXT*)&pContext ); Enable_ISR(); // 전체인터럽트 사용허가 }