文章目录前言一、实验内容二、电路连线三、发音原理四、STM32cubeMX配置4.1配置GPIO4.2配置定时器五、软件部分总结 前言好久都没有写cube相关的内容了,今天来学习用STM32控制不同的开关,实现电子琴功能。硬件:STM32ZET6 软件:keil 5一、实验内容实现电子琴功能,控制不同的开关,可以实现不同频率的音频输出,完成歌曲《一闪一闪亮晶晶》的演奏。 按照建议电路连线后,==
转载
2024-04-23 08:50:25
1519阅读
许久没有摸32了,今天是培训的第一天,做个电子琴练练手。编程难度很小,无非就是gpio控制引脚高低电平转换,比较值得注意的主要是一些乐理上的知识。我们能听到的1 2 3 4 5 6 7的音符,实际上是一个个固定的频率,这个具体算我也不懂,问巴赫去吧总而言之,通过百度,我找到了对照图 那怎么转换这个频率捏,首先来看一下频率单位——赫兹(hz)的定义:赫兹是国际单位制中频率的单位,它是每秒钟
基于51单片机设计的简易电子琴下面直接给出proteus仿真电路代码如下:#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define output P1
#define input P1
//方便移植在其他电路板上,我的电路使用P1口做键盘输入接口
//定义16个按键
enum K
转载
2023-06-04 18:28:17
141阅读
本节原来是想讲一讲无源蜂鸣器发声的原理,用于添加BGM功能。为了讲原理,就写了一些通俗的代码,没想到越写越多,后来,干脆就形成了一个小小的项目吧——基于STM32与无源蜂鸣器的电子琴。灯光效果 首先想到的是做一个灯光的效果,按下哪个按键,哪个按键的灯要亮;松手后,灯灭掉。顺带,检测一下带松手检测的按键功能好不好用。后续还可以做成通过亮灯提示需要按下那个按键,类似于节奏大师的功能——哪里要响点
原创
2023-01-11 12:00:58
359阅读
#include <windows.h>#include <stdio.h>#pragma comment(lib,"winmm.lib")HMIDIOUT handle;unsigned long result = midiOutOpen(&handle, 0, 0, 0, CALLBACK_NULL), device = 0; //键盘midiHANDLE hIn = GetStdHandle(STD_INPUT_HANDLE);//鼠标操作HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);DWO
转载
2012-08-05 21:33:00
235阅读
2评论
目录说明一、点亮LED1.1、原理图1.2、硬件准备1.3、烧写二、开环控制2.1、硬件准备2.2、硬件连接2.3、打开工程2.4、修改参数2.5、编译下载,观察运行三、角度读取3.1、硬件准备3.2、硬件连接3.3、接线说明3.4、打开工程3.5、修改代码3.6、编译下载,观察运行四、闭环控制4.1、硬件准备4.2、硬件连接4.3、打开工程4.4、修改代码4.5、编译下载,观察运行五、电流采样
SIMULINK下的STM32F4的自动代码生成 &n
SIMULINK下的STM32F4的自动代码生成 &n
http://www.happyeo.comHappyEO电子琴是一个用电脑的键盘和声卡模拟电子琴的程序。目前最新版本是3.06。http://www.myscore.org/大众乐谱练左右互博中……
转载
2004-11-26 13:57:00
106阅读
2评论
STM32CubeMX 真的不要太好用由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设库开发不要太方便,哈哈哈先去 stm32 社区逛了逛,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺
转载
2024-06-19 19:44:29
461阅读
MCU固件库的文件很多,从固件库手动复制必要的文件来组成一个项目是比较复杂的,使用标准库进行开发时就是这样做的。但是在STM32Cube开发方式下,我们可以用CubeMX对MCU和中间件进行图形化配置,自动生成外设初始化代码和CubeIDE项目框架。自动生成的CubeIDE项目包含了必要的驱动程序文件,并且以统一而清晰的方式组织这些源文件,用户子需要在初始代码的基础上专注于实现用户功能
1.简介这里利用基于STM32F103RCT6的一块自带led灯的开发板,首先通过STM32CUBEMX产生.ioc配置文件,其次对Simulink进行所必须的配置,然后利用Simulink的图形化界面实现简单的使led灯闪烁的逻辑框图,接着就是自动生成代码(生成keil工程文件),最后将代码烧录至芯片中便可实现led灯的闪烁。注:利用sumulink联合STM32CUBEMX开发stm32对软件
1.什么是“代码自动生成工具”为了降低开发者的开发门槛,缩短开发周期,降低开发资源投入,机智云推出了代码自动生成服务。云端会根据产品定义的数据点生成对应产品的设备端代码。自动生成的代码实现了机智云通信协议的解析与封包、传感器数据与通信数据的转换逻辑,并封装成了简单的API,且提供了多种平台的实例代码。当设备收到云端或APP端的数据后,程序会将数据转换成对应的事件并通知到应用层,开发者只
在做开发的前几年,基本上都没用仿真,有bug就尝试改程序,一边改一边调试。甚至都还不知道硬件仿真存在的价值,因为一直都没用过,而且很多芯片也不支持。直到有一次在做行车记录仪项目的时候,接触到了GRAIN公司的一款单片机。本来我打算是直接开干的,但是老大非要我把这个芯片的仿真环境搭好。于是我就开始网上搜集资料,不得不说这块的资料真少,那时又刚接触仿真这块的。搞了将近半个月都搞不定,然后我鼓起勇气跟老
搜索了一圈 ,STM32CubeIDE上的相关方法不多,记录一下两个过程,翻译自外网(导师提供内容,不是机翻,手打的,有删减无关内容,自己实践了一遍,芯片等等有些不同)开篇现在相当多的微控制器没有一个控制台的模块,但是debug的时候输出的信息相当的重要,已有的一种方法是使用半主机模式(semihosting with STM32CubeIDE)。但是semihosting with STM32C
目录一、基础教程二、进阶教程三、IDE优化四、学习笔记 一、基础教程
STMCube官网;
stm32cube中文网;
安装使用教程;二、进阶教程
比较全的基础教程/配套视频教程(这个视频教程声音有点问题);
较好的视频教程;
STM32CubeMX官方资料;
STM32CubeF1用户资料(包括对应HAL库资料);
STM32CubeF4用户资料(包括对应HAL库资料);三、IDE优化
代码自
当设计中使用I2C的数量多于1个时,其底层I2C的代码逻辑都是一样的,只有IO口变了,为此还要复制粘贴、修改IO,不仅费时,而且还浪费片内资源,因此可以使用指针来重复执行IIC底层代码,实现一个代码,多个IO使用。注意:使用什么IO口,一定要打开其IO时钟,同时配置为输出开漏模式!!! 使用例程在最下面Stm32f30x_SMLT_I2C.h#ifndef __Stm32f30x_SMLT_I2C
在做最近的项目时,我发现一个这样的问题:对STM32中的IO进行配置(以对B系列下的PB10、PB13配置成输出模式为例),即使在配置参数一样的情况下,这两个IO输出能力还是有很大的差别。 情况一:如图焊接电路,两个IO口配置的是同样推挽模式,编写程序使得LED灯进行闪烁,我当时碰到的情况就是一个LED灯能够闪烁,另一个LED灯死活不闪。后来换成三极管驱动LED灯的方式,才解决这样的问题。由此可以
文章目录一、串口通信简介1.1 百度百科解释1.2 通信接口1.3 串口通信分类1.4 STM32串行通信的通信方式二、STM32的串口通信2.1 功能引脚2.2 数据寄存器2.3 控制器2.4 小数波特率生成三、总结 一、串口通信简介 1.1 百度百科解释来源百度百科 串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并
一、联网应用的发展趋势随着互联网技术的普及和物联网应用的兴起,各种设备和系统开始向互联网靠拢,实现互联互通。在这样的背景下,嵌入式系统的联网需求变得愈发迫切。传统的嵌入式系统往往只需实现单机功能,与外界通信的方式也大多是基于串口通信或者局域网通信,而现在越来越多的嵌入式系统需要实现与互联网的通信,实现远程监控、数据采集、远程升级等功能。因此,对于嵌入式开发者来说,如何在STM32等常见的嵌入式开发