上篇教程中我们学习了如何将系统时钟设置为内置RC振荡器。不会的朋友参考上篇教程STM8开拓教程03 - 如何将系统时钟配置为内置RC震荡(寄存器版),本次我们利用库函数来实现同样的功能,同时开一个外挂:利用代码自动天生器来完成配置事情。
配置库函数开拓模板
打开之前我们天生的库函数开拓模板。
时钟配置干系外设库函数在“stm8s_clk.c”和“stm8s_clk.h”中,我们须要在main.c文件中添加以下代码
#include \公众stm8s_clk.h\"大众
这样便可以调用时钟配置干系的函数了。
代码自动天生器的利用打开代码自动天生器,找到时钟管理栏目,展开,选中须要的功能,右侧会涌现干系选项和函数先容。
关闭外部高速振荡器
选中“启用或关闭外部高速振荡器”右侧会涌现干系选项,我们选择关闭,然后点击右下角复制,底下栏目便会天生干系代码。
设置内部高速时钟分频为1分频
内部高速时钟为16MHZ的RC振荡器,我们设置为不分频(1分频)
设置CPU时钟为1分频
设置CPU时钟不分频,即也为16MHZ频率
开启内部高速时钟
等待内部高速时钟就绪选中“获取时钟状态”选项,右侧选中“内部高速振荡器就绪标志位”,点击复制,会涌现干系函数。此函数返回值有两个,RESET和SET。返回值为SET的话,便解释内部高速时钟就绪。
代码须要轻微改一下。
//等待内部高速时钟准备就绪 while (!CLK_GetFlagStatus(CLK_FLAG_HSIRDY)) ;添加代码
将最下方代码天生栏目里面的代码复制到main函数里,并添加注释,如下
此时我们的时钟配置便完成。
代码编译点击编译按钮,工程便会编译全部文件,会有一些警告,不用管再次编译,就会消逝。
末了再将时钟配置干系代码放到一个system_clock_initial函数中,在主函数中调用,便于开拓者能够理清程序条理。把稳语法别忘却声明。
本文开拓浸染的工程模板来自前期一篇教程STM8开拓教程02 - 利用库函数快速搭建IAR的开拓模板,不会的朋友可以先看一下这篇教程。
资料领取干系须要上述工程文档、代码天生器和手册资料的朋友可以点赞转发后,私信将邮箱发我,并注明须要的资料,我将统一利用邮箱发放。有问题的朋友也可以下方留言或者私信咨询