這是我們今年參加TAC比賽炮車的程序。互相- #include "sys.h"
- #include "delay.h"
- #include "led.h"
- #include "usart.h"
- #include "key.h"
- #include "can.h"
- #include "spi.h"
- #include "TIMER.h"
- #include "Dbus_uart.h"
- #include "modbus.h"
- #include "tend.h"
- #include "pwm.h"
- #include "usarttest.h"
- u8 canbuf[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};
- u8 rxbuf[8];
- u8 key_hc;
- u16 t1sj;
- /*==============================================================
- Ö÷oˉêy
- ×¢òa£o′ò¿aμçÔ′oóèÃμçμ÷Æô¶ˉoóÔù′ò¿aò£¿ØÆ÷£¬·ñÔò¿éÄüμçμ÷Æô¶ˉ2»3é1|
- ===============================================================*/
- int main(void)
- {
- NVIC_Configuration();
- delay_init(168); //3õê¼»ˉÑóê±oˉêy
- LED_Init(); //3õê¼»ˉLED¶Ë¿ú
- //=============================
- TIM3_PWM_GPIO();
- TIMx_pwm(TIM3,2000,84,1,1,1,1); //2000 ,84
- TIM_SetCompare1(TIM3,800); //μçμ÷13õê¼Öμ
- TIM_SetCompare2(TIM3,800); //μçμ÷23õê¼Öμ
- TIM_SetCompare3(TIM3,800); //μçμ÷33õê¼Öμ
- TIM_SetCompare4(TIM3,800); //μçμ÷43õê¼Öμ
- delay_ms(500);
-
- MCL1_CLOSE; //Ä|2áÂÖ1رÕ
- MCL2_CLOSE; //Ä|2áÂÖ1رÕ
- delay_ms(500);
- //=============================
- Step_Monitor(); //2½½øμç»ú3õê¼»ˉ
- ENA=0; //2½½øμç»úê1Äü
- delay_ms(1000);
- delay_ms(1000);
- LED0=LED1=1;
- //=============================
- uart_init(50000);
- KEY_Init();
- key4x4_Init();
- TIMx_Int_Init(TIM2,1,0,1000,84,ENABLE); //1MS
- Dbus_Init(US2_IT);
- Dicifa_configration(); //μç′Å·§òy½Å3õê¼»ˉ
- uart3_init(115200);
- //=============================
- TIM_SetCompare1(TIM3,800); //μçμ÷13õê¼Öμ
- TIM_SetCompare2(TIM3,800); //μçμ÷23õê¼Öμ
- TIM_SetCompare3(TIM3,800); //μçμ÷33õê¼Öμ
- TIM_SetCompare4(TIM3,800); //μçμ÷43õê¼Öμ
- delay_ms(500); //×îoÃ3õê¼»ˉÔú×îoóÃæ
-
- while(1)
- {
- if(ledsj<500)LED1=0;
- else LED1=1;
- if(dbus_bj==dbus_valid)
- {
- //yaokong_DataProcessing(&dj_data);
- mcl_switch();
- Step_Action();
- //=======½óêÕμ½ò£¿ØÆ÷êy¾YoóμÄèÎÎñoˉêy=========
- jianpan();
- //===========½«ò£¿ØéèÖÃÎa¿ÕÏDλ===============
- dbus_bj=dbus_leisure;
- }
-
- }
- }
- void TIM2_IRQHandler(void)
- {
- if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)
- {
- TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
- //======LEDÑóê±==============
- if(dma_one_bj==no_dbus)
- ledsj=(ledsj+1)%1000;
- //===========================
- t1sj=(t1sj+1)%1000;
- //======dbusò£¿Ø½óêÕ=========
- dbus_xieyi();
- }
- }
復制代碼
學習一下。
|