江协科技STM32F103基础

本文介绍了STM32单片机的基础知识,包括STM32的时钟管理策略、GPIO的位结构和中断配置、通用定时器与高级定时器的使用以及PWM波形的生成,重点强调了低功耗设计和外设资源的灵活配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.STM32简介

2.寄存器操作stm32

3.中断

4.定时器

5.PWM波形


1.STM32简介

1.1ARM

STM32外设非常多,但我们使用的时候只会用到有限的几个外设,使用任何外设都需要时钟才能启动,但并不是所有外设都需要系统时钟那么高的频率,如果都用高速时钟,势必造成浪费,并且,同一个电路,时钟越快功耗越快,同时电磁抗干扰能力也就越弱,所以较为复杂的MCU都是采用多时钟源的方法来解决这些问题,所以便有了STM32时钟树。

给相对独立的模块提供时钟,是为了降低整个芯片的功耗。

时钟是单片机运行的基础,时钟信号推动单片机各个部分执行相应的指令。

一个单片机内提供多个不同的时钟系统,可以适用更多应用场合。

不同功能模块会有不同时钟上限,提供不同时钟能在一个单片机内放置更多功能模块。

对不同模块时钟增加  开启和关闭功能,可以降低单片机功耗

STM32为了低功耗,它将所有的外设时钟都设置为不使能,用到什么外设,只要打开外设时钟就可以,所以不管你配置什么功能都需要打开对应的时钟。

片上资源,外设

### 关于科技 STM32 OLED 开发板 教程 示例代码 #### 使用STM32开发板与OLED显示屏的集成方法 为了实现STM32开发板与OLED显示屏的有效集成,需遵循一系列具体操作流程。首先,将STM32开发板通过USB线缆连接至个人计算机设备[^1]。随后,在PC端完成STM32CubeIDE或其他适用IDE工具包的安装工作;此过程确保所选环境支持目标硬件平台以及所需外设库文件。 对于特定型号如STM32F103系列微控制器而言,其与基于SSD1306驱动芯片构建而成的小尺寸图形液晶显示器之间存在广泛兼容性,并可通过IIC/SPI接口轻松建立通信链路[^3]。在此基础上编写应用程序时,则应考虑调用官方提供的HAL层函数集或第三方开源框架简化底层交互逻辑设计。 #### 编写并验证程序代码 当准备就绪之后,可以着手创建新工程项目并将预先获取到的OLED驱动源码片段嵌入其中。该部分通常涉及初始化SPI/I2C总线参数配置、定义字符映射表结构体变量等内容。编译完成后生成的目标镜像文件经由调试器烧录进MCU内部Flash存储空间内执行运行效果评估环节——即观察实际物理屏幕上能否正常呈现预期图案文字输出结果。 针对中文字符显示需求场景来说,由于单字占用较多像素资源故而推荐采用位图字体方案配合专用编码转换算法处理输入字符串序列后再送显卡渲染引擎解析绘制最终画面。 ```c // 初始化 I2C 接口用于通讯 void MX_I2C1_Init(void){ hi2c1.Instance = I2C1; hi2c1.Init.ClockSpeed = 100000; HAL_I2C_MspInit(&hi2c1); } // 配置 SSD1306 显示屏 void ssd1306_init(){ uint8_t cmd[]={ 0xAE, //关闭显示 ... 0xAF //打开显示 }; for(int i=0;i<sizeof(cmd);i++) ssd1306_write_command(cmd[i]); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值