自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 基于片内Flash的提示音播放程序

实验目的1)实验数据准备:用Adobeaudition或goldwave等音频编辑软件录制“您好欢迎光临!”的几秒钟的声音(8khz采样、8bit量化编码的单声道wav格式),确保音频数据尽量小(最大不超64KB)。然后编程将其分批次写入stm32f103c8t6芯片内部flash区域。2)数字音频还原播放任务:编程读取此段音频,分别通过(a)stm32f103c8t6自带的DAC通道,转换为模拟音频进行播放,并用示波器观察波形,用耳机/喇叭收听,评判音乐还原效果;提示:建议先用单音音频(比如2

2021-12-31 17:34:48 159

原创 STM32F103读取SD卡的数据(fat文件模式)

实验目的掌握SD卡协议原理,用STM32F103完成对SD卡的数据读取(fat文件模式)。实验原理SD卡寄存器SD卡总共有8个寄存器,用于设定或表示SD卡信息。这些寄存器只能通过对应的命令访问,SDIO定义64个命令,每个命令都有特殊意义,可以实现某一特定功能,SD卡接收到命令后,根据命令要求对SD卡内部寄存器进行修改,程序控制中只需要发送组合命令就可以实现SD卡的控制以及读写操作。SD卡结构SD卡包括有存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器 5个部分存储单元

2021-12-21 22:13:30 914

原创 使用Altium Designer18绘制stm32最小系统的电路原理图,并在此基础上完成STM32+SD卡 的系统原理图设计

实验目的掌握电路原理图绘制。安装Altium Designer 18,学习使用AltiumDesigner绘制一个stm32最小系统的电路原理图,并在此基础上完成STM32+SD卡 的系统原理图设计。下载安装Altium designer下载安装百度网盘链接:https://pan.baidu.com/s/1MozzJsqhdfYCrjaxMKHo6g 提取码:0123安装Altium Designer:解压缩 Altium_Designer_Beta_18.1.7.iso 文件;

2021-12-19 21:01:28 361

原创 Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址

实验目的编写一个C程序,重温全局变量、局部变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证(STM32 通过串口printf 信息到上位机串口助手) 。归纳出Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址,进行对比分析。全局变量、局部变量、堆、栈全局变量在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是整个程序,也就是所有的源文件。局部变量定义在函数内部的变量称为局部变量(Local Var

2021-12-17 00:07:27 217

原创 Clion2021,采用一套新的嵌入式软件开发工具包(替代Keil),完成stm32F103 点亮LED的程序

介绍Clion 是一款专门开发 C 以及 C++ 所设计的跨平台的 IDE。它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的 IDE 帮助开发人员在 Linux、OSX 和 Windows 上来开发 C/C++ ,同时它还能使用智能编辑器来提高代码质量、自动代码重构并且深度整合 Cmake 编译系统,从而提高开发人员的工作效率。CLion 支持 GCC、clang、MinGW、Cygwin 编译器以及 GDB 调试器。提供对 Cmake 支持:包含自动处理

2021-12-16 23:16:50 1578

原创 分别使用Keil虚拟仿真逻辑仪和 真实逻辑仪(SaleaeLogic16)抓取LED输出电平和串口通信的波形,进行协议分析

使用keil仿真示波器逻辑分析调试配置找到之前任务的keil工程文件夹,在 MDK-ARM 文件夹下创建一个 TXT 文件,将下面的内容添加进去map 0x40000000, 0x40007FFF read write // APB1map 0x40010000, 0x400157FF read write // APB2map 0x40020000, 0x4007FFFF read write // AHB1map 0x50000000, 0x50060BFF read write // A

2021-12-04 18:36:32 281

原创 STM32F103C8T6移植uC/OS-III基于HAL库

实验目的学习嵌入式实时操作系统(RTOS),以uc/OS-III为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hellouc/OS! 欢迎来到RTOS多任务环境!”。实验过程建立STM32F103C8T6HAL库打开cubeMX,建立工程配置RCC:配置SYS:设置PC13为GPIO_Output:设置串口:设置工程:然后生成工程代码,之后就去

2021-11-30 22:49:45 306

原创 基于I2C/SPI总线的温湿度采集与OLED显示

实验一实验目的学习I2C总线通信协议,使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。具体任务:1)解释什么是“软件I2C”和“硬件I2C”? (阅读野火配套教材的第23章“I2C–读写EEPROM”原理章节)2)阅读AHT20数据手册,编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)。I2C简介1.什么是I2C协议I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps

2021-11-20 16:45:15 3355

原创 点阵汉字的字模读取与显示

实验一实验内容串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。实验过程连接两台电脑,然后选择USB端口,发送一张图片,如下:发送端文件传输完毕接收端截图如下:实验二实验内容学习理解汉字的机内码、区位码编码规则和字形数据存储格式。在Ubuntu下用C/C++(或p

2021-11-17 23:55:15 159

原创 STM32中断与DMA通信编程

HAL库用中断方式实现按键控制LED1.实验内容用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。本次实验我使用的是PB7为中断管脚,PA4为LED管脚2.实验过程创建工程:在stm32cubeMX中创建工程注意引脚的配置,其中选择PA4为LED灯的引脚,设置为输出模式GPIO_Output;然后同样的,设置外部中断引脚PB7,设置为GPIO_EXT17.然

2021-11-06 13:00:39 131

原创 基于 MDK 创建 STM32 汇编程序:串口输出 Hello Windows

实验要求完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式),要求:1)设置波特率为115200,1位停止位,无校验位;2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。实验器材硬件:stm32f103c8、usb转接口、面包板、导线软件:野火多功能调试助手、ch340_driver、flymcu实验过程连线对应:GND-G3V3-3.3RXD-A9TXD-A10插入

2021-10-28 23:30:54 200

原创 STMCubeMX使用hal库实现流水灯

1.实验工具PC机软件:STMcubeMX,keil5,flymcu;板子:STM32F103C82.STM32cubeMX生成代码下载安装STM32cubeMX,安装到默认路径,,安装完成后打开软件点击help,下载依赖包然后点击access to mcu selector选择自己的芯片然后点击中间信息,然后star project点击System Core,进入里面的SYS,debug处选择Serial Wire点击上方clock configura.

2021-10-26 23:14:33 178

原创 STM32F103C8搞流水灯

1.实验目的 以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOA、GPIOB、GPIOC这3个端口控制LED灯,轮流闪烁,间隔时长1秒。2.建立工程打开keil新建一个工程此处命名为led选择自己需要的芯片类型,此处我选择的是STM32F103C8;3.编写程序我们可以选择网上现成的工程模板文件,此处我所需要的是一个starup_stm32f10x_md.s文件,所以我从网上下了一个...

2021-10-23 23:20:56 389

原创 Keil5——STM32的C语言与汇编语言混合编程

新建工程点击project新建一个工程,输入名称保存,选择芯片,以STM32F103VE为例进行芯片配置汇编程序改写右击Source Group ,选择Add New Item to Group创建文件输入代码:#include<stdio.h>extern int Init_1(int x);int main(){ Init_1(5); return 0;}同上,创建文件输入代码: AREA ...

2021-10-12 14:09:50 1064

原创 Ubuntu虚拟机下OpenCV3.4.11的安装及使用

认识 OpenCV开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库。OpenCV的应用领域包括:2D和3D功能工具包运动估计面部识别系统手势识别人机交互移动机器人动作理解物体识别分割和识别实体影像立体视觉:来自两个摄像机的深度感知运动中的结构(SFM)运动跟踪增强现实为了支持上述一些领域,OpenCV包括一个统计机器学习库,其中包含:提升(Boosting)决策树学习梯度提升树期望最大化算法k最近邻算法朴素贝叶斯分类器人工神经网

2021-10-11 21:55:05 871 1

原创 gcc生成.a静态库和.so动态库

目录静态库&动态库创建以及使用静态库和动态库1.编辑生成子程序hello.h hello.c main.c2.将hello.c编译为.o文件3.创建静态库4.使用静态库5.动态库实例静态库&动态库我们通常把一些公用函数制作成函数厍, 供其它程仔使用函数厍分为静态库和动态库两种。静态库在程序编泽时会被连接到目标代码中, 程序运行时将不再需要该静态库。动态阼在程序编译时并小会被连接到目标代码中. 血是在程序运行是才被找入, 内此在程序运行时...

2021-10-11 16:13:19 118

原创 基于MDK创建STM32的汇编语言工程

新建工程启动MDK,点击菜单栏的project环境配置测试代码任务总结

2021-09-25 00:03:51 69

原创 ubuntu系统用gcc和Makefile方式命令行方式编译程序

使用gcc命令行方式编译运行主程序main1.c目录使用gcc命令行方式编译运行主程序main1.c

2021-09-14 12:13:01 130

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除