void start_configration(void) { uint8_t sdadc_cali_flag=0;//SDADC配置成功与否标志,0-成功,1-INITRDY未置位,2-EOCAL未置位 Init_flash();//初始化一些参数 delay_init();//延时函数初始化,可以使用delay_ms(u16 nms),delay_us(u32 nus) NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,2位响应优先级 HT1621_Init(); lcd_clr(); lcd_full_test(); Init_Keyboard_Interrupt();//内含TIM3-按键10ms检测中断、EXTI9_5-按键外部中断 BUZZER_LED_Init(); //TIM4驱动 uart_init(115200);//内含USART2与上位机通信串口中断9600 delay_ms(500); sdadc_cali_flag=SDADC1_Config();//采样配置,内含DMA2-SDADC数据DMA中断 TIM19_Config();//采样触发、采样频率配置 TIM5_2_Compare_Capture_Init();//COMP比较器、定时器配置,用于基频捕获,内含TIM5比较器捕获中断 DTA0660_Init();//内含Usart1-DTA0660通信串口中断,用于单片机与DTA通信 TIM12_Config_1s();//1s定时器,内含TIM12-1s中断:秒表显示闪烁 TIM14_Config_0_5s();//0.5s定时器,内含TIM14-0.5s中断:相序测量闪烁 PowerControl_Init(); DAC_Config();//新增DAC输出驱动钳头 Dac1_Set_Vol(1800); TIM13_Config_1s_Standby();//内含1s中断,计数1800次为30min,进入Standby模式 }
int main(void) { system_init(); delay_init(); struct port_config pin; port_get_config_defaults(&pin); pin.direction = PORT_PIN_DIR_OUTPUT; port_pin_set_config(LED0_PIN, &pin); port_pin_set_output_level(LED0_PIN, LED0_INACTIVE); while (true) { for (int i = 0; i < 5; i++) { port_pin_toggle_output_level(LED0_PIN); delay_s(1); } for (int i = 0; i < 50; i++) { port_pin_toggle_output_level(LED0_PIN); delay_ms(100); } for (int i = 0; i < 5000; i++) { port_pin_toggle_output_level(LED0_PIN); delay_cycles(100); } } }
int main(void) { delay_init(); //延时函数初始化 uart_init(9600); //串口初始化为9600 LED_Init(); //初始化与LED连接的硬件接口 LED0=1; LED1=1; LED2=1; USB_Cable_Config (ENABLE); delay_ms(500); USB_Port_Set(0); delay_ms(500); USB_Port_Set(1); Set_USBClock(); USB_Interrupts_Config(); USB_Init(); SPI_IO_Init(); DMA_configuration(); spi_conf(SPI_DEFAULT_SPEED); LED1=0; LED2=0; while(1) { /* Get command */ serprog_handle_command(usb_getc()); /* Flush output via USB */ usb_sync(); } }
//主函数 int main(void) { OS_ERR err; CPU_SR_ALLOC(); delay_init(168); //时钟初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中断分组配置 uart_init(115200); //串口初始化 LED_Init(); //LED初始化 LCD_Init(); //LCD初始化 KEY_Init(); //按键初始化 BEEP_Init(); //初始化蜂鸣器 FSMC_SRAM_Init(); //初始化SRAM my_mem_init(SRAMIN);//初始化内部RAM ucos_load_main_ui();//加载主UI OSInit(&err); //初始化UCOSIII OS_CRITICAL_ENTER(); //进入临界区 //创建开始任务 OSTaskCreate((OS_TCB * )&StartTaskTCB, //任务控制块 (CPU_CHAR * )"start task", //任务名字 (OS_TASK_PTR )start_task, //任务函数 (void * )0, //传递给任务函数的参数 (OS_PRIO )START_TASK_PRIO, //任务优先级 (CPU_STK * )&START_TASK_STK[0], //任务堆栈基地址 (CPU_STK_SIZE)START_STK_SIZE/10, //任务堆栈深度限位 (CPU_STK_SIZE)START_STK_SIZE, //任务堆栈大小 (OS_MSG_QTY )0, //任务内部消息队列能够接收的最大消息数目,为0时禁止接收消息 (OS_TICK )0, //当使能时间片轮转时的时间片长度,为0时为默认长度, (void * )0, //用户补充的存储区 (OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, //任务选项 (OS_ERR * )&err); //存放该函数错误时的返回值 OS_CRITICAL_EXIT(); //退出临界区 OSStart(&err); //开启UCOSIII }
//ALIENTEK战舰STM32开发板实验3 //按键输入实验 //技术支持:www.openedv.com //广州市星翼电子科技有限公司 int main(void) { u8 t; delay_init(); //延时函数初始化 LED_Init(); //LED端口初始化 KEY_Init(); //初始化与按键连接的硬件接口 BEEP_Init(); //初始化蜂鸣器端口 LED0=0; //先点亮红灯 while(1) { t=KEY_Scan(0); //得到键值 if(t) { switch(t) { case KEY_UP: //控制蜂鸣器 LED4=!LED4; LED1=!LED1; LED2=!LED2; LED3=!LED3; break; case KEY_LEFT: //控制LED0翻转 LED1=!LED1; break; case KEY_DOWN: //控制LED1翻转 LED2=!LED2; break; case KEY_RIGHT: //同时控制LED0,LED1翻转 LED3=!LED3; break; } }else delay_ms(10); } }
void start_task(void *pdata) { OS_CPU_SR cpu_sr = 0; pdata = pdata; delay_init(168); OS_ENTER_CRITICLE(); //进入临界区 无法被中断打断 OSTaskCreate( led0Task, (void *)0, (OS_STK *)LED0_TASK_STK[LED0_STK_SIZE-1], LED0_TASK_PRIO);//创建LED任务 // OSTaskCreate( beepTask, (void *)0, // (OS_STK *)BEEP_TASK_STK[BEEP_STK_SIZE-1], // BEEP_TASK_PRIO);//创建BEEP任务 //用OSTaskCreateExt改写 OSTaskCreateExt( beepTask, (void *)0, (OS_STK *)BEEP_TASK_STK[BEEP_STK_SIZE-1], BEEP_TASK_PRIO, BEEP_TASK_PRIO,//ID设置为跟优先级一样 (OS_STK *)BEEP_TASK_STK[0],//栈底指针 BEEP_STK_SIZE,//堆栈大小 (void *) 0,//额外参数为空 OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR//使用任务堆栈检查和清零功能 ) OSTaskSuspend(START_TASK_PRIO);//挂起起始任务 OS_EXIT_CRITICLE(); //退出临界区 可以被中断打断 }
int main(void) { u8 t=0; u16 Time=0,dis_pre=0; float V_ave; //平均速度 char code_ave[5],code_v[5],code_vr[5], mileage[5];//信息储存数组 delay_init(72); //延时函数初始化 Stm32_Clock_Init(9); //系统时钟设置 uart_init(72,9600); //串口初始化为9600 usmart_dev.init(72); //初始化USMART EXTIX_Init(); //外部中断初始化 TIM3_Int_Init(5000,7199); //10Khz的计数频率,计数到5000为500ms LCD_Init(); // PE.ALL,PD1~5 LCD_Display_Dir(1); //设置显示方向为横屏显示 LED_Init(); //初始化与LED连接的硬件接口 KEY_Init(); //初始化按键 while(RTC_Init()) { //等待RTC初始化 delay_ms(200); printf("rtc waiting```\r\n"); } printf("finish\n"); display_jing(); //初始化完成 while(1) { POINT_COLOR=RED; if(t!=calendar.sec) //时间更新后显示新时间 { t=calendar.sec; LCD_ShowNum(200,135,calendar.min,2,32); LCD_ShowString(230,135,200,32,32,":"); LCD_ShowNum(248,135,calendar.sec,2,32); Time = 60*calendar.min+calendar.sec;//比赛用时 if(dis_pre != quanshu_tenfold) //有位移变化 { V_ave=(0.154*quanshu_tenfold)/Time; dis_pre = quanshu_tenfold; sprintf(code_ave,"%.2f",V_ave); LCD_ShowString(100,200,200,32,32,code_ave);//修改一下位置 } } sprintf(code_v,"%.2f",V); //float 转 字符串 LCD_ShowString(365,275,200,32,32,code_v); //速度 sprintf(code_vr,"%d",V_RPM); //float 转 字符串 LCD_ShowString(365,275,200,32,32,code_vr); //转速 sprintf(mileage,"%.2f",0.154*quanshu_tenfold); LCD_ShowString(250,225,200,24,32,mileage); //里程 display_dong(V_RPM,V,50); delay_ms(300); } }
/******************************************** 飞控主函数入口 功能: 1.初始化各个硬件 2.初始化系统参数 3.开定时器4等待数据中断到来 4.开定时器3串口广播实时姿态以及相关信息 ********************************************/ int main(void) { //int i; SystemClock_HSE(9); //系统时钟初始化,时钟源外部晶振HSE //SystemClock_HSI(4); //系统时钟初始化,时钟源内部HSI UART1_init(SysClock,115200); //串口1初始化 NVIC_INIT(); //中断初始化 STMFLASH_Unlock(); //内部flash解锁 LedInit(); //IO初始化 delay_init(SysClock); //滴答延时初始化 BT_PowerInit(); //蓝牙电源初始化完成,默认关闭 MotorInit(); //马达初始化 BatteryCheckInit(); //电池电压监测初始化 IIC_Init(); //IIC初始化 MPU6050_DMP_Initialize(); //初始化DMP引擎 //HMC5883L_SetUp(); //初始化磁力计HMC5883L PID_INIT(); //PID参数初始化 ParameterRead(); //Flash参数读取 NRF24L01_INIT(); //NRF24L01初始化 SetRX_Mode(); //设无线模块为接收模式 PowerOn(); //开机等待 BT_on(); //蓝牙开 TIM3_Init(SysClock,10); //定时器3初始化,调试串口输出 TIM4_Init(SysClock,50); //定时器4初始化,定时采样传感器数据,更新PID输出 while (1); //等待数据更新中断到来 }
void start_task(void *pdata) { INT8U err;//错误码 INT8U *pname; INT8U len;//名字的长度 char buffer[16]; OS_CPU_SR cpu_sr = 0; pdata = pdata; delay_init(168); OS_ENTER_CRITICLE(); //进入临界区 无法被中断打断 OSTaskCreate( led0Task, (void *)0, (OS_STK *)LED0_TASK_STK[LED0_STK_SIZE-1], LED0_TASK_PRIO);//创建LED任务 OSTaskCreate( beepTask, (void *)0, (OS_STK *)BEEP_TASK_STK[BEEP_STK_SIZE-1], BEEP_TASK_PRIO);//创建BEEP任务 OSTaskCreate( keyTask, (void *)0, (OS_STK *)KEY_TASK_STK[KEY_STK_SIZE-1], KEY_TASK_PRIO);//创建keytask OSTaskSuspend(START_TASK_PRIO);//挂起起始任务 OS_EXIT_CRITICLE(); //退出临界区 可以被中断打断 }
int main(void) { u16 adcx; float temp; delay_init(); //延时函数初始化 uart_init(9600); //串口初始化为9600 LED_Init(); //初始化与LED连接的硬件接口 LCD_Init(); Adc_Init(); //ADC初始化 POINT_COLOR=RED;//设置字体为红色 LCD_ShowString(60,50,200,16,16,"Mini STM32"); LCD_ShowString(60,70,200,16,16,"ADC TEST"); LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK"); LCD_ShowString(60,110,200,16,16,"2014/3/9"); //显示提示信息 POINT_COLOR=BLUE;//设置字体为蓝色 LCD_ShowString(60,130,200,16,16,"ADC_CH1_VAL:"); LCD_ShowString(60,150,200,16,16,"ADC_CH1_VOL:0.000V"); while(1) { adcx=Get_Adc_Average(ADC_Channel_1,10); LCD_ShowxNum(156,130,adcx,4,16,0);//显示ADC的值 temp=(float)adcx*(3.3/4096); adcx=temp; LCD_ShowxNum(156,150,adcx,1,16,0);//显示电压值 temp-=adcx; temp*=1000; LCD_ShowxNum(172,150,temp,3,16,0X80); LED0=!LED0; delay_ms(250); } }
/******************************************************************************* *Function:系统初始化 *parm:none *description: *******************************************************************************/ void board_init(void) { delay_init(); LED_Init(); //LED灯初始化 USART_Configuration(115200);//串口通信初始化 USART2_Init(9600); }
int main() { delay_init(72); uart1_init(); //串口1 uart2_init(); RCC_Configuration(); GPIO_Configuration(); GPIO_ResetBits(GPIOB, GPIO_Pin_5); //PB=0,LED亮 delay_ms(500); GPIO_SetBits(GPIOB, GPIO_Pin_5); while(1) { delay_ms(1000); printf("State %c\r\n", lock); //串口输出调试 TIME_AREA(); printf("Time :%c%c : %c%c : %c%c%c%c%c \r\n",time[0],time[1],time[2],time[3],time[4],time[5],time[6],time[7],time[8]); //串口输出调试 JWD_AREA(JD); //经度转换 printf("Longitude :%f %c\r\n", D_D,JD_a); //串口输出调试jd JWD_AREA(WD); //纬度转换 printf("Latitude :%f %c\r\n", D_D,WD_a); //串口输出调试wd // printf("卫星 :%s颗\r\n", use_sat); //串口输出调试 // printf("卫星 :%s颗\r\n", total_sat); //串口输出调试 // printf("高度 :%sm\r\n", haiba); //串口输出调试 // printf("海拔 :%sm\r\n", high); //串口输出调试 // printf("速度 :%s节\r\n", speed2); //串口输出调试 // printf("方位 :%s度\r\n", angle); //串口输出调试 } }
void Init(void) { //时钟配置 RCC_Configuration(); NVIC_Configuration(); delay_init(72); //串口配置 USART1_Configuration(); USART2_Configuration(); USART3_Configuration(); UART4_Configuration(); UART5_Configuration(); USART_ITEnable(); //PWM配置 PWMTIM_Configuration(72000/5,0); //不分频。PWM频率=Freq //指南针配置 COMPASS_Init(); //舵机配置 SERVOS_Init(); //设置到初始值 PWM_Configuration(MOTOR_Speed); s3010_SeTAngle(SERVOS_Angle); }
int main(void) { delay_init(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(115200); //串口初始化为115200 Uart2_Init(115200); OLED_Init(); LED_Init(); OLED_Clear(); KEY_Init();//IO初始化 TIM3_Int_Init(499,7199);//10Khz的计数频率,计数到500为50ms NET_Init(); ConnectToDevice(); delay_ms(300); LED2 = 0; delay_ms(100); LED2 = 1; EEPROM_Init(); // ReadLedStatusFromFlash(); StartToUploadFlag = 1; while(1) { MainMenuIntoSubMenu(); SwitchDetect(); } }
int main(void) { irq_initialize_vectors(); #if SAMD || SAMR21 system_init(); delay_init(); #else sysclk_init(); /* Initialize the board. * The board-specific conf_board.h file contains the configuration of * the board initialization. */ board_init(); #endif performance_analyzer_init(); cpu_irq_enable(); /* Endless while loop */ while (1) { performance_analyzer_task(); } }
int main(void) { long long temp=0; float lenth=0.00; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(168); //初始化延时函数 uart_init(115200);//初始化串口波特率为115200 LED_Init(); TIM3_CH1_Cap_Init(0XFFFF,84-1); //以1Mhz的频率计数 while(1) { delay_ms(10); GPIO_SetBits(GPIOF,GPIO_Pin_7 ); delay_us(10); GPIO_ResetBits(GPIOF,GPIO_Pin_7 ); if(TIM3CH1_CAPTURE_STA&0X80) //成功捕获到了一次高电平 { temp=TIM3CH1_CAPTURE_STA&0X3F; temp*=0XFFFF; //溢出时间总和 temp+=TIM3CH1_CAPTURE_VAL; //得到总的高电平时间 if(temp>=80000) { printf("no trouble\r\n"); } else { lenth=((float)temp)*340/1000000/2; printf("lenth:%f m\r\n",lenth); //打印总的高点平时间 printf("%lld\r\n",temp); } TIM3CH1_CAPTURE_STA=0; //开启下一次捕获 } } }
int main(void) { u8 R='b'; delay_init(72); //延时函数初始化 usart1_init(); //串口初始化 NRF24L01_Init(); //初始化NRF24L01 LED(); while(NRF24L01_Check()); //检查NRF24L01是否在位. while(1) { NRF24L01_TX_Mode(); if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE)) { R =USART_ReceiveData(USART1); USART_ClearFlag(USART1, USART_FLAG_TC); USART_SendData(USART1, USART_ReceiveData(USART1)); USART_ClearFlag(USART1, USART_FLAG_RXNE); } NRF24L01_TxPacket(&R); if(R=='a') GPIO_ResetBits(GPIOE, GPIO_Pin_5); //PE=0,LED亮 if(R=='b') GPIO_SetBits(GPIOE, GPIO_Pin_5); //PE=1,LED灭 } }
int main(void) { Stm32_Clock_Init(9); // u16 temp; NVIC_Configuration(); UART1_init(72,115200); delay_init(); //初始化串口1; pid_Init(); LED_Init(); EXTIX_Init(); Adc_Init(); Motor_Init(999,0); HC05_Init(); while(mpu_dmp_init()); // TIM5_Init(999,72); TIM2_Int_Init(999,72);//定时器3配置,1ms中断一次 while(1) { // CtrlAttiAng(); // PWM_test(); // COMMPC_TEST(); // Get_angle(); // u2_printf("hell"); test_SendPC();//测试向PC发送协议数据,用于调控 } }
int main(void) { // init sys SystemInit(); // init peripheral UART_Configuration(); delay_init(); KEY_GPIO_Init(); TIM3_Int_Init(100,7199); Motor_Init(); RGB_LED_Init(); DHT11_Init(); IR_Init(); // init vars GenProtocolInit(); BuzProtocolInit(); UartInit(); while(1) { // handle uart msg HandleMsg(); // handle key events HandleKey(); // business logic tick BuzTick(); } }
int main(void) { delay_init(); //??????? NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //??NVIC????2:2??????,2?????? uart_init(115200); //??????115200 LED_Init(); //LED????? TFTLCD_Init(); //LCD??? KEY_Init(); //????? ctp_dev.init(); //?????? FSMC_SRAM_Init(); //???SRAM TIM3_Int_Init(999,71); //1KHZ ???1ms TIM6_Int_Init(999,719); //10ms?? my_mem_init(SRAMIN); //???????? my_mem_init(SRAMEX); //???????? RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//??CRC??,??STemWin???? GUI_Init(); WM_SetCreateFlags(WM_CF_MEMDEV); GUI_Init();//???????? demo???????? ????????? startUp_Window(); //?????? while(1); }
int main (void) { /* Insert system clock initialization code here (sysclk_init()). */ board_init(); sysclk_init(); delay_init(sysclk_get_cpu_hz()); //gpio_configure_pin(PORTA5,1); ioport_init(); ioport_set_pin_dir(LED_GREEN,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(LED_RED,IOPORT_DIR_OUTPUT); /* Insert application code here, after the board has been initialized. */ ioport_set_pin_high(LED_RED); ioport_set_pin_low(LED_GREEN); //gpio_set_pin_high(PORTA5); while(true){ ioport_toggle_pin(LED_GREEN); ioport_toggle_pin(LED_RED); delay_ms(500); } }
void TIM3_Int_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStrue; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); TIM_TimeBaseInitStrue.TIM_Period=arr; TIM_TimeBaseInitStrue.TIM_Prescaler=psc; TIM_TimeBaseInitStrue.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInitStrue.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStrue); TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); //中断优先级NVIC设置 NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;//TIM3中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//先占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;//从优先级 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//IRQ通道使能 NVIC_Init(&NVIC_InitStructure); TIM_Cmd(TIM3,ENABLE); delay_init();//延时模板函数初始化(延时时间比较准确) }
/*! \brief Main function. */ int main(void) { irq_initialize_vectors(); #if SAMD20 system_init(); delay_init(); #else sysclk_init(); /* Initialize the board. * The board-specific conf_board.h file contains the configuration of * the board initialization. */ board_init(); #endif sw_timer_init(); serial_interface_init(); if (MAC_SUCCESS != wpan_init()) { app_alert(); } LED_On(LED_POWER); cpu_irq_enable(); while (1) { wpan_task(); serial_data_handler(); } }
int main(void) { u8 key; delay_init(168); LED_Init(); KEY_Init(); LED0 = 1; while(1) { key = KEY_Scan(0); if(key) { switch ( key) { case 1: LED0 = !LED0; break; default: break; } } } }
int main(void) { /* Use static volatile to make it available in debug watch */ static volatile bool pin_val; sysclk_init(); board_init(); ioport_init(); delay_init(sysclk_get_cpu_hz()); /* Set output direction on the given LED IOPORTs */ ioport_set_pin_dir(EXAMPLE_LED, IOPORT_DIR_OUTPUT); /* Set direction and pullup on the given button IOPORT */ ioport_set_pin_dir(EXAMPLE_BUTTON, IOPORT_DIR_INPUT); ioport_set_pin_mode(EXAMPLE_BUTTON, IOPORT_MODE_PULLUP); /* Set LED IOPORTs high */ ioport_set_pin_level(EXAMPLE_LED, IOPORT_PIN_LEVEL_HIGH); while (true) { /* Toggle LED IOPORTs with half a second interval */ ioport_toggle_pin_level(EXAMPLE_LED); delay_ms(500); /* Get value from button port */ /* Use watch with debugger to see it */ pin_val = ioport_get_pin_level(EXAMPLE_BUTTON); } }
int main(void) { // u8 i; Stm32_Clock_Init(9); //system clock init always init first IO_Init(); delay_init(72); //delay init <<<<<<< HEAD
int main(void) { float x=1; float p=10; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(168); //初始化延时函数 EXTIX_Init(); uart_init(115200); TIM10_PWM_Init(10000-1,336-1); //84M/84=1Mhz的计数频率,重装载值500,所以PWM频率为 1M/500=2Khz. TIM11_PWM_Init(10000-1,336-1); TIM9_PWM_Inita(10000-1,336-1); TIM9_PWM_Initb(10000-1,336-1); //TIM3_Int_Init(5000-1,8400-1); //定时器时钟84M,分频系数8400,所以84M/8400=10Khz的计数频率,计数5000次为500ms exp_point=set_point(0,0,0,750); MPU_Init(); printf("aaa\r\n"); while(mpu_dmp_init()){} //TIM3_Int_Init(100-1,8400-1); init_omegax.data=x; init_omegax.p=p; init_roll.data=x; init_roll.p=p; while(1) { LED0=!LED0;//DS0翻转 delay_ms(200);//延时200ms }; }
/* ------------------------------------------------------------------------- * 函数名称: * 函数功能: * 输入形参: * 返回值: --------------------------------------------------------------------------- */ void Board_Init(void) { u8 i; //系统时钟配置 SystemInit(); //延时函数初始化 delay_init(72); //定时器1初始化 TIM1_config(); //舵机初始化 Motor_Init(); Servo_Init(); //串口配置 USART_Config(); //串口中断配置 NVIC_Config(); //LED初始化 LED_Init(); //按键初始化 KEY_Init(); //等待电调中间值确定 for(i=0;i<3;i++) { delay_ms(1000); } }
/** * @brief Ö÷º¯Êý * @param ÎÞ * @retval ÎÞ */ int main(void) { uint16_t Buf[10], i; delay_init(72); /* USART1 config 9600 8-N-1 */ USART1_Config(); Init_Mouse(); for(;;) { if(PS2_Status&0x80) { Mouse_Data_Pro(); PS2_Status=MOUSE; printf("X = %d Y = %d \r", MouseX.x_pos, MouseX.y_pos); PS2_En_Data_Report(); } else if(PS2_Status&0x40) { PS2_Status=MOUSE; } delay_ms(1); } }
int main(void) { Stm32_Clock_Init(9); //system clock init always init first IO_Init(); delay_init(72); //delay init uart_init(72,115200); //uart init PWM4_Init(150,18000); // ultra ping sig // PWM2_2Init(100,1800); //count to 100, freq/1800 //IR aqusition pulse Timer3_Init(65535,256); //time refrence for echo/ultrasonic // setup 5 for motors? Timer2_Init(65535,10); // motor try1 motor_Init(); EXTIX_Init(); // Adc_Init(); // LED0_PWM_VAL2_2=0x44; // LED0_PWM_VAL2_1=0x34; LED0_PWM_VAL4=0x34; IRO=0;//turn on IR LEDs while(1) { printf("adcx1\tadcx2\tadcx3\tadcx4\tGyro\tBatt\techo\n"); printf("%u\t%u\t%u\t%u\t%u\t%u\t%u",adcx1,adcx2,adcx3,adcx4,Gyro_raw,Batt,echo); printf("\n"); // USART1->DR=echo/0xff; // while((USART1->SR&0X40)==0);//wait for transfer to compleate LED0=!LED0; delay_us(100000);//wait for the end of transmission } }