这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 漓东e学堂 » 19号王立磊汇总

共16条 1/2 1 2 跳转至

19号王立磊汇总

菜鸟
2014-10-19 11:17:43     打赏

作业一 焊接过程的照片:

http://forum.eepw.com.cn/thread/262430/2#16


作业二 调试视频:

http://forum.eepw.com.cn/thread/262430/1#7


作业三:keil的安装与破解:

http://forum.eepw.com.cn/thread/262430/2#15


作业四:回型LED灯视屏代码:

http://forum.eepw.com.cn/thread/262430/1#8


作业五:数码管&按键视屏代码:

http://forum.eepw.com.cn/thread/262430/1#9


作业六:输入字符控制数码管显示代码和视频:

http://forum.eepw.com.cn/thread/262430/2#15


作业七:外部中断视频和代码:

http://forum.eepw.com.cn/thread/262430/2#18


作业八:定时器视频和代码:

http://forum.eepw.com.cn/thread/262430/2#19


作业九:呼吸灯代码和视频:

http://forum.eepw.com.cn/thread/262430/3#21


作业十:ADC_PWM代码代和视频:

http://forum.eepw.com.cn/thread/262430/3#22


作业十一:(spi的作业):

http://forum.eepw.com.cn/thread/262430/3#23


作业十二 (18b20):

http://forum.eepw.com.cn/thread/262430/3#24







关键词: 程序     图片     软件    

菜鸟
2014-10-30 09:51:53     打赏
2楼
我来填坑了。

菜鸟
2014-10-30 22:49:46     打赏
3楼

菜鸟
2014-10-30 22:51:58     打赏
4楼


视频地址:http://player.youku.com/player.php/sid/XODE0NzMxMzAw/v.swf

跑马灯,跑得飞快,流水灯,流的很急。


/** 
  ****************************************************************************** 
  * @file    GPIO/IOToggle/main.c  
  * @author  MCD Application Team 
  * @version V3.5.0 
  * @date    08-April-2011 
  * @brief   Main program body. 
  ****************************************************************************** 
  * @attention 
  * 
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 
  * 
  * 
 
    © COPYRIGHT 2011 STMicroelectronics 
 
****************************************************************************** 
  */   
  
/* Includes ------------------------------------------------------------------*/  
#include "stm32f10x.h"  
#include "stm32_eval.h"  
GPIO_InitTypeDef GPIO_InitStructure;  
  
void RCC_Configuration(void)  
{  
  RCC_DeInit();  
      
  RCC_HSICmd(ENABLE);  
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);  
    
  RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);  
    
  RCC_HSEConfig(RCC_HSE_OFF);  
  RCC_LSEConfig(RCC_LSE_OFF);  
  RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); //  72HMz  
  RCC_PLLCmd(ENABLE);  
  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);  
  RCC_ADCCLKConfig(RCC_PCLK2_Div4);  
  RCC_PCLK2Config(RCC_HCLK_Div1);  
  RCC_PCLK1Config(RCC_HCLK_Div2);  
  RCC_HCLKConfig(RCC_SYSCLK_Div1);  
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  
  while(RCC_GetSYSCLKSource() != 0x08);  
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);  
 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//disable JTAG  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;  
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  
  GPIO_Init(GPIOD, &GPIO_InitStructure);  
    GPIO_ResetBits(GPIOD,GPIO_Pin_2);  
}  
  
void GPIO_INIT()  
{  
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);  
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;  
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  
  GPIO_Init(GPIOC, &GPIO_InitStructure);  
    GPIO_Init(GPIOA, &GPIO_InitStructure);  
}  
  
void delay_us(u32 n)  
{  
    u8 j;  
    while(n--)  
    for(j=0;j<10;j++);  
}  
  
void  delay_ms(u32 n)  
{  
    while(n--)  
    delay_us(1000);  
}  
  
  
/** 
  * @brief  Main program. 
  * @param  None 
  * @retval None 
  */  
int main(void)  
{   
    RCC_Configuration();  
 GPIO_INIT();  
    while(1){  
    GPIO_ResetBits(GPIOC,GPIO_Pin_0);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_0);  
    GPIO_ResetBits(GPIOC,GPIO_Pin_1);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_1);  
    GPIO_ResetBits(GPIOC,GPIO_Pin_2);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_2);  
    GPIO_ResetBits(GPIOC,GPIO_Pin_3);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_3);  
    GPIO_ResetBits(GPIOC,GPIO_Pin_7);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_7);  
    GPIO_ResetBits(GPIOC,GPIO_Pin_6);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_6);  
    GPIO_ResetBits(GPIOC,GPIO_Pin_5);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_5);  
    GPIO_ResetBits(GPIOC,GPIO_Pin_4);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_4);  
    GPIO_ResetBits(GPIOC,GPIO_Pin_0);  
        delay_ms(100);  
        GPIO_SetBits(GPIOC,GPIO_Pin_0);  
          
        GPIO_ResetBits(GPIOA,GPIO_Pin_1 );  
        delay_ms(500);  
        GPIO_SetBits(GPIOA,GPIO_Pin_1);  
  
          
        GPIO_ResetBits(GPIOA,GPIO_Pin_2 );  
        delay_ms(500);  
        GPIO_SetBits(GPIOA,GPIO_Pin_2);  
          
          
        GPIO_ResetBits(GPIOA,GPIO_Pin_3 );  
        delay_ms(500);  
        GPIO_SetBits(GPIOA,GPIO_Pin_3);  
      
          
        GPIO_ResetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2 );  
        delay_ms(500);  
        GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2);  
          
        GPIO_ResetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_3 );  
        delay_ms(500);  
        GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_3);  
          
          
        GPIO_ResetBits(GPIOA,GPIO_Pin_3|GPIO_Pin_2 );  
        delay_ms(500);  
        GPIO_SetBits(GPIOA,GPIO_Pin_3|GPIO_Pin_2);  
   
   
   
    }  
}  

 


菜鸟
2014-10-30 22:55:51     打赏
5楼


视频地址:http://player.youku.com/player.php/sid/XODE0NzQ5MDk2/v.swf

数码管&按键
手有点抖,很紧张,第一次上优酷,望理解。


/**   
  ******************************************************************************   
  * @file    GPIO/IOToggle/main.c    
  * @author  MCD Application Team   
  * @version V3.5.0   
  * @date    08-April-2011   
  * @brief   Main program body.   
  ******************************************************************************   
  * @attention   
  *   
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS   
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE   
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY   
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING   
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE   
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.   
  *   
  *   
  
    ? COPYRIGHT 2011 STMicroelectronics   
  
******************************************************************************   
  */      
    
/* Includes ------------------------------------------------------------------*/    
#include "stm32f10x.h"     
#include "stm32_eval.h"     
GPIO_InitTypeDef GPIO_InitStructure;     
    
void RCC_Configuration(void)     
{     
  RCC_DeInit();     
         
  RCC_HSICmd(ENABLE);     
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);     
       
  RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);     
       
  RCC_HSEConfig(RCC_HSE_OFF);     
  RCC_LSEConfig(RCC_LSE_OFF);     
  RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); //  72HMz     
  RCC_PLLCmd(ENABLE);     
  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);     
  RCC_ADCCLKConfig(RCC_PCLK2_Div4);     
  RCC_PCLK2Config(RCC_HCLK_Div1);     
  RCC_PCLK1Config(RCC_HCLK_Div2);     
  RCC_HCLKConfig(RCC_SYSCLK_Div1);     
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);     
  while(RCC_GetSYSCLKSource() != 0x08);     
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);     
 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//disable JTAG     
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;     
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     
  GPIO_Init(GPIOD, &GPIO_InitStructure);     
    GPIO_ResetBits(GPIOD,GPIO_Pin_2);     
}     
    
void GPIO_INIT()//输入输出的初始化     
{     
    
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;     
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);     
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;     
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     
      GPIO_Init(GPIOC, &GPIO_InitStructure);     
         
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);     
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;     
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     
  GPIO_Init(GPIOB, &GPIO_InitStructure);     
         
}     
    
void delay_us(u32 n)  //延时1us     
{     
    u8 j;     
    while(n--)     
    for(j=0;j<10;j++);     
}     
    
void  delay_ms(u32 n)     //延时1ms     
{     
    while(n--)     
    delay_us(1000);     
}     
      
//定义一个数组,用来显示数字0到9     
 int table[10]={GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_8 ,GPIO_Pin_9|GPIO_Pin_12 ,GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_5,     
GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_5,GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_8|GPIO_Pin_5,GPIO_Pin_7|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_8|GPIO_Pin_5,     
GPIO_Pin_7|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_8|GPIO_Pin_5,GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_12,     
GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14,GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_14     
    
};        
    
void shumaguan(char temp)   
{     
    char gewei=0,shiwei=0;     
    shiwei=temp/10;     
    gewei=temp%10;  
    if(temp<10)  
    {  
             GPIO_SetBits(GPIOB,GPIO_Pin_1);     
              GPIO_ResetBits(GPIOB,table[gewei]);     
    
          delay_ms(5);     
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);     
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);     
        }  
         if(temp>=10)  
                {  
                      
                      
                    GPIO_SetBits(GPIOB,GPIO_Pin_15);     
              GPIO_ResetBits(GPIOB,table[shiwei]);     
          delay_ms(1);     
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);     
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);     
                 
             GPIO_SetBits(GPIOB,GPIO_Pin_1);     
              GPIO_ResetBits(GPIOB,table[gewei]);     
    
          delay_ms(1);     
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);     
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);     
      
       }  
                  
           if(temp>30)     
            {     
                    GPIO_SetBits(GPIOB,GPIO_Pin_15);     
              GPIO_ResetBits(GPIOB,table[shiwei]);     
          delay_ms(100);     
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);     
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);     
                 
             GPIO_SetBits(GPIOB,GPIO_Pin_1);     
              GPIO_ResetBits(GPIOB,table[gewei]);     
    
          delay_ms(150);     
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);     
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);     
    
            }     
    
}     
    
  
    
         
    
int main(void)        
{           
        char a = 0, b = 0,count=0;   //定义三个计数器。   
      RCC_Configuration();       //调用函数     
         GPIO_INIT();      //调用函数     
      GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  //关闭数码管     
      while(1){     
     if(!GPIO_ReadInputDataBit (GPIOC,GPIO_Pin_10)) //判断按键是否按下     
      {     
                    delay_ms(100);     
         if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_10))     
               {     
                                 count++;  //count自加1;     
              }     
                        }     
             if(count%2==1){        
                                                            if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_8))       
                                                 {   delay_ms(80);        
                                                             if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_8))     
                                                                             {a++;}     
                                                            }       
                                                                if(a>100)     
                                   {a=0;}  //a>100,a置0;     
                                                        shumaguan(a);     
            }     
         
       if(count%2==0){     
           if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9))     
         {delay_ms(80);        
          if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9)){b++;}}       
                 if(b>100){b=0;}       
                 shumaguan(b);}     
        
       }        
         
          
     }       

 


菜鸟
2014-11-06 23:02:35     打赏
6楼
我现在先发一句话,我马上上传作业,,,,占个位置,别过了十二点了。

菜鸟
2014-11-27 13:18:27     打赏
7楼

菜鸟
2014-11-27 13:31:37     打赏
8楼

菜鸟
2014-11-27 13:33:29     打赏
9楼
#include "stm32f10x.h"
#include "stm32_eval.h"
#include "math.h" 
#include    "stdio.h"
GPIO_InitTypeDef GPIO_InitStructure;
#define buff_size  16;     
char rx_buff[255],rx_buff_count=0;

void RCC_Configuration(void)
{
  RCC_DeInit();
    
  RCC_HSICmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
  
  RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
  
  RCC_HSEConfig(RCC_HSE_OFF);
  RCC_LSEConfig(RCC_LSE_OFF);
  RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); //  72HMz
  RCC_PLLCmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
  RCC_ADCCLKConfig(RCC_PCLK2_Div4);
  RCC_PCLK2Config(RCC_HCLK_Div1);
  RCC_PCLK1Config(RCC_HCLK_Div2);
  RCC_HCLKConfig(RCC_SYSCLK_Div1);
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
  while(RCC_GetSYSCLKSource() != 0x08);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);
 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//disable JTAG
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
	GPIO_ResetBits(GPIOD,GPIO_Pin_2);
}

void GPIO_INIT()//????????  
{    
      
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);  
      
} 

 int table[10]={GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_8 ,GPIO_Pin_9|GPIO_Pin_12 ,GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_5,  
GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_5,GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_8|GPIO_Pin_5,GPIO_Pin_7|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_8|GPIO_Pin_5,  
GPIO_Pin_7|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_8|GPIO_Pin_5,GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_12,  
GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14,GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_14  
  
};     
  
void delay_us(u32 n)
{
	u8 j;
	while(n--)
	for(j=0;j<10;j++);
}
void  delay_ms(u32 n)
{
	while(n--)
	delay_us(1000);
}

  


  void USART_int(long BaudRate)
{ USART_InitTypeDef USART_InitStructure;
	USART_ClockInitTypeDef USART_ClockInitStructure;
	 NVIC_InitTypeDef NVIC_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE);
       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    /* PA10 USART1_Rx  */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
  /* USARTx configured as follow:
        - BaudRate = 115200 baud  
        - Word Length = 8 Bits
        - One Stop Bit
        - No parity
        - Hardware flow control disabled (RTS and CTS signals)
        - Receive and transmit enabled
  */
  USART_InitStructure.USART_BaudRate = BaudRate;//??????
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;//???????8bit
  USART_InitStructure.USART_StopBits = USART_StopBits_1;//????1
  USART_InitStructure.USART_Parity = USART_Parity_No;//????
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//??????none
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//??????????
	USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;     
  USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low;      
  USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge;      
  USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable;
  USART_ClockInit(USART1, &USART_ClockInitStructure);
  USART_Init(USART1, &USART_InitStructure);
  USART_Cmd(USART1, ENABLE);
	USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
  USART_Cmd(USART1, ENABLE);

  /* Configure four bit for preemption priority */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
  /* Enable the USART1 Interrupt */
  NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

void USART_SendStr(char *str)
{
   while((*str)!='\0')
{USART_SendData(USART1,*str++);
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
}
}

char strcmp(char *S,char *C,char LEN)
{ char count;
  for(count=0;count<LEN;count++)
  {
	  if(S[count]!=C[count])
		  {return 0;}
  }
  return 1;
}

void commcmp(char *S,char LEN)
{ 
		unsigned char flag=0;
	int i,j;
	char ge=0,shi=0,temp;
		temp=1;
	  GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
	
	while(1){
		shi=temp/10;  
   ge=temp%10;

if(temp==100)
		temp=0;
	
 if(LEN!=7)
 {USART_SendStr("\r\n Erro input!!!\r\n");}

	 

		 
    	flag = strcmp(S,"time=01",7);
				if(flag==1){
					temp=1;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
					
			flag = strcmp(S,"time=02",7);
			if(flag==1){			
					temp=2;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
					}
         
				}
				
				
				flag = strcmp(S,"time=03",7);
				if(flag==1){
					temp=3;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
				}
					
			}
				
				
				flag = strcmp(S,"time=04",7);
				if(flag==1){
					temp=4;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
				
			flag = strcmp(S,"time=05",7);
				if(flag==1){
					temp=5;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
				
			flag = strcmp(S,"time=06",7);
				if(flag==1){
					temp=6;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
	
				
			flag = strcmp(S,"time=11",7);
				if(flag==1){
					temp=11;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
				
			
						flag = strcmp(S,"time=25",7);
				if(flag==1){
					temp=25;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
			
					
			
				flag = strcmp(S,"time=37",7);
				if(flag==1){
					temp=37;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
			
					
			
			
				flag = strcmp(S,"time=48",7);
				if(flag==1){
					temp=48;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
			
					
			
				flag = strcmp(S,"time=53",7);
				if(flag==1){
					temp=53;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
			
					
			
				flag = strcmp(S,"time=67",7);
				if(flag==1){
					temp=67;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
			
						flag = strcmp(S,"time=99",7);
				if(flag==1){
					temp=99;
					shi=temp/10;  
         ge=temp%10;
					while(1){
         GPIO_SetBits(GPIOB,GPIO_Pin_15);  
              GPIO_ResetBits(GPIOB,table[shi]);  
          delay_ms(10);  
            GPIO_ResetBits(GPIOB,GPIO_Pin_15);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);  
              
             GPIO_SetBits(GPIOB,GPIO_Pin_1);  
              GPIO_ResetBits(GPIOB,table[ge]);  
  
          delay_ms(10);  
                GPIO_ResetBits(GPIOB,GPIO_Pin_1);  
           GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); 
			}
					
			}
			
					
			
				} 
    	 
			}


void input_ASK()
{	char j;
	commcmp(rx_buff,rx_buff_count);
	 rx_buff_count=0;
	  for (j=0;j<rx_buff_count;j++)
		  {rx_buff[j]='\0';}
	USART_SendStr("\n>");
}

int main(void)
{ 
		
	unsigned char flag;
	RCC_Configuration();
	GPIO_INIT();
  USART_int(9600);
	USART_SendStr("SyStem booting......\r\n");
	USART_SendStr("\n>");
 while(1){}       
}


void USART1_IRQHandler(void) 
{ 

  while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)
  { 
  } 
if(USART_ReceiveData(USART1)==0x0d)
{input_ASK();}
else
{
USART_SendData(USART1,USART_ReceiveData(USART1));
rx_buff[rx_buff_count]= USART_ReceiveData(USART1);
	rx_buff_count++;
}
  USART_ClearFlag(USART1, USART_FLAG_RXNE);

}

 


菜鸟
2014-12-04 09:39:35     打赏
10楼
昨天晚上KEIL突然出问题,卸载了,没来得及重装。

共16条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]