STM32
文章平均质量分 52
创客阿蛋
学的越多,就越发现自己的无知
展开
-
【C语言】指针函数与函数指针、数组函数
指针函数和函数指针是开发中经常混淆的一个概念。还有传说中少见的数组函数!原创 2022-06-07 15:21:06 · 246 阅读 · 0 评论 -
【STM32】stm32驱动TB6600控制42/57步进电机的案例(TIM中断和PWM实验)
步进电机的简单使用接线:TB6600驱动盒的详细说明:程序设计:工程文件:做毕业设计要用到57步进电机,所以花了两天时间做了一下电机函数从淘宝查的资料:接线如图:接线:DIR- && PUL- 接 单片机GNDDIR+ 接 PA1PUL+ 接 PA0驱动盒TB6600 VCC 24V驱动盒TB6600 GND 24V的GND我测出来的 A组(绿+蓝- ) B组(黄+红-)如何确定AB两组看这个:关于42步进电机驱动——基于STM32 HAL库实现原创 2021-11-23 15:23:52 · 11287 阅读 · 23 评论 -
【笔记】stm32tim定时器AutoReload和pwm输出Pulse的关系
参考文章:我的文章我的文章2PWM输出(呼吸灯)老是理不清定时器的自动重装载和PWM通道Pulse的关系先说PSC和AutoReload的关系PSC是预分频ST32F103频率可以上到72M举个例子:72000000/72=1M1/1M=1/1000000=0.000001秒预分配会影响自动重装载的计数速度比如上面计算的,他可以0.000001s计一个数当计到AutoReload的值时,就会产生一个中断/*中断回调函数*/pwm的脉冲数Pulse:在AutoReload原创 2021-11-22 16:16:05 · 5277 阅读 · 1 评论 -
【ESP8266+STM32】获取B站粉丝数,并在STM32屏上显示出来(物联网小项目)
今天发现应该视频,可以获取b站粉丝数:小熊派视频esp8266的AT指令:这里是引用ESP8266 使用 AT 指令测试 HTTP 协议1、AT+RST功能:重启模块2、AT+CWMODE=1功能:设置为 Station 模式(接收模式)3、AT+CWLAP功能:列出当前搜索到的所有 WiFi4、AT+CWJAP=“adan”,“88888888”功能:配置 AP 参数(指令只有在 AP 模式开启后有效)ssid:接入点名称pwd:密码5、AT+CIFSR功能:查看本模块的原创 2021-11-17 23:19:39 · 3715 阅读 · 0 评论 -
【笔记】文本数据格式解析
不做解释,自己悟uint8_t data[500] = "HTTP/1.1 200 OK\r\n\Date: Tue, 16 Nov 2021 17:55:33 GMT\r\n\Content-Type: application/json; charset=utf-8\r\n\Content-Length: 109\r\n\Connection: keep-alive\r\n\Bili-Status-Code: 0\r\n\Bili-Trace-Id: 2860ba1fc66193f0\r\n原创 2021-11-17 20:35:21 · 711 阅读 · 0 评论 -
【STM32】串口接收任意字符串
目录前言cube配置usart.h:usart.cmain:效果前言之前写了一篇STM32hal库串口中断接收任意字符实际上是不完美的,他接收到换行符就完蛋了。花了点时间深入研究了一下hal库的串口中断函数,发现他其实是不完美的,有一些BUG。所以查了资料,找了很久,才找到这个博主的文章:STM32CubeMX5.1.0使用教程,以STM32L431为例(三):串口通信cube配置设置串口波特率和中断生成工程文件,去hal库的 "stm32l4xx_it"里注释掉串口中断函数(官方有原创 2021-11-16 18:12:50 · 18075 阅读 · 1 评论 -
字符转整型STM32史上最短 字符转整形 简简单单
一直奇怪为什么stm32处理数据那么麻烦,要指针数组判断等等跳来跳去的。直到今天,我发现了#include “string.h”#include “stdlib.h”!!!那我就可以两句话搞定我的数据了!!!而不是像之前那样子那么麻烦了:STM32字符转整型处理’stm32c语言字符转正型,并且进行数据分割#include "string.h"#include "stdlib.h"u8 DATA[200]="X12Y34Y56Y78";int shuju_chuli(const ch原创 2021-11-03 17:25:22 · 823 阅读 · 1 评论 -
基于STM32的实验室点灯大师
/* USER CODE BEGIN Header *//** ****************************************************************************** * @file : main.c * @brief : Main program body *********************************************************************..原创 2021-09-23 17:08:50 · 393 阅读 · 0 评论 -
基于STM32的超声波测距
基于STM32的超声波测距超声波介绍时序图:cube配置设置定时器超声波介绍工作原理:时序图:cube配置用引脚PB8 PB9可以自己改时钟选择72M外部晶振的设置定时器定时时间 = (Prescaler+1)× (Counter +1)/ 定时器时钟频率例如,定时时间为 1ms,可设置Prescaler = 72-1;Counter = 1000 - 1;(TIM2时钟频率设置为72MHz)当然也可以用我们习惯的,72 000 000(72M)/ 72-1(Prescal原创 2021-09-23 16:22:47 · 7736 阅读 · 0 评论 -
STM32字符转整型处理
/* USER CODE BEGIN Header */ /* USER CODE END Header *//* Includes ------------------------------------------------------------------*/#include "main.h"#include "usart.h"#include "gpio.h"/* Private includes -----------------------------------------.原创 2021-09-19 01:22:44 · 541 阅读 · 0 评论 -
STM32hal库串口中断接收任意字符
cubeMCX设置:生成工程文件usart.c/** ****************************************************************************** * @file usart.c * @brief This file provides code for the configuration * of the USART instances. *********************原创 2021-09-06 03:17:17 · 2301 阅读 · 3 评论 -
STM32中0x1u 0u的含义
今天见到这种函数,查了一些他们的含义后缀就是告诉编译器该常数的属性。默认为有符号INT型,加了u就是无符号的,加了l就是long型。做下移位就知道结果了。以0x80为例,左移次数过多编译器会提示你符号位被改变,即负数被移位成正数。加个u的话就被编译器识别为无符号数,可以随意移位。不会影响符号位。例如:C语言里面0x8000000000000000u这样的常数一律默认为int型,不是什么字节。至于int型是4字节还是2字节那就是编译器的问题了。加u尾缀并不会扩展常数占用的字节数,加ul才会从int原创 2021-09-02 16:38:09 · 6927 阅读 · 0 评论 -
常见传感器分析及应用代码
将一些常用传感器及其使用方法做一下归类总结,存个草稿,有空再补充文章目录一、 电容式传感器二、 电感式传感器三、 光电式传感器四、光纤式传感器五、 霍尔传感器六、 温度传感器七、 电阻式传感器一、 电容式传感器常见的电容式传感器有电容式开关,电容屏等二、 电感式传感器常见的电感式传感器有接近开关三、 光电式传感器常见的光电式红外对管,激光测距模块四、光纤式传感器常见的光纤式传感器有光纤放大器,漫反射感应光电开关五、 霍尔传感器常见的光纤式传感器有霍尔电机编码器,小车测速模块六、 .原创 2021-09-02 11:03:26 · 1300 阅读 · 0 评论 -
STM32获取DHT11温湿度(单总线通信实验笔记)
笔记:原创 2021-08-30 03:20:14 · 4451 阅读 · 0 评论 -
STM32获取MPU6050数据
参考视频:https://www.bilibili.com/video/BV1Fy4y1t7mehttps://www.bilibili.com/video/BV1kx411k7JT?p=63效果图:接线:SDA–PB11SCL–PB10用正点原子的MPU6050案例库主函数改为:#include "led.h"#include "delay.h"#include "sys.h"#include "usart.h"#include "mpu6050.h"#include "in原创 2021-08-22 20:09:58 · 1514 阅读 · 3 评论 -
基于stm32的自平衡小车
文章目录引言1、系统概述1.1、设计任务1.2、设计要求2、方案设计与论证2.1、芯片选择方案2.2 、系统概述2.3、设计要求2.4、系统总体设计2.5、各功能模块程序实现原理分析2.5.1、MPU6050模块的介绍2.5.2、OLED12864显示屏2.5.3、LN298N电机驱动块3、单片机的选择及硬件设计介绍3.1、单片机选择3.2、电路设计4、系统程序4.1、主程序4.1.1主程序设计如下4.1.2主程序流程图4.2、主程序代码4.3、模块程序代码5、系统调试及分析5.1、系统调试5.2、调试现象原创 2021-08-22 17:24:45 · 11192 阅读 · 5 评论 -
无聊的盒子笔记(STM32控制舵机,外部输入实验)
前几天在B站看到一个无聊的盒子,觉得还挺好的,想自己做一个结果舵机力气太小 拉不动,项目就烂尾了(家境贫寒,买不起996r舵机和无刷电机)把代码和元器件分享出来,也算做个保存用到的东西主要有stm32 舵机 还有一个开关有条件的,舵机一定要买大力气一点的T.T或者买大力气的步进电机代码:STM32F103ZET6工程文件(基于正点原子,参考野火的视频,用到usamrt调试):#include "sys.h"#include "delay.h"#include "usart.h"原创 2021-08-14 02:37:22 · 966 阅读 · 2 评论 -
STM32串口蓝牙实验--蓝牙控制小灯
用的正点原子的串口模板#include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "usart.h"int main(void){ delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 uart_init(9600);原创 2021-08-06 13:00:03 · 1484 阅读 · 1 评论 -
print和wrint的区别
print转了字符串(在库里面)wrint就单纯的输出原始值 如 0x123456原创 2021-08-02 12:33:49 · 237 阅读 · 0 评论 -
DX-BT07S蓝牙调试问题记录
之前搞了BT18觉得提好的,感觉比传统的HC06,HC05抗干扰性强多了,这次又买了一个,调节一下,记录一下问题,怕忘了参考视频:BT18教程开始首先要想设置,就要先进入AT模式,很多人就是因为不会进入AT模式而愣愣的过来查我的资料- -+ 进入AT模式就是 EN引脚要接地我是用镊子短接的接下来打开串口,输入(空格和换行都要)AT+TEST 短接GND,然后发送,显示OK,证明测试没问题,开始看手册参考手册资料:链接:https://pan.baidu.com/s/1mU原创 2021-08-02 11:40:59 · 1492 阅读 · 1 评论 -
STM32HAL库ADC实验(三)——中断查询法
(模式:连续模式 非扫描模式)使能ADC全局中断参考视频 【STM32】超简单的开发方法-基础篇(ADC模数转换) https://player.bilibili.com/player.html?aid=715022775参考文章:https://blog.csdn.net/as480133937/article/details/99627062...原创 2021-07-24 01:37:42 · 2557 阅读 · 2 评论 -
STM32HAL库ADC实验(二)——连续采样模式打印电压值
int main(void){ /* USER CODE BEGIN 1 */ uint16_t adcData; float voltage; /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the.原创 2021-07-23 17:05:19 · 933 阅读 · 0 评论 -
STM32HAL库ADC实验(一)——阻塞查询法
参考文章实验现象生成代码:int main(void){ /* USER CODE BEGIN 1 */ uint16_t adcData; float voltage; /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flas原创 2021-07-23 16:47:10 · 859 阅读 · 0 评论 -
STM32HAL库控制TIM点亮led
参考视频是小熊派的开发板: 【STM32单片机学习】白嫖单片机教程——手把手带你学习STM32L系列单片机(HAL库) 首先要知道公式:定时器时间=1/(时钟频率/预分频/计数周期)然后了解定时器的时钟由谁供给,以STM32F103ZET6为例,查他的时钟总线资料,发现有APB1、APB2都有了解定时器的:由图可知,TIM2的时钟由APB1提供。简单来说 就是APB2提供高级原创 2021-07-21 17:08:16 · 385 阅读 · 2 评论 -
stm32读取电压HAL库版本
/* Private variables ---------------------------------------------------------*//* USER CODE BEGIN PV */uint16_t adc_value = 0;double voltage = 0.0;char voltString[50] = {0};/* USER CODE END PV *//* Private function prototypes -------------------..原创 2021-07-20 19:55:35 · 731 阅读 · 0 评论 -
STM32HAL库移植中景园库函数代码
为电赛做准备,随手练习移库,在监测电压的基础上,移植中景园的库到hal库里面视频参考这个: 0xA1-OLED-STM32CubeMx配置 I2C并移植OLED驱动程序(基于ssd1306) 说的特别棒!没基础看这个: 单片机stm32第14课(跨单片机移植tm1638程序)原创 2021-07-20 19:33:25 · 1064 阅读 · 0 评论