这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 漓东e学堂 » STM32部分窜口代码

共2条 1/1 1 跳转至

STM32部分窜口代码

菜鸟
2014-11-20 23:05:32     打赏

  1. #include "stm32f10x.h"    
  2. #include "stm32_eval.h"    
  3. #include    "stdio.h"    
  4.     
  5. #define buff_size  16;     
  6.     
  7. GPIO_InitTypeDef GPIO_InitStructure;    
  8. char rx_buff[],rx_buff_count=0;    
  9.     
  10. void RCC_Configuration(void)    
  11. {    
  12.   RCC_DeInit();    
  13.         
  14.   RCC_HSICmd(ENABLE);    
  15.   while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);    
  16.       
  17.   RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);    
  18.       
  19.   RCC_HSEConfig(RCC_HSE_OFF);    
  20.   RCC_LSEConfig(RCC_LSE_OFF);    
  21.   RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); //  72HMz    
  22.   RCC_PLLCmd(ENABLE);    
  23.   while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);    
  24.   RCC_ADCCLKConfig(RCC_PCLK2_Div4);    
  25.   RCC_PCLK2Config(RCC_HCLK_Div1);    
  26.   RCC_PCLK1Config(RCC_HCLK_Div2);    
  27.   RCC_HCLKConfig(RCC_SYSCLK_Div1);    
  28.   RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);    
  29.   while(RCC_GetSYSCLKSource() != 0x08);    
  30.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);    
  31.  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//disable JTAG    
  32.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;    
  33.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    
  34.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    
  35.   GPIO_Init(GPIOD, &GPIO_InitStructure);    
  36.     GPIO_ResetBits(GPIOD,GPIO_Pin_2);    
  37. }    
  38.     
  39. void GPIO_INIT()    
  40. {    
  41.      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);    
  42.      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;    
  43.      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    
  44.      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    
  45.      GPIO_Init(GPIOC, &GPIO_InitStructure);    
  46.     GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);    
  47. }    
  48. void delay_us(u32 n)    
  49. {    
  50.     u8 j;    
  51.     while(n--)    
  52.     for(j=0;j<10;j++);    
  53. }    
  54. void  delay_ms(u32 n)    
  55. {    
  56.     while(n--)    
  57.     delay_us(1000);    
  58. }    

  59. void USART_int(long BaudRate)    
  60. { USART_InitTypeDef USART_InitStructure;    
  61.     USART_ClockInitTypeDef USART_ClockInitStructure;    
  62.      NVIC_InitTypeDef NVIC_InitStructure;    
  63.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE);    
  64.        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;    
  65.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;    
  66.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;     
  67.     GPIO_Init(GPIOA, &GPIO_InitStructure);    /* PA10 USART1_Rx  */    
  68.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;    
  69.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;    
  70.     GPIO_Init(GPIOA, &GPIO_InitStructure);        
  71.   USART_InitStructure.USART_BaudRate = BaudRate;//??????    
  72.   USART_InitStructure.USART_WordLength = USART_WordLength_8b;//???????8bit    
  73.   USART_InitStructure.USART_StopBits = USART_StopBits_1;//????1    
  74.   USART_InitStructure.USART_Parity = USART_Parity_No;//????    
  75.   USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//??????none    
  76.   USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//??????????    
  77.     USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;         
  78.   USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low;          
  79.   USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge;          
  80.   USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable;    
  81.   USART_ClockInit(USART1, &USART_ClockInitStructure);    
  82.   USART_Init(USART1, &USART_InitStructure);    
  83.   USART_Cmd(USART1, ENABLE);    
  84.     USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);    
  85.   USART_Cmd(USART1, ENABLE);    
  86.     
  87.   /* Configure four bit for preemption priority */    
  88.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);    
  89.   /* Enable the USART1 Interrupt */    
  90.   NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //    
  91.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15;    
  92.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;    
  93.   NVIC_Init(&NVIC_InitStructure);    
  94. }    
  95.     
  96. void USART_SendStr(char *str)    
  97. {    
  98.    while((*str)!='\0')    
  99. {USART_SendData(USART1,*str++);    
  100. while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);    
  101. }    
  102. }    
  103.     
  104. char strcmp(char *S,char *C,char LEN)    
  105. char count;    
  106.   for(count=0;count
  107.   {    
  108.       if(S[count]!=C[count])    
  109.           {return 0;}    
  110.   }    
  111.   return 1;    
  112. }

高工
2014-11-21 15:12:53     打赏
2楼

就这?

注释呢?

结果呢?


共2条 1/1 1 跳转至

回复

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