









1. @file GPIO/IOToggle/main.c
2. * @author MCD Application Team
3. * @version V3.5.0
4. * @date 08-April-2011
5. * @brief Main program body.
6. ******************************************************************************
7. * @attention
8. *
9. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
11. * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
12. * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
13. * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
14. * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15. * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
16.
1. /* Includes ------------------------------------------------------------------*/
2. #include "stm32f10x.h"
3. #include "stm32_eval.h"
4. GPIO_InitTypeDef GPIO_InitStructure;//定义了一个初始化结构体,其中包括端口引脚、速度、模式
5.
6. void RCC_Configuration(void)
7. {
8. RCC_DeInit();
9.
10. RCC_HSICmd(ENABLE);//时钟使能配置
11. while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);//检查制定的RCC标志位设置与否
12.
13. RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);//时钟源相关配置
14.
15. RCC_HSEConfig(RCC_HSE_OFF);
16. RCC_LSEConfig(RCC_LSE_OFF);
17. RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); // 72HMz
18. RCC_PLLCmd(ENABLE);//使能PLL
19. while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
20. RCC_ADCCLKConfig(RCC_PCLK2_Div4);
21. RCC_PCLK2Config(RCC_HCLK_Div1);//设置高速AHB时钟
22. RCC_PCLK1Config(RCC_HCLK_Div2);//设置低速AHB时钟
23. RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置AHB时钟
24. RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
25. while(RCC_GetSYSCLKSource() != 0x08);//PLL作为系统时钟
26. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);
27. GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//disable JTAG
28. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;//选择配置的引脚
29. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
30. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
31. GPIO_Init(GPIOD, &GPIO_InitStructure);
32. GPIO_ResetBits(GPIOD,GPIO_Pin_2);
33. }
34.
35. void GPIO_INIT()
36. {
37. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
38. 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;//选择PIN0-PIN7
39. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
40. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//引脚推拉输出
41. GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化
42. }
43.
44. void delay_us(u32 n)
45. {
46. u8 j;
47. while(n--)
48. for(j=0;j<10;j++);
49. }
50.
51. void delay_ms(u32 n)
52. {
53. while(n--)
54. delay_us(1000);
55. }
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 |