嵌入式
文章平均质量分 83
在下摸鱼怪
这个作者很懒,什么都没留下…
展开
-
STM32实现DAC功能输出音频波形
文章目录一、DAC简介二、输出周期为2kHz的正弦波① 通过如下公式计算出,周期频率位为2kHz大约需要采集1800个点② 通过matlab制作正弦波表③ 将模拟好的数据替换工程中的波形数据三、音频信号输出四、参考资料一、DAC简介DAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与 ADC相反。在常见的数字信号系统中,大部分传感器信号被化成电压信号,而 ADC把电压模拟信号转换成易于计算机存储、处理的数字编码,由计 算机处理完成后,再由 DAC输原创 2021-01-09 00:49:14 · 2255 阅读 · 1 评论 -
STM32输出PWM波形
文章目录一、什么是PWM二、PWM原理三、实现PWM输出呼吸灯四、参考????一、什么是PWMPWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%。二、PWM原理单片机的IO口输出的是数字信号,IO口只能输出高电平和原创 2021-01-09 00:44:02 · 1315 阅读 · 2 评论 -
STM32基于汇编方式创建工程文件和闪烁LED灯
文章目录一、基于MDK创建纯汇编语言的STM32工程二、HEX文件格式说明三、基于STM32 汇编每间隔1秒钟闪烁一次LED的程序。四、参考????一、基于MDK创建纯汇编语言的STM32工程① 双击打开 MDK② 点击菜单栏的 project,选择 “New uVision Project” 选项然后选择路径,并保存③ 选择设备本人用的单片机是野火指南者,所以选择的设备是 STM32F103VE④ 选择运行环境ARM的CMSIS已经把开发所需要的软件组件都封装好了,因此直接选择即可原创 2020-12-27 19:18:21 · 1403 阅读 · 0 评论 -
大话STM32三种BOOT模式的差异
文章目录一、STM32三种BOOT模式介绍二、实例分析1、 主闪存存储器被选为启动区域2、从系统存储器启动3、两者比较三、参考????一、STM32三种BOOT模式介绍所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置 BOOT1 和 BOOT0 引脚的状态,来选择在复位后的启动模式。启动模式主闪存存储器(Main Flash memory)STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下原创 2020-12-27 16:00:26 · 459 阅读 · 0 评论 -
基于SPI接口的OLED数据显示(左右移动和AHT20采集的温湿度)
文章目录一、SPI 协议的简单概括二、准备工作(1) 实验说明(2) 代码移值三、主要代码说明(1) 添加点阵汉字(2) 显示温湿度(3) main.c四、效果展示五、参考????一、SPI 协议的简单概括SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设 备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间, 要求通讯速率较高的场合。SPI 协议的更多说明请参考:① SPI协议详解② 野火的原创 2020-12-27 12:18:15 · 962 阅读 · 0 评论 -
Ardunio IDE实现STM32的串口通信与LED灯闪烁
文章目录一、实验环境配置二、代码实现三、参考????一、实验环境配置Arduino IDE开发STM32F10X的环境提取码:q251打开arduino-1.8.12-windows.exe 进行安装将解压的 Arduino_STM32 文件夹拷贝到 Arduino IDE 安装目录下的 hareware 下例如:D:\arduino-1.8.12\Arduino\hardware该文件来自于国外大佬STM32配置文件拷贝了之后,在 Arduino IDE 中 “工具 -原创 2020-12-21 23:33:23 · 822 阅读 · 0 评论 -
基于I2C通信协议和AHT20温湿度传感器的数据采集
文章目录一、I2C通信协议(1) I2C 协议简介(2) I2C 物理层(3) I2C 协议层二、硬件 I2C 和 软件(模拟) I2C三、基于AHT20温湿度传感器的数据采集(1) 实验说明(2) 快速上手(3) 主要代码四、效果演示五、参考????和书籍一、I2C通信协议(1) I2C 协议简介I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps公司开发的,由于它引脚少,硬件实 现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛原创 2020-12-21 12:20:55 · 1122 阅读 · 0 评论 -
STM32基于FreeRTOS的多任务程序实现
文章目录一、什么是FreeRTOS二、裸机系统和多任务系统三、实验要求四、基于FreeRTOS的多任务程序实现五、参考????和书籍一、什么是FreeRTOSFree 即免费的,RTOS 全称是 Real Time Operating System,中文就是实时操作系统。注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 uC/OS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。操作系统允许多个任务同时运行,这个叫做多任务。实际上,一个处理器核心在某一时刻原创 2020-12-02 22:20:28 · 1366 阅读 · 1 评论 -
基于Ubuntu、树莓派、STM32分析C语言经编译后的分区情况
文章目录一、C语言经编译后的分区情况二、分别在Ubuntu、树莓派、STM32下分析三、参考????一、C语言经编译后的分区情况栈(stack):由编译器进行管理,自动分配和释放,存放函数调用过程中的各种参数、局部变量、返回值以及函数返回地址。堆(heap):用于程序动态申请分配和释放空间。C语言中的malloc和free,C++中的new和delete均是在堆中进行的。正常情况下,程序员申请的空间在使用结束后应该释放,若程序员没有释放空间,则程序结束时系统自动回收。全局(静态)存储区:原创 2020-11-25 22:49:28 · 542 阅读 · 0 评论 -
stm32串口通信 —— USART通信实践
文章目录一、通讯的基本概念二、USART串口通信(简单介绍)三、USART串口通信实践四、效果演示五、参考资料一、通讯的基本概念数据传输的方式① 串行通讯指设备之间通过少 量数据信号线(一般是 8根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。就像是单车道的公路,同一时刻只能传输一个数据为的数据。② 并行通讯指使用 8、16、32 及 64 根或更多的数据线进行传输的通讯方式,就像多个车道的公路,可以同时传输多个数据位的数据。③ 两者对比特性串行原创 2020-11-25 14:56:50 · 1033 阅读 · 1 评论 -
Proteus仿真运行stm32流水灯实验
文章目录一、用MDK创建一个工程文件二、用Proteus新建一个工程文件三、参考????实验所建的 MDK 和 Proteus 工程文都已上传到百度网盘,点击 STM32_F103.uvprojx 即可打开 MDK 工程(位于:Fwlib_Template —> Project )链接:https://pan.baidu.com/s/1TOadjgoNWIvlhPNxtKX6IQ 提取码:r46l一、用MDK创建一个工程文件新建一个工程文件,配置并引入固件库在 USER 文件原创 2020-11-08 23:43:31 · 729 阅读 · 0 评论 -
STM32和C51程序的设计与仿真(点亮LED灯)
文章目录一、使用寄存器点亮LED灯1. 新建一个工程文件,并将启动文件 **startup_stm32f10x_hd.s** 引入到 **Source Group** 中。2. 新建 **main.c**, 写入一下内容:3. 程序的说明二、使用固件库点亮LED灯1. 新建一个工程文件,配置并引入固件库,具体操作这里将不会细诉 (此处引入的固件库版本为**STM32F10x_StdPeriph_Lib_V3.5.0**)2. 由寄存器点亮 LED 灯可知,点亮 LED 灯大致应有如下步骤:3. 新建 **m原创 2020-09-27 22:42:06 · 2233 阅读 · 0 评论 -
Ubuntu系统下运行C程序
准备工作vi sub1.c # 创建sub1.c文件vi main1.c # 创建main1.c文件编写 sub1.c :float x2x(int a, int b){ return a + b;}编写 main1.c:#include<stdio.h>#include"sub1.c"int main(){ int a = 2, b = 3; printf("%f\n",x2x(a, b)); return 0;}直接使用 gcc 命令生成可执行文件gc原创 2020-09-20 19:01:41 · 742 阅读 · 0 评论