STM32F103-矩阵按键+串口打印基本介绍代码matrix_key.cmatrix_key.hmain.c项目演示基本介绍最近做了一个门禁卡小玩意,用到了4X4矩阵按键,在这里也单独的记录一下。矩阵按键图思路:矩阵按键读取键值写法多样,有一行一行的检测,也有是全部行检测,我这里是全部去扫。先扫描4列是否有按下,有再切换扫描所有行。第一步:先让行拉低(输出模式),去检测列(输入模式拉高) 如果检测到有第二步:让列拉低(输出模式),去检测行(输入模式拉高)第三步:这样就可以获取到哪按键按下了。代码matrix_key.c#include"matrix_key.h"#include"usar
通用定时器 ----输出 1,输出一个PWM 2,检测脉冲宽度 1》PWM---脉冲宽度调制 占空比:高电平占整个周期的百分比 2》PWM作用:调节灯的亮度,声音的大小,速度的快慢----平均电压值 什么是PWM信号? PWM,英文名PulseWidthModulation,是脉冲宽度调制(记住这个名词)缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如
1.软件准备(1)编程平台:Keil5(2)CubeMX(3)XCOM(串口调试助手)2.硬件准备(1)某宝买的超声波模块 (2)F1的板子,本例使用经典F103C8T6(3)ST-link 下载器(4)USB-TTL模块(5)杜邦线若干3.模块资料(1)模块简介: 超声波是振动频率高于20kHz的机械波。它具有频率高、波长短、绕射现象小、方向性好、能够成为射线而定向传播等特点。HC-SRO4是一款尺寸完全兼容老版本,增加UART和IIC功能的开放式超声波测距模块,默认条件下,软件与硬件完全兼容老版本HC-SRO4;可以通过电阻设置成UART或IIC模式。2CM盲区,4.5M典型
STM32F103C8T6主控板文章目录STM32F103C8T6主控板设计目标一、STM32F103C8T6核心板外围引脚电路1.1原理图设计1.2PCB设计用例二、ISP一键下载电路设计2.1原理图设计2.2原理分析2.2.1CH340电路选择2.2.2ISP一键下载原理2.3PCB设计示例三、串口通信电路3.1原理图设计3.2原理分析3.3PCB设计示例四、5V转3.3V电路4.1原理图设计4.2原理分析4.2.1AMS1117芯片数据手册分析4.2.2AMS1117电路分析4.3PCB设计示例五、舵机控制电路5.1原理图设计5.2原理分析5.3PCB设计示例设计目标能够控制9路5V舵机
合宙AIR32F103CBT6刷回CMSISDAP固件和DAP升级固件以及刷ST-LINKV2-1固件方法📌官方介绍文档:https://wiki.luatos.com/chips/air32f103/index.html📍原理图:https://cdn.openluat-luatcommunity.openluat.com/attachment/20220605164915340_AIR32CBT6.pdf🎈相关篇《【开源电路】ST-LINK/V2、ST-LINK/V2-1、DAP-LINK烧录器(已验证)》✨手上购买的这个两块板子已有2个月了,一直放在这着没动,今天想拿出来给其STM32F
前言PWM合成正弦波,原理什么的不详细说了,概括一下就是PWM有效面积的积分=正弦波的有效面积。PWM的频率越快,细分的越多,锯齿也就越不明显。做法是:首先利用正弦波取点软件,取点1000个,生成一个正弦波的数组。PWM波的频率(F_PWM)与正弦波频率(F_SIN)之间的对应关系与采样点数(S_NUM)有着密切的关系,即:F_SIN=F_PWM/S_NUMS_NUM在这里为1000,因为取了1000个点先用TIM1高级定时器来生成一个PWM波作为载波,我用的是72M主频,分频系数0,TIM_Period填1000(这个1000就是PWM的总周期,要大于等于正弦波数组的满值)再用TIM2来生成
MCU:STM32F103VET6开发环境:STM32CubeMX+MDK5 实现USB的虚拟串口不需要去理解USB的底层驱动,只需要STM32CubeMX去配置生成工程即可。在野火的指南者中,是没有这一类的视频和示例的,博主使用这款开发板实现USB虚拟串口。首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。 此时,双击完后会关闭此界面,然后打开一个新界面。 然后,我们开始基本配置。 现在我们选择一个LED作为系统LED,该步骤可以忽略,只是本人喜欢这样子。以硬件原理图的绿灯为例子。 基本配置除了时钟树外,基本上已经配置好了
我刚学FreeROTS时想移植到STM32,找了网上很多资料,但大多都不是很完整,于是我把我自己的移植过程分享出来,供大家参考。我们以STM32F103ZE,正点原子的跑马灯实验为例,准备工作:跑马灯实验工程FreeRTOS文件源码(可在官方下载) 第一步 移植文件到工程首先在工程目录新建一个名为FreeRTOS的文件夹然后打开从FreeRTOS官方下载的文件中路径为FreeRTOSv202212.01\FreeRTOS中的Source文件夹将里面的文件全部复制到工程目录的FreeRTOS文件夹 为了更加简洁,我们新建一个Source文件夹,将外面的.c文件放进去 回到官方下载的Free
内容包括SWD硬件连接,Keil仿真设置与其问题解决,J-Flash解除写保护与下载Hex文件及对芯片批量加密。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易!目录:一、SWD实时仿真硬件电路1、SWD实时仿真接线2、注意二、仿真设置三、仿真时问题的解决(Keil5.12)1、仿真时添加变量或数组2、程序下载1)程序下载完成后,J-LINK使单片机处于复位状态 2)读保护与写保护3)尽量不要由J-Link给线路板供电,内部有短接 4)勾选2处不能烧写的设置3、仿真器与线路板连接需可靠4、使用J-Link时,Keil软件出现无响应5、出现“USB无法连接”提示6、出现“**
一、机智云MCU(STM32F103C8T6)函数移植1.下载函数库2.解压函数库3.文件复制粘贴 (1)Gizwits文件夹中的文件说明 gizwits_product.c:产品处理.c文件,用户需要对该文件里面的部分.c文件进行完善和修改,以实现功能gizwits_product.h :包含软硬版本等信息,一般无需修改gizwits_protocol.c:协助相关处理.c文件,完成和WIFI模块的通信协议解析,提供SDKAPI接口函数,无需修改gizwits_protocol.h:定义结构体、产品密钥、声明相关API函数,一般无需修改(2)Utils文件夹中的文件说明4.函数移植(1)头文