- 博客(8)
- 收藏
- 关注
原创 STM32实战项目——平衡车基础篇2:电机驱动,编码器测速,蓝牙串口通信
计算时钟频率:f=10kHZ,设置PSC=0,ARR=7199。设置成7200使其满转,电机是520电机12V330转。PWM控制电机的速度。
2024-09-27 16:23:57
504
原创 STM32实战项目——平衡车基础篇1:GPIO输入输出,OLED显示,MPU6050读取角度,超声波模块测距
由于OLED无法显示浮点数,于是我们使用sprintf函数将浮点型变为字符串类型。定义了display_buf数组作为保存显示。原理如上图所示,我们将Trig接入PA2引脚,将Echo接入PA3中断引脚。设置成71的原因,便于计算最大测距,已满足模块规格。OLED:128*64规格,y与x不同,1代表8。3.MPU6050读取角度。
2024-09-26 21:27:12
511
原创 铁头山羊STM32HAL库学习—【时钟系统】基础知识,时钟配置实验
如下图所示时钟源有三个来源,分别为HSI,HSE,锁相环,锁相环由二分之一的HSI,HSE和二分之一的HSE组成。接着我们做两个实验:一个为默认的8M,另一个为拉满频率,分别作为延时函数,配合点亮LED来观察现象。以上是单片机的结构与PC结构的对比,通过这张图,能让我们对单片机的内部结构有着宏观整体的了解。以下为代码的实现,一个for语句的执行等于8次语句,8M等于每秒800w次指令。以下是时钟源与cubemx的时钟配置相对应,有助于我们理解时钟配置/以下为时钟源的分类,以及对应在芯片电路。
2024-09-25 13:44:44
337
原创 铁头山羊STM32HAL库学习—【I2C】基础知识,简单数据发送实验
以下为I2C的两个重要函数,一个是向从机写数据,一个是向从机读数据。本实验目的是激活OLED屏幕,并且读取OLED屏幕的状态,并取出其中一位数据来点亮PC13引脚的LED。以下为实验部分,此图为配置OLED,I2C的速度等级我们配置成快速模式。以下为电路图,PB6,PB7分别为单片机的SCL和SDA引脚。下图是分析I2C总线结构,利用上拉电阻实现逻辑线与的功能。STM32作为从机时,需要其他单片机做主机。以上为完成的传输过程,以下为举例说明。0x78为从机OLED的地址。
2024-09-24 18:18:51
546
原创 铁头山羊STM32HAL库学习—【UART】基础知识,简单数据发送实验,简单数据接收实验
接收一个字节时,定义的dataRcvd为变量,而十个字节时,为数组,可以直接作为地址。以下为UART接收函数部分,此部分将实现接收数据并控制LED灯。以下为传送函数的实际应用,需注意不同数据地址的形式。以下为UART的接收和发送引脚图。以上是UART的基础知识部分。以下是串口传送的常用函数。
2024-09-23 19:33:24
524
原创 铁头山羊STM32HAL库学习—【GPIO】四种输出模式,闪灯实验
推挽模式上下交替导通,开漏模式上管恒断,都断时为高阻抗状态,没有驱动能力。板载LED接法为开漏接法接在PC13号引脚。我们在PA9引脚外接一个LED使用推挽接法。通用表示直接控制,复用表示其它模式托管。
2024-09-23 16:12:03
515
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅