XOR
EC11旋转编码器、stm32f103驱动程序
1、EC11手册的要点 注意:旋转的速度、RC滤波 手册中推荐的电路(已含有RC滤波): 输出波形特点: 2、硬件电路 加上RC滤波电路 做法是两个端点都采用10pF电容接地,10KΩ电阻接VCC。 实测100pF电容也行。 用示波器看看波形有无噪声 另外,看看不同旋转速度时的延时要求(具体见下面的 ......
【HAL】stm32F103 DAC+DMA+TIM6查表法产生正弦波
一、平台 二、配置 1、DAC的配置 输出缓冲Output Buffer建议关闭。DAC的输出缓存可以用来减小输出阻抗,无需外部运放即可直接驱动外部负载。但输出不能达到0(会出现底部失真),不推荐开启。具体参考官方手册,缓冲器打开时低端的DAC输出电压大概0.2V(不同型号可能不同,暂未考证) 2、 ......
DHT21程序,DHT21与DHT11的不同处
DHT21 数据格式: 40bit数据=16bit湿度数据+16bit温度数据+8bit校验和 例子: 接收40bit数据如下: 0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 湿度数据 温度数据 校验和 湿度高8位+湿度低8位+温度高8位+温度低 ......
【STM32+cubemx】0024 HAL库开发:IAP(在应用编程)的实现
IAP在应用编程(In-Application Programming),指的是MCU在运行应用程序时,能接收新的烧写文件,并更新到自身的程序存储器中。即可以在应用程序运行时在线升级。 本节我们通过一个简单的例子,来实现STM32的IAP功能。这个例子有两部分程序,boot部分包含IAP功能,运行后 ......
STM32 用定时器产生1Mhz 脉冲,
STM32 用定时器产生1Mhz 脉冲,PWM宽度可调,四路输出 源码:记得要加入文件 gpio rcc tim 等c文件 #include "stm32f10x_conf.h" void GPIO_CFG(void); void RCC_CFG(void); void TIM_CFG(void); ......
stm32按键 长按 短按 函数 一
在stm32工程中,长按和短按的代码书写, 调用的读取按键状态的底层函数。封装成的按键函数代码。下面是函数的头文件,和.c文件的代码。使用定时器来扫描按键。 #define KEY_ON 1#define KEY_OFF 0#define KEY_NULL 0#define KEY_SHORT 1# ......
JSON教程_编程入门自学教程_菜鸟教程-免费教程分享
## 教程简介 JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于 ......
2023.7.21值得推荐的一款服务器空间
,已经体验一个月咯,非常不错的免费资源,适合大家去了解了解~!他们家的免费空间,免费服务器,非常稳定,非常靠谱,值得拥有,价格厚道~!免备案服务,域名管理等等服务,应有尽有,2023年你值得了解,他们家的免费云服务器还是独立IP的哦,非常非常好,非常NICE~!官网地址:https://www.sa ......
c#、winfrom点击一个窗体的datagridview中的某行数据,该数据跳转在另一个窗体的textbook中显示
效果图 图一:datagridview中数据,单据目前选中的这条 图二:抓取datagridview在的数据显示到另一个页面中的textbook 代码: datagridview的窗体界面,首先在该界面放置button和datagridview控件 1、点击button筛选按钮中进行绑定数据库,写s ......
使用HAL库开发STM32:系统时间基础及进阶使用
文章目录 目的基础使用进阶使用总结 目的 HAL库默认提供了系统时间,系统时间默认情况下由SysTick定时器计数产生。系统时间一方面用于HAL库自身调用,另一方面用户也可以使用,为开发带来便利。(本文提到的相关使用主要应用于未使用OS(操作系统)的情况下。) 基础使用 一般的系统时间使用方面常用到 ......
深究MAX3485收发转化时需加延时的根本原因
最近初次使用MAX3485芯片进行通讯时,遇到数据不能正常接收的情况,后来经过长时间的分析知道了是我在进行切换收发模式时,软件没有进行延时处理(也可以通过硬件延时)。 RS485_SEND_ON; //485开启发送功能 Uart1Write(Tilt_buff, send_len);//写数据 d ......
MAX3485芯片软件使用总结
1. 芯片管教介绍 1.1 1号引脚为RO,通常与MCU UART控制器的RX相连接,用于接收对端数据。 1.2 2号引脚为RE,RE对RO起控制作用,RE为低电平,RO可接收数据,RE为高电平时,RO不接收数据。 1.3 3号引脚为DE,DE对 DI 起控制作用,DE为高电平,DI 可输出数据,D ......
关于USART很多人都容易忽视的一个问题
Ⅰ、写在前面 今天这篇文章分享的知识点比较少,但比较重要,是大部分人在实际项目开发中都容易忽视,且容易犯下的低级错误。 本文讲述在项目开发中,或在学习中经常遇到USART发送字符串,对方没有接收完成(最后一两字节),也就是最后字节数据丢失了。具体可以看下面章节实验。 关于本文的更多详情请往下看。 Ⅱ ......
STM32串口中断接收一个完整的数据帧
代码运行条件: (1) 大端发送; (2) 上位机发送一帧数据的时间间隔不能大于主循环周期; (3)数据帧满足下面格式: 帧头部(Head) 类型(Type) 长度(Length) 值(Value) CRC校验 2字节 1字节 1字节 X字节 2字节 0xaa 0x55 X void USART6_ ......
STM32F407串口
#include "stm32f4xx.h" #include "usart.h" void My_USART1_Init(void) { //GPIO结构体定义 GPIO_InitTypeDef GPIO_InitStructure; //串口结构体定义 USART_InitTypeDef USA ......
【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)
前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6/ STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM ......
STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收
参考资料:1、ST HAL库官网资料 2、https://blog.csdn.net/u014470361/article/details/79206352#comments 一、STM32CubeMX配置外部时钟 注意在进行外部时钟配置时,即“High Speed Clock”和“Low Spee ......
stm32 ADC理解
神通广大的各位互联网的网友们、大家早上中午晚上好好好、今早起来很准时的收到了两条10086的扣月租的信息、心痛不已、怀着这心情、又开始了STM32的研究、早上做了计算机控制的PID实验,又让我想起了飞思卡尔的电磁小车、、曾经的电感电压采集让我心碎的多少次、又让我开心了多少次、但已经成为过去、(软件和 ......
explain
用于分析SQL语句的执行效率 直接执行explain SQL语句即可 查询`select * from user`语句的执行效率:  开始 假设你声明一个名为foo的变量。 int foo; 这个变量占用一些内存。 在当前主流的Intel处理器上,它占 ......
实例讲解c语言结构体大小 sizeof(struct A)
约定为32位系统,即char 1字节、short 2字节、int 4字节 该问题总结为两条规律: 1,每个结构体成员的起始地址为该成员大小的整数倍,即int型成员的其实地址只能为0、4、8等 2,结构体的大小为其中最大成员大小的整数倍 #include <stdio.h>#include <stdl ......
结构体定义 typedef struct 用法详解和用法小结
typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。 具体区别在于: 若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n; 若用typedef,可以这样写,typedef struct node{} ......
强制类型转换运算符的优先级
强制类型转换 int i=10; char b=20; 如:i=b;//这样赋值没有问题,因为低字节类型转换成高字节类型。 如果是b=i;//这样会有问题,b=(char)i;//因为高字体转换为低字节的类型后,若int i当前数值超过127时,会导致溢出,数据缺失。 所以。如果高字节类型要强制转换 ......
STM32模拟GPS输出PPS、GPRMC与VLP16时钟同步
这里写目录标题 1.VLP16与GPS相关的管脚:2.利用GPS信息完成时间同步 TimeSynchronization3.查找同步关系4.修改ROS代码结论 1.VLP16与GPS相关的管脚: GPS-RECEIVE 接收GPS的GPRMC语句,注意是RS232电平(high 3-15V,low ......
亲测实验,RTC使用内部低速时钟LSI时,对RTC的配置过程
下面是一开始写程序时,配置过程: char RTCInit() { char count = 0; StartTime.year = 16; StartTime.month = 3; StartTime.day = 5; StartTime.hour = 20; StartTime.min = 41 ......
STM32系列修改外部晶振以及代码的修改(f103、f105为例)
此文章为引用 正点原子详细讲解 刚刚接触STM32的时候,用的都是8M晶振。比如你想更换到为外部晶振为12M,但是主频仍想用72M的。该如何设置?或者想倍频到更高的主频该怎么修改? 例子就直接直接拿<正点原子>的例子吧! 属性原来现在外部晶振8M12M倍频96主频72M72M 想从原来的8M修改到现 ......
STM32中通过普通延时函数来精确延时
在STM32中处处会用到延时函数,一般而言,对于普通的控制延时,并不会要求特别精确,所以可以使用普通的延时函数,例如 void delay(u32 time){ while(time--);} 但是在某些情况下,例如读取传感器数据,就 需要精确的延时,对于这种,这时候可以考虑使用软件定时器或者系统定 ......
STM32F407定时器时钟频率和时钟源
(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线 (2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源是APB1总线 (3)当APB1和 ......