推荐阅读最新更新时间:2024-03-16 15:14
STM32CubeMX | 35-使用硬件FSMC驱动TFT-LCD屏幕
本篇详细的记录了如何使用STM32CubeMX配置 STM32f407ZGT6 的硬件FSMC外设驱动TFT-LCD屏幕。 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32F407ZGT6的开发板。 TFT-LCD 开发板底板接正点原子4.3寸TFT-LCD。 2. STM32 FSMC外设概述 2.1. 什么是FSMC FSMC全称 Flexible static memory controller,灵活的静态内存控制器,顾名思义,其主要作用是:负责向外部扩展的存储类设备提供控制信号。 FSMC内存控制器支持的存储设备有: Nor Flash、SRAM、PSRAM Nan
[单片机]
STM32中使用printf打印串口数据
摘要 该方法适用于STM32,实现了使用printf等标准C流函数输出数据的办法,极大的减少了输出串口数据时所需要做的数据处理。 实现原理 在C库中,printf()等输出流函数都是通过fputc()这个函数实现的,所以我们通过重映射的方式,修改这个函数的定义使它输出在STM32的寄存器中,便可以实现使用printf()函数在STM32串口上输出数据的功能。 Keil环境 重映射 在STM32的Keil开发环境中,C的库函数有两种实现方式 使用标准的C函数库 就是我们平常在PC Window平台上用的C库函数,此库的的优点在于实现的功能全面。但是由于这个库基本上是专为PC设计的,故而如果在嵌入式芯片中调用时将会使得工
[单片机]
嵌入式案例 用RT-Thread和STM32实现机器人驱动控制模型算法
概述
机器人运动系统式一套高复杂性、高性、驱动力小于机体物理自由度的非线性系统,为了实现机器人在空间中稳定的运动姿态控制,本设计把机器人运动系统在空间中的运动形式等效成了旋转倒立摆模型,基于该模型的运动特点,分别设计了速度闭环控制算法和角度闭环控制算法,通过双闭环控制算法来实现对空间中旋转倒立摆的稳定控制。
开发环境
:该设计硬件依托于ART-开发平台,主控芯片采用H750高性能单片机,同时采用TB6612芯片作为旋转倒立摆的核心动力驱动,采用霍尔作为速度采集,采用高精度作为摆臂角度采集传感器,采用屏幕来进行参数的显示,与实时调整。
RT-Thre版本:RT-Thread版本采用4.0.2
开发工具及版本:m
[机器人]
如何构建STM32单片机keil的开发环境
新建工程 工程名设为stm32_demo,选择芯片型号为STM32F103B,如图, 因为下载的STM32库中有启动代码,所以这里选择“否”,不拷贝启动代码。 在工程文件下,新建Startup、Headers、User、Libraries、CMSIS、Lists、Output文件夹。 文件夹 用途 Startup 启动文件,Flash在16~32Kb小容量,64~128Kb中容量,256~512Kb大容量 CMSIS Cortex微控制器软件接口标准文件,该目录下文件适用所有Cortex系列 Libraries 存放STM32的驱动库文件 Headers 自定义的全局头文件 User 用户文件,我们把main.c放在该目录
[单片机]
STM32 PA6引脚输出低电平不正常的问题
1、软件环境:Keil uv5.15 2、硬件环境:STM32F103C8T6 最小系统 在一个项目中需要用到STM32 的PA6引脚,发现工作异常。由于是自己做的最小系统,所以检查了芯片引脚,并没有发现虚焊、或者跟其他引脚连在一起的情况,初步判断是单片机或者程序的问题,硬件电路应该没有问题,硬件电路如下所示。 手工做的板子,电路还在调试,还没来得及清洁,所以有点脏。拿出示波器观察波形输出 从示波器可以看出,PA6引脚输出低电平无法到0v,而是2.1v左右。查看引脚初始化代码如下 void gpioInit() { GPIO_InitTypeDef g; RCC_APB2PeriphClockCmd(R
[单片机]
STM32 IIC 详解 之 stm32 IIC 从机模式
1、IIC简介 第二节代码会用到该部分内容,对于IIC来说,从机是不能主动发送数据的,开始条件都是由主机生成。 1.1、主机发送数据流程 1) 主机在检测到总线为“空闲状态”(即 SDA、SCL 线均为高电平)时,发送一个启动信号“S”,开始一次通信的开始 2) 主机接着发送一个命令字节。该字节由 7 位的外围器件地址和 1 位读写控制位 R/W组成(此时 R/W=0) 3) 相对应的从机收到命令字节后向主机回馈应答信号 ACK(ACK=0) 4) 主机收到从机的应答信号后开始发送第一个字节的数据 5) 从机收到数据后返回一个应答信号 ACK 6) 主机收到应答信号后再发送下一个数据字节 7) 当主机发送
[单片机]
STM32HAL库使用DAC输出任意指定电压
1-uart.c实现重定向,记得包含stdio.h int fputc(int ch,FILE* f) { uint8_t temp ={ch}; { HAL_UART_Transmit(&huart1,temp,1,2); } return HAL_OK; } 2-启动DAC转换 HAL_DAC_Start(&hdac1,DAC1_CHANNEL_2);//启动DAC转换 3-编写测试函数 //如果按键1按下 if(HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin)==GPIO_PIN_RESET) { HAL_Delay(100); i
[单片机]
史上最全STM32调试步骤!
STM32调试步骤 调试前,首先跳线J9的2-3脚短接,跳线J4的右边两个脚短接,跳线J5短接,J8短接,J2的1-2短接,3-4短接。 将Jlink与学习板,USB延长线与学习板,串口延长线与学习板(或者USB转串口线与学习板)连接起来,这时LED灯LED5,LED6都应该点亮,如果不亮,说明板子有问题。 打开串口助手,按照如下设置: 1、从桌面打开J-Flash ARM V4.02如图所示。 也可以按照如下顺序打开J-Flash ARM 。 “开始à程序àSEGGERàJ-Link ARM V4.02àJ-Flash ARM”,如下图所示。 2、打开J-Flash ARM后,先进行芯片选项设置,打开Optionsà
[单片机]