这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 漓东e学堂 » 24号的作业本KEIL 的安装

共13条 2/2 1 2 跳转至
菜鸟
2014-12-25 23:14:30     打赏
11楼
  1. #include "stm32f10x.h"    
  2. #include "stm32_eval.h"    
  3. #include     
  4. #include "spi_flash.h"    
  5. #define VREF 3.3    
  6.     
  7. void delay_us(u32 n)    
  8. {    
  9.     u8 j;    
  10.     while(n--)    
  11.     for(j=0;j<10;j++);    
  12. }    
  13.     
  14. void  delay_ms(u32 n)    
  15. {    
  16.     while(n--)    
  17.     delay_us(1000);    
  18. }    
  19.     
  20.     
  21. #define TxBufferSize1   (countof(TxBuffer1) - 1)    
  22. #define RxBufferSize1   (countof(TxBuffer1) - 1)    
  23. #define countof(a)      (sizeof(a) / sizeof(*(a)))    
  24. #define  BufferSize (countof(Tx_Buffer)-1)    
  25. typedef enum { FAILED = 0, PASSED = !FAILED} TestStatus;    
  26. #define  FLASH_WriteAddress     0x00000    
  27. #define  FLASH_ReadAddress      FLASH_WriteAddress    
  28. #define  FLASH_SectorToErase    FLASH_WriteAddress    
  29. #define  sFLASH_ID              0xEF3015     //W25X16    
  30. //#define  sFLASH_ID              0xEF4015   //W25Q16    
  31. #define buff_size  16;         
  32. char rx_buff[],rx_buff_count=0;    
  33. /* ???????? */    
  34. uint8_t Tx_Buffer[4096] ;    
  35. uint8_t Rx_Buffer[BufferSize];    
  36. __IO uint32_t DeviceID = 0;    
  37. __IO uint32_t FlashID = 0;    
  38. __IO TestStatus TransferStatus1 = FAILED;    
  39.     
  40. // ??????    
  41. void Delay(__IO uint32_t nCount);    
  42. TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength);    
  43.     
  44. /** @addtogroup STM32F10x_StdPeriph_Examples  
  45.   * @{  
  46.   */    
  47.     
  48. /** @addtogroup EXTI_Config  
  49.   * @{  
  50.   */     
  51.     
  52. /* Private typedef -----------------------------------------------------------*/    
  53. /* Private define ------------------------------------------------------------*/    
  54. /* Private macro -------------------------------------------------------------*/    
  55. /* Private variables ---------------------------------------------------------*/    
  56. GPIO_InitTypeDef   GPIO_InitStructure;    
  57. USART_InitTypeDef USART_InitStructure;    
  58. USART_ClockInitTypeDef USART_ClockInitStructure;    
  59.     
  60. char *int_to_string(int number,char *strnum)//整形数据转换为字符型    
  61. {    
  62. int j=0,i=0,n=0;    
  63. char temp;    
  64. while(number>0)    
  65. {    
  66. *(strnum+j)=number%10+48;    
  67. j++;    
  68. number=number/10;    
  69. n++;    
  70. }    
  71.     
  72.         
  73. for(i=0;iLibraries->Small printf   
  74.      set to 'Yes') calls __io_putchar() */    
  75.   #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)    
  76. #else    
  77.   #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)    
  78. #endif /* __GNUC__ */    
  79.       
  80.     
  81.     
  82. /**  
  83.   * @brief  Retargets the C library printf function to the USART.  
  84.   * @param  None  
  85.   * @retval None  
  86.   */    
  87. PUTCHAR_PROTOTYPE    
  88. {    
  89.   /* Place your implementation of fputc here */    
  90.   /* e.g. write a character to the USART */    
  91.   USART_SendData(EVAL_COM1, (uint8_t) ch);    
  92.     
  93.   /* Loop until the end of transmission */    
  94.   while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET)    
  95.   {}    
  96.     
  97.   return ch;    
  98. }    
  99.     
  100. #ifdef  USE_FULL_ASSERT    
  101.     
  102. /**  
  103.   * @brief  Reports the name of the source file and the source line number  
  104.   *         where the assert_param error has occurred.  
  105.   * @param  file: pointer to the source file name  
  106.   * @param  line: assert_param error line source number  
  107.   * @retval None  
  108.   */    
  109. void assert_failed(uint8_t* file, uint32_t line)    
  110. {     
  111.   /* User can add his own implementation to report the file name and line number,  
  112.      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */    
  113.     
  114.   /* Infinite loop */    
  115.   while (1)    
  116.   {    
  117.   }    
  118. }    
  119.     
  120. #endif  

 


菜鸟
2014-12-25 23:25:08     打赏
12楼
  1. #include "stm32f10x.h"       
  2. #include "stm32_eval.h"       
  3. GPIO_InitTypeDef GPIO_InitStructure;    //??GPIO???    
  4.     
  5. NVIC_InitTypeDef  NVIC_InitStructure;    
  6. USART_InitTypeDef  USART_InitStructure;     
  7. USART_ClockInitTypeDef  USART_ClockInitStructure;     
  8.     
  9. #define buff_size  16;         
  10. char rx_buff[],rx_buff_count=0;    
  11.     
  12. /*???? ??*/      
  13. void delay_us(u32 n)       
  14. {       
  15.     u8 j;       
  16.     while(n--)       
  17.     for(j=0;j<10;j++);       
  18. }       
  19. /*???? ??*/      
  20. void  delay_ms(u32 n)       
  21. {       
  22.    while(n--)       
  23.     delay_us(1000);       
  24. }     
  25.     
  26. void RCC_Configuration(void)       
  27. {       
  28.     RCC_DeInit();       
  29.     RCC_HSICmd(ENABLE);       
  30.     while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);       
  31.     RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);       
  32.     RCC_HSEConfig(RCC_HSE_OFF);       
  33.     RCC_LSEConfig(RCC_LSE_OFF);       
  34.     RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); //  72HMz       
  35.     RCC_PLLCmd(ENABLE);       
  36.     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);       
  37.     RCC_ADCCLKConfig(RCC_PCLK2_Div4);       
  38.     RCC_PCLK2Config(RCC_HCLK_Div1);       
  39.     RCC_PCLK1Config(RCC_HCLK_Div2);       
  40.     RCC_HCLKConfig(RCC_SYSCLK_Div1);       
  41.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);       
  42.     while(RCC_GetSYSCLKSource() != 0x08);       
  43.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);       
  44.     GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);    
  45.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;       
  46.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;       
  47.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;       
  48.     GPIO_Init(GPIOD, &GPIO_InitStructure);       
  49.     GPIO_ResetBits(GPIOD,GPIO_Pin_2);                      //?????    
  50. }     
  51.     
  52. void USART_SendStr(char *str)      //???????    
  53. {    
  54.    while((*str)!='\0')             //???????    
  55.         {USART_SendData(USART1,*str++);    
  56.         while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);    
  57.         }    
  58. }    
  59.     
  60. void USART_int(long BaudRate)       //USART??    
  61. {    
  62.       RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE);//??PA?USART1    
  63.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;               //PA^9??TX_D1    
  64.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;    
  65.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;          //??????    
  66.     GPIO_Init(GPIOA, &GPIO_InitStructure);    
  67.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;               //PA^10??RX_D1    
  68.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;     //????    
  69.     GPIO_Init(GPIOA, &GPIO_InitStructure);    
  70.     
  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);           //???USART1??         
  82.     USART_Init(USART1, &USART_InitStructure);                    //???USART1    
  83.     USART_Cmd(USART1, ENABLE);     
  84.       USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);    
  85.     USART_Cmd(USART1, ENABLE);    
  86.      
  87.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);       //??4????    
  88.         NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;     //??USART1????    
  89.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15;    
  90.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;    
  91.         NVIC_Init(&NVIC_InitStructure);                       //?????    
  92. }    
  93.     
  94. void GPIO_INIT()       
  95. {      
  96.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);  //RCC_APB2Periph_GPIOC  ??GPIOX???      ENABLE\DISABLE   ??or??      
  97.     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;//??:????PC^0-7       
  98.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //??:????    
  99.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //??:Out_PP????,????,??           
  100.     GPIO_Init(GPIOC, &GPIO_InitStructure);      
  101. }    
  102.     
  103. unsigned int my_atoi(char* pstr) //???:????????    
  104. {       
  105.       int s = 0;      
  106.         while(*pstr != '\0')        //??????????????    
  107.         {    
  108.                 if(*pstr >= '0' && *pstr <= '9')  //????????0-9???    
  109.                 {      
  110.                         s = s * 10 + *pstr - '0';       
  111.                 }      
  112.                 pstr++;    
  113.         }           
  114.     return s;     
  115. }     
  116.     
  117.     
  118.     
  119.     
  120.     
  121. int main()      
  122. {                               
  123.         RCC_Configuration();    
  124.       GPIO_INIT();     
  125.         USART_int(9600);    
  126.         USART_SendStr("Please input like: data=\r\n");    
  127.         USART_SendStr("\n>");    
  128.         while(1){    
  129.                 }    
  130. }    
  131.     
  132. void USART1_IRQHandler(void)     
  133. {     
  134.   while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)    
  135.   {     
  136.   }     
  137.         
  138.   USART_ClearFlag(USART1, USART_FLAG_RXNE);    
  139.     
  140. }  

高工
2015-01-06 21:33:13     打赏
13楼
有待提高和深入啊

共13条 2/2 1 2 跳转至

回复

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