
嵌入式
文章平均质量分 94
HarrietLH
这个作者很懒,什么都没留下…
展开
-
STM32F103的DAC——输出声音效果
一、DAC和ADC的介绍1.DAC(数字/模拟转换模块)把输入的数字编码,转换成对应的模拟电压输出。2.ADC(模拟/数字转换模块)把输入的模拟信号,转换成对应的数字信号。原创 2021-01-09 19:06:15 · 5497 阅读 · 1 评论 -
使用STM32F103输出PWM波形
一、PWM的介绍PWM(脉冲宽度调制)控制技术通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。PWM 控制的基本原理冲量相等而开头不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。其中冲量指窄脉冲的面积;效果相同指环节输出响应波形基本相同。参考例子用一系列等幅不等宽的脉冲来代替一个正弦半波。其划分方式是将正弦半波分成 N 等分,可看成 N 个彼此相连的脉冲序列,宽度相等,但幅值不等;接下来使用矩形脉冲代替,而各个矩形脉冲等幅,不等宽,中点与脉冲序列重合,脉冲宽度按正弦原创 2021-01-05 21:42:16 · 6872 阅读 · 0 评论 -
基于MDK创建纯汇编语言的STM32工程——汇编实现LED闪烁
一、创建一个新工程1.创建工程①点击Project,选择New uvison Project②选择文件保存的路径以及文件的名称2.环境配置①选择对应的芯片,本文章采用的STM32F103RC②运行环境选择,主要是CMSIS下选择CORE;Device下Startup,其中包含了启动文件自此,一个工程的建立就算完成了。二、添加文件1.鼠标右键单击Source Group 1,选择Add New Item to Group2.选择 Asm File (.s) ,设置源文件的名称,点击原创 2020-12-27 22:32:07 · 3005 阅读 · 5 评论 -
浅谈STM32的三种Boot模式
一、关于BOOT模式的介绍所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。启动模式1.主闪存存储器(Main Flash memory)STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。2.系统存储器(System memory)从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一般来说原创 2020-12-26 10:24:41 · 3885 阅读 · 0 评论 -
基于STM32的温湿度采集——OLED显示
文章目录一、实现温湿度通过串口显示二、实现将温湿度采集数据显示到OLED三、小结四、参考资料本过程采用的是STM32野火mini开发板,AHT20温湿度传感器,0.96寸OLED显示屏。一、实现温湿度通过串口显示此步骤的目的是为了查看能否实现温湿度的采集具体操作请参考下面链接https://blog.youkuaiyun.com/qq_43279579/article/details/111597278二、实现将温湿度采集数据显示到OLED本过程是基于上面实现串口显示的工程上,进行添加相关OLE原创 2020-12-25 15:05:00 · 21406 阅读 · 6 评论 -
0.96寸OLED在STM32f103上实现滚动显示长字符
一、原创 2020-12-25 14:13:12 · 11241 阅读 · 9 评论 -
stm32通过I2C接口实现温湿度(AHT20)的采集
一、了解I2C总线协议什么是I2C协议I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。I2C 协议的物理层和协议层①物理层I2C是一个支持设备的总线。可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。对于I2C 总线,只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时原创 2020-12-23 22:18:35 · 12033 阅读 · 2 评论 -
基于STM32的红外人体感应器控制LED灯的状态
文章目录一、红外人体感应器的介绍二、利用红外人体感应器实现控制LED灯三、总结一、红外人体感应器的介绍产品参数产品特点①全自动感应当人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。②光敏控制 (可选)模块预留有位置,可设置光敏控制,白天或光线强时不感应。光敏控制为可选功能 ,出厂时未安装光敏电阻。如果需要,请另行购买光敏电阻自己安装。③温度补偿 (可选择,出厂时未设 )在夏天当环境温度升高至 30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。④原创 2020-12-20 12:01:16 · 15223 阅读 · 4 评论 -
基于STM32的0.96寸OLED显示屏显示数据
一、了解SPI(串行外设接口)SPI的定义SPI(Serial Peripheral Interface)就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收、高位先发送。上升沿到来的时候,sdo 上的电平将被发送到从设备的寄存器中。下降沿到来的时候,sdi 上的电平将原创 2020-12-20 11:09:52 · 20713 阅读 · 8 评论 -
使用 Stduino IDE实现STM32简单开发
文章目录一、下载 Stduino IDE二、使用Stduino IDE点亮LED三、使用Stduino IDE实现串口通讯四、总结五、参考资料一、下载 Stduino IDE下载官网地址http://www.stduino.com/pindex.php选择开始使用点击下载链接,进入后输入密码,就可以进行选择下内容二、使用Stduino IDE点亮LED新建工程选择开发配置代码部分void setup() { // put your setup code here, to原创 2020-12-14 12:14:39 · 495 阅读 · 0 评论 -
使用Ardunio IDE实现STM32板子的串口通信
Ardunio IDE实现STM32板子的串口通信一、安装Ardunio IDE一、安装Ardunio IDE由于ArduinoIDE依赖JAVA开发环境,所以需要提前安装JDK。JDK官方下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html下载Ardunio IDE①官网下载https://www.arduino.cc/en/software②资源下载arduino-1.8.1原创 2020-12-13 13:58:50 · 694 阅读 · 0 评论 -
STM32下完成基于FreeRTOS的多任务程序
一、了解FreeRTOSRTOSReal Time Operating System 实时操作系统。FreeRTOSFreeRTOS 是一款 “开源免费”的实时操作系统,遵循的是 GPLv2+的许可协议。FreeRTOS的编程风格①FreeRTOS 的数据类型对标准 C 的数据类型进行了重定义。详细内容如下:新定义的数据类型实际的数据类型说明portCHARchar字符型ortSHORTshort短整型ortLONGlong长整型ortT原创 2020-12-02 14:21:09 · 987 阅读 · 0 评论 -
基于寄存器与基于固件库的stm32 LED流水灯
文章目录一、创建一个keil工程(寄存器版)二、基于寄存器stm32 LED流水灯三、创建一个keil工程(固件库版)四、基于固件库stm32 LED流水灯五、对比两种方式六、总结七、参考资料本文章采用的开发板是野火stm32F103-MINI,下载器是ST_Link,开发环境是Keil5一、创建一个keil工程(寄存器版)打开keil,点击Project,选择New uVision Project选择 CPU 型号,根据开发板进行选择在线添加库文件用寄存器控制 STM32 时,不需要在原创 2020-11-29 21:18:53 · 2695 阅读 · 2 评论 -
基于ubuntu,树莓派和stm32的C程序的内存分配问题
文章目录一、C程序的内存分配二、Ubuntu,树莓派,stm32开发板编程,输出信息进行验证三、总结四、参考资料一、C程序的内存分配栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。它与数据结构中的堆不同,分配方式类似于链表。全局区(静态区)(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量、未原创 2020-11-29 15:38:17 · 3544 阅读 · 2 评论 -
STM32的USART窗口通讯程序——串口通讯
一、了解通讯串行通讯与并行通讯串行通讯:设备之间通过少量数据信号线,地线以及控制信号线,按数据形式一位一位地传输数据。并行通讯:设备之间通过信号线,同时传输多个数据位的数据。串行通讯的通讯距离和抗干扰能力要优于并行通讯,并且成本更低,而并行通讯的传输速率要优于串行通讯。全双工,半双工和单工通讯全双工通讯:设备之间可以同时收发数据。半双工通讯:设备之间可以收发数据,但是不能够同时进行。单工通讯:单方向的进行数据的发送和接收,即一个设备要么作为发送设备,要么作为接收设备。同步通原创 2020-11-29 11:31:17 · 2067 阅读 · 0 评论 -
使用Altium Designer绘制PCB
文章目录一、绘制PCB的准备二、绘制PCB一、绘制PCB的准备绘制原理图参考链接:建立PCB文件检查原理图是否存在错误存在错误时,就会弹出Message窗口,显示出错误的位置以及错误是什么。不存在错误时,就不会弹出Message的窗口,可以通过点击Message,来查看情况,不出意外就会存在一个compile successful。二、绘制PCB看元件是否都封装打开封装管理器后,点击一些元件,如果右侧没有出现对应的元件3D图,表示缺少引脚的添加,需要进行引脚的添加。封装的原创 2020-11-23 22:18:37 · 3472 阅读 · 0 评论 -
如何使用Altium Designer软件绘制一个stm32最小系统的电路原理图
文章目录一、安装Altium Designer二、绘制stm32的最小系统的电路原理图一、安装Altium Designer下载Altium Designer百度网盘分享链接:https://pan.baidu.com/s/1SpLW9a6l0_XdQXRnOSVUlw提取码:pmox安装过程①在解压缩得到的文件中,点击AltiumDesigner8Setup.exe②进入安装向导,点击Next③选择I accept the agreement,并点击Next④可以勾选全部,也可原创 2020-11-08 21:46:26 · 2495 阅读 · 3 评论 -
采用Proteus仿真运行stm32流水灯程序
文章目录一、Proteus中创建原理图二、keil编写程序三、Proteus仿真四、总结五、参考资料一、Proteus中创建原理图创建工程①打开Proteus,选择新建工程②进行工程名称填写,路径的选择③选择从选中的模板中创建原理图,模板选择DEFAULT④选择创建固件项目,系列选择Cortex-M3,Controller选择STM32103R6⑤工程创建完成,点击完成选择所需要的元件创建工程完成后,图中就会显示出自己所选的型号的芯片,STM32F103R6,系统并以配置好电源原创 2020-11-07 16:49:34 · 1429 阅读 · 0 评论 -
Ubuntu下使用可视化调试前端软件KDBG和VScode
文章目录一、可视化前端 Kdbg一、可视化前端 Kdbg安装Kdbg过程git clone -b maint https://github.com/j6t/kdbg.git当git clone使用不了解决语句:sudo apt install git解决语句:sudo apt-get install update解决方法:sudo nano /etc/resolv.conf 修改DNSnameserver 8.8.8.8nameserver 8.8.4.4sudo原创 2020-11-07 10:50:54 · 2635 阅读 · 5 评论 -
Ubuntu上使用opencv——摄像头的相关使用
文章目录一、Ubuntu上安装opencv二、一个打开摄像头显示处理视频的程序三、打开摄像头采集图像并保存(改进)四、小结五、参考资料本文章使用的系统时Ubuntu 18.04 desktop一、Ubuntu上安装opencv安装及下载参考此链接,我就不详细说明https://blog.youkuaiyun.com/qq_43279579/article/details/109231383二、一个打开摄像头显示处理视频的程序代码#include<opencv2/opencv.hpp>原创 2020-10-26 17:19:48 · 6268 阅读 · 1 评论 -
Ubuntu,Windows,树莓派系统下安装opencv
文章目录一、Ubuntu系统下安装opencv一、Ubuntu系统下安装opencv下载opencv官网地址:https://opencv.org将下载的压缩文件,复制移到home下opencv的编译过程解压文件unzip opencv-4.5.0.zip进入解压的到的文件中cd opencv-4.5.0安装cmake和一些依赖库(时间可能比较及,大家要耐心一点)sudo apt-get install build-essentialsudo apt-get原创 2020-10-25 19:01:47 · 1994 阅读 · 2 评论 -
温湿度模块实验
文章目录一、实验环境二、实验过程三、实验效果四、实验遇到的问题及解决方法五、总结一、实验环境开发环境:keil uvision5实验硬件序号名称数量1PC机1台2stm32底盒1个3温湿度模块1个4ST_Link下载器1个5ST_Link下载器连接线1根6温湿度实验代码1份3.驱动配置本实验采用的ST_Link的方式。①ST_Link驱动安装过程二、实验过程打开准备好的程序实验代码可以参照下面分享:原创 2020-10-14 17:17:11 · 719 阅读 · 0 评论 -
如何开始一个stm32的简单程序的编译
文章目录一、环境的配置一、环境的配置MDK软件的安装MDK(Microcontroller Development Kit)是针对ARM处理器,特别是Cortex-M内核处理器的最佳开发工具。1.1 MDK5下载① keil官网网址下载http://www.keil.com/download/product② 百度网盘分享下载https://pan.baidu.com/s/1jeYdDlHKqdtXVheUewpgGg提取码:pja01.2 安装过程①下载完成后,开始安装,第一步原创 2020-10-08 09:54:55 · 6163 阅读 · 4 评论