STM8入门:C语言开发与时钟系统设置详解
需积分: 12 22 浏览量
更新于2024-07-25
收藏 941KB PDF 举报
本文档是一篇关于STM8系列单片机C语言入门的指南,作者分享了自己的学习经验和遇到的问题。在STM8的开发环境中,开发过程通常涉及创建一个新的工程,其中包括两个主要的C语言文件:`main.c`和`stm8_interrupt_vector.c`。`main.c`初始时包含一个空的`main()`函数,这是程序的入口点。
在进行STM8的开发时,作者首先强调了电源系统和复位系统的设置,这两个部分作为STM8工作基础至关重要。电源系统通常包括一个104电容连接到reset脚以实现复位功能。复位系统仅需简单的电路即可实现。
文章的核心内容聚焦于时钟系统,因为无论是8位还是32位单片机,时钟管理都是编程的基础。作者起初的代码尝试通过以下步骤设置外部时钟:
1. 开启外部时钟 (`CLK_ECKR |= 0X1`)
2. 等待外部时钟准备就绪 (`while (!(CLK_ECKR & 0X2))`)
3. 保持CPU无分频 (`CLK_CKDIVR &= 0XF8`)
4. 选择外部时钟 (`CLK_SWR = 0XB4`)
5. 启用外部时钟 (`CLK_SWCR |= 0X2`)
然而,实际调试过程中,代码并不能稳定切换时钟,经过深入阅读STM8的RM0016文档,发现必须等待`CLK_SWCR`标志位置位,于是调整了代码:
- 在启用外部时钟前,增加一个等待循环 (`while (!(CLK_SWCR & 0X8))`)
此外,作者还提到了STM8的三种时钟源:HSE(外部时钟)、HSI(内部16MHz时钟),以及它们在单片机启动时的默认状态。由于STM8启动时默认使用内部时钟,理解并正确配置时钟系统对于确保程序运行的稳定性至关重要。
总结来说,本文档介绍了STM8开发中C语言的基本结构,以及如何处理时钟系统,特别是当遇到实际问题时如何通过查阅文档来解决问题的方法。这对于初学者了解STM8编程和调试技巧非常有帮助。
2015-05-17 上传
2023-06-28 上传
2023-05-25 上传
2023-05-15 上传
2023-05-25 上传
2023-05-26 上传
2023-06-10 上传
![](https://profile-avatar.csdnimg.cn/3554e262e1d544ed97a0a50f30150ec5_cumtguojp.jpg!1)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/user-vip.1c89f3c5.png)
cumtguojp
- 粉丝: 65
- 资源: 1
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据