STM32
佳佳鸽
这个作者很懒,什么都没留下…
展开
-
基于STM32F4开发板的简易照相机项目
项目要求:① 通过按键控制摄像头进行拍照,并将图像保存至SD卡② 通过按键控制浏览SD卡内的BMP图像,在LCD显示屏上显示③ 通过按键控制关机,关闭芯片内所有功能、关闭屏幕项目设计方案:① 开机默认打开摄像头,并在LCD显示实时图像,进入while循环等待按键按下。② 按下KEY1先关闭摄像头并进行引脚复用初始化,挂载SD卡,把转码后的图像数据存放到SD卡中,取消挂载SD卡,重新初始化摄像头并重启。③ 解决SD卡与摄像头引脚冲突问题。④ 按下KEY2先关闭摄像头并进行引脚复用初始化,挂载S原创 2020-11-05 20:58:54 · 2763 阅读 · 0 评论 -
STM32F4开发板BMP图像转码(编码)写入SD卡
具体代码及解析如下:BMP的编码:void save_bmp(int n) //拍照保存BMP图像到SD卡中{ FIL fp; FRESULT ret; char file_name[40] = "\0"; //BMP图像名称 unsigned int wsbyte = 0; int i,j; u16 color = 0; sprintf(file_name, "0:stm32_pic/photo%d.bmp", n); //拼接字符原创 2020-11-05 20:49:17 · 2024 阅读 · 0 评论 -
STM32F4开发板从SD卡内读出BMP图像转码(解码)并显示到LCD屏
具体代码及解析如下:BMP的解码:void show_bmp(char *fname,float a,float b) //显示BMP图像{ FIL fp; FRESULT ret; char SD_Readbuf[640] = {0}; unsigned int wsbyte = 0; char *filename; filename = strtok(fname,"\0"); int x; int i; unsigned char picH,picL; r原创 2020-11-05 20:48:26 · 2639 阅读 · 0 评论 -
STM32挂载Flash、SD卡,并向其写入内容
基于STM32F407ZE开发板,挂载FLASH、SD卡,并加载文件系统后的读写 ,文件打开、文件读写、文件关闭 、光标偏移等应用。输出结果:SD被写入文件内容1: 为FLASH, 0:为SD卡完整代码:https://download.csdn.net/download/weixin_43793181/13061396...原创 2020-10-27 17:11:04 · 1791 阅读 · 0 评论 -
STM32F407ZE开发板MPU6050陀螺仪的应用
STM32F407ZE开发板:①使用MPU6050的驱动实现陀螺仪遥控左倾:LED1亮右倾:LED2亮前倾:LED3亮后倾:LED4亮使用的是获取的欧拉角!!②做一个碰撞警告功能如果板子在一定速度的前提下 ,碰上障碍物 (速度锐减)蜂鸣器响,以示警告(用PWM让蜂鸣器的响度降低)用到了陀螺仪的加速度计运行串口输出:完整代码:https://download.csdn.net/download/weixin_43793181/13061247...原创 2020-10-27 17:10:07 · 1184 阅读 · 0 评论 -
STM32驱动陀螺仪MPU6050的应用实例
STM32F407ZE 驱动陀螺仪MPU6050的应用实例,实现如下功能:①使用MPU6050的驱动实现陀螺仪遥控左倾:LED1亮右倾:LED2亮前倾:LED3亮后倾:LED4亮使用的是获取的欧拉角!!②做一个碰撞警告功能如果板子在一定速度的前提下 ,碰上障碍物 ,速度锐减,蜂鸣器响,以示警告(请用PWM让蜂鸣器的响度降低)使用的是陀螺仪的加速度计!具体代码与解析如下:main.c部分#include <stm32f4xx.h>#include <math.h&原创 2020-10-23 21:41:28 · 7294 阅读 · 2 评论 -
STM32通过IIC写入、读取AT24C02数据
STM32F407ZE 通过IIC写入、读取AT24C02数据实现功能:①写入字符串 “helloworld!”②连续读函数读出这个helloworld!输出结果:具体代码及解释如下:main.c部分:#include <stm32f4xx.h>#include "systick.h"#include "AT24C02.h"#include "iic.h"#include <string.h>int main(){ u8 ReadBuf = 0; u原创 2020-10-23 21:22:01 · 6564 阅读 · 0 评论 -
STM32温湿度传感器读取温湿度数据并显示到PC端串口助手
STM32F407ZE使用温湿度传感器 (广州奥松) ,读取温湿度数据并显示到PC端串口助手实例输出结果:具体代码及解析如下:main.c部分:#include <stm32f4xx.h> #include "dht11.h"#include "ustart.h"#include <string.h>DHT11_Data_TypeDef DHT11_Data;int main(){ Systick_Init(); USART1_Init(); DHT1原创 2020-10-19 21:22:01 · 15209 阅读 · 10 评论 -
STM32使用延时控制LED灯亮暗变换,LED呼吸灯效果
STM32F407ZE 使用延时控制LED灯亮暗变换,实现LED呼吸灯效果具体代码如下:main.c部分#include <stm32f4xx.h> #include "sys.h"#include "led.h"#include "delay.h"#include "tim.h"int main(){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中断优先级分组 2分组 LED_Init();原创 2020-10-18 19:09:33 · 6550 阅读 · 2 评论 -
STM32重载printf()函数
printf()h函数重载后,还需要加入下图的修改项函数重载时,在自定义头文件中包含 stdio.h 文件,并加入以下重载函数int fputc(int ch, FILE *f) { /* 发送一个字节数据到串口 */ USART_SendData(USART1, (uint8_t) ch); //程序开始时,会发送一次数据,ch是系统分配的(可能是0),串口会显示大概两个空格的内容 /* 等待发送完毕 */ while (USART_GetFlagStatus(USART1, USART原创 2020-10-17 17:04:22 · 998 阅读 · 0 评论 -
STM32串口USART1接收字符串
STM32F407ZE开发板实现使用串口USART1接收、发送字符串实例具体代码及解析如下:main.c部分#include <stm32f4xx.h> #include "led.h"#include "ustart.h"#include <string.h>int main(){ LED_Init(); USART1_Init(); USART_SendString(USART1, "Hello world!\r\n"); while(1) {原创 2020-10-17 16:38:29 · 41880 阅读 · 24 评论 -
STM32通过串口发送接收PC端消息,并控制LED灯的亮灭
STM32F407ZE 通过串口发送接收PC端串口助手消息,并控制LED灯的亮灭具体代码解析如下:ustart.h部分#ifndef USTART_H#define USTART_H#include <stm32f4xx.h>#include <stm32f4xx_usart.h>#include "sys.h"#include "delay.h"void USART1_Init();void USART_SendString(USART_TypeDef* U原创 2020-10-17 11:39:09 · 22955 阅读 · 26 评论 -
STM32使用串口实现USART1发送字符串
STM32F407ZE 使用串口编程,实现函数能够通过USART1发送字符串,串口助手接收字符串运行结果:其中问题:①字符串换行问题: Linux : ‘\n’windows: ‘\r’ ‘\n’安卓: ‘\r’ ‘\n’因此在这个例子中,发送字符串时应在字符串后面加入\r\n,(“Hello world!\r\n”)②串口助手接收到的字符串缺少首字符问题:如下代码,加入第四行,意为发送字符前将标志位清空,因为一开始DataString就有一个’\0’,循环时就会跳过第一个原创 2020-10-17 10:16:36 · 32391 阅读 · 10 评论 -
STM32外部中断驱动按键,实现按键控制LED灯的开关
STM32F407ZE开发板外部中断驱动按键,实现按键控制LED灯的开关.main.c部分:#include <stm32f4xx.h> //该头文件作用和reg51.h是一样的#include "sys.h"#include "led.h"#include "key.h"#include "delay.h"int main(){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 2分组 LED_In原创 2020-10-13 17:44:01 · 5821 阅读 · 0 评论 -
STM32驱动按键和LED灯实时显示二进制值
基于STM32F407ZE开发板的驱动按键和LED灯实时显示二进制值应用实例:要求:①按键S1按下变量+1②按键S2按下变量-1③按键S3按下变量清零④LED实时显示这个变量的二进制值(变量的范围:0~15)⑤工程管理(函数封装)文件结构:main.c部分:#include <stm32f4xx.h>#include "sys.h"#include "LED/led.h"#include "KEY/key.h"#include "delay/delay.h"int原创 2020-10-12 19:55:19 · 3623 阅读 · 0 评论 -
STM32通过按键控制LED灯示例
STM32F407ZE 通过按键控制LED灯示例,要求:①按键按下 D1亮 按键松开 D1灭②按键按下一次 D1亮 按键再按下一次 D1灭 ----(按键每按下一次D1实现翻转)需要注意的是按键需用到延时消抖,延时时长按实际进行修改,检测按键按下与松开应该使用标志位等区分,如果只是通过读取按键返回值判断,在while循环里可能会对同一个LED灯多次操作。#include <stm32f4xx.h>void delay_ms(int ms) //延时函数{原创 2020-10-12 17:42:41 · 9574 阅读 · 1 评论 -
STM32LED灯闪烁、流水灯、驱动蜂鸣器(使用寄存器操作,对GPIO引脚进行初始化)
基于STM32F407ZE开发板LED灯闪烁(使用寄存器操作,对GPIO引脚进行初始化)使用官方函数对GPOI初始化的版本:https://blog.csdn.net/weixin_43793181/article/details/109008629#include <stm32f4xx.h>void delay_ms(int ms) //延时函数{ int i,j; for(i=0; i<ms; i++) for(j=0; j<10000;j++)原创 2020-10-11 10:53:38 · 2247 阅读 · 1 评论 -
STM32点亮流水灯、驱动蜂鸣器
基于STM32F407ZE开发板的点亮流水灯、驱动蜂鸣器LED原理图:蜂鸣器BEEP原理图:芯片原理图:①由LED原理图可知:4个LED灯对应的引脚分别为:LED0 、 LED1 、 FSMC_D10 、FSMC_D11②由蜂鸣器原理图可知:蜂鸣器对应的引脚为: BEEP③对照芯片原理图,找到对应的引脚:4个LED灯: PF9 — --- LED0PF10 — --- LED1PE13 — --- LED3PE14 — --- LED4蜂鸣器: PF8 — --- BEE原创 2020-10-11 10:39:46 · 2381 阅读 · 0 评论