系统时钟总结:STM32F103外部8M的震荡器,经过倍频后最高可以达到72M,通过调用SystemInit()函数得到72M时钟。
SystemInit()函数包括:
系统时钟 72M:const uint32_t SystemFrequency = SYSCLK_FREQ_72MHz;
硬件频率:const uint32_t SystemFrequency_SysClk =SYSCLK_FREQ_72MHz;
AHB总线频率;const uint32_t SystemFrequency_AHBClk = SYSCLK_FREQ_72MHz;
APB1总线频率:const uint32_t SystemFrequency_APB1Clk = (SYSCLK_FREQ_72MHz/2);
APB2总线频率:const uint32_t SystemFrequency_APB2Clk = SYSCLK_FREQ_72MHz;
PS:1.Divl分频系数为1,仍是72M;Div2分频系数为2,为36M。
2.Mul_9倍频系数为9,即8*9=72,
带中断函数的程序的编写步骤:
1.复制运用修改工程模板
2.添加.c文件和.h文件
3.改写main.c
4.编写ppp.c
1>头文件:
系统时钟函数;
打开关键复用功能(AFIO);
结构体定义
2>调用改写先前的初始化函数(已含结构体)
将ppp管脚映射到外部中断线路上
3>编写外部中断初始化函数
结构体定义(添加在前面的结构体定义下)
调用函数
4>编写优先级配置
结构体定义(添加在前面的结构体定义下)
调用修改管脚
5.将函数添加到.h文件中
6.编写main.c
1>头文件
2>ppp初始化
3>外部中断初始化
4>功能函数,while.....)
7.在stm32f10x_it_c中添加中断入口函数