自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

江南烟浓雨的博客

暂时还没想好

  • 博客(27)
  • 资源 (4)
  • 收藏
  • 关注

原创 基于Angular的增删改查

本项目基于AngularCLI14.01开发。使用了node.js中的jsonserver作为服务器,提供数据库的服务。使用了Angular官方的Material组件库,美化网页UI界面和提高交互体验。,已经利用GitHubPage进行部署,可以在商品信息管理系统(gausshj.github.io)上看到本项目运行效果。打开backend文件夹,然后在终端中输入命令通过本次Angular项目开发,使我学习了Angular项目开发的基本流程。...

2022-07-15 10:37:12 1043 1

原创 JavaScript&TypeScript学习总结

本文总结了本人JavaScript和TypeScript的学习过程。本文内容已制作成网页版,观看效果更佳

2022-06-20 11:10:01 832

原创 CSS学习总结

本文总结了本人CSS的学习过程。本文内容已制作成网页版,观看效果更佳。

2022-06-17 16:26:25 349

原创 HTML学习总结

本文总结了本人HTML的学习过程。本文内容已制作成网页版,观看效果更佳。

2022-06-17 16:20:13 1223

原创 STM32F103的DAC功能实现音频输出

本次实验主要内容:用Adobe audition或goldwave等音频编辑软件录制“您好欢迎光临!”的几秒钟的声音(8khz采样、8bit量化编码的单声道wav格式),确保音频数据尽量小(最大不超64KB)。然后编程将其分批次写入stm32f103c8t6芯片内部flash区域。文章目录一、DAC简介二、录制音频1. 生成wav文件2. 使用Ultra Edit软件3. 使用 WavToC软件三、修改代码四、总结五、参考资料一、DAC简介数模转换器,又称D/A转换器,简称DAC,它是把数字量转变.

2021-12-30 23:24:54 3211

原创 STM32F103写入Flash

本次实验主要内容:Flash地址空间的数据读取。stm32f103c8t6只有20KB 内存(RAM)供程序代码和数组变量存放,因此,针对内部Flash的总计64KB存储空间(地址从0x08000000开始),将数据写入Flash一、创建STM32CubeMX工程首先打开STM32CubeMX软件,选择芯片为STM32F103C8T6图 1-1这里选择PC13引脚为GPIO口,可以使实验效果更明显。创建STM32CubeMX工程文件可以参考博客:STM32CubeMX的安装与简单应用_江南烟.

2021-12-30 22:08:06 3162

原创 STM32完成SD卡的数据写入

本次实验使用STM32F103C86芯片完成对SD卡的数据写入(FAT32文件模式)文章目录一、SD卡模块简介二、创建工程三、总结四、参考资料一、SD卡模块简介根绝百度百科上的解释:SD卡_百度百科 (baidu.com)SD存储卡是一种基于半导体快闪记忆器的新一代记忆设备,由于它体积小、数据传输速度快、可热插拔等优良的特性,被广泛地于便携式装置上使用,例如数码相机、平板电脑和多媒体播放器等。读者可以参考网络资源了解SD卡,下文参考正点原子STM32不完全手册。SD卡按容量分类,可以将SD.

2021-12-24 20:06:22 5401 1

原创 Altium Designer绘制STM32F103C8T6及SD卡模块原理图

本文主要叙述了Altium Designer绘制STM32F103C8T6及SD卡模块的原理图。文章目录一、原理图设计1. 新建项目2. 绘制电路图二、总结三、参考资料一、原理图设计关于AD软件的基础用法可以参考下面的链接:https://www.bilibili.com/video/BV1Ab411K7yp/?spm_id_from=333.788.videocard.0 https://www.bilibili.com/video/BV17E411x7dR?p=21. 新建项目首先打开.

2021-12-24 19:03:46 4468

原创 Ubuntu、STM32下C语言程序内存分配问题

本文主要内容为编写一个C程序,重温全局变量、局部变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证(STM32 通过串口printf 信息到上位机串口助手) 。归纳出Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址,进行对比分析。文章目录一、C程序的内存分配二、Ubuntu下的验证三、STM32下的验证四、总结五、参考资料一、C程序的内存分配C语言程序中的变量包含栈、堆、全局、局部等,简单回顾一下有关概念的释义分区作用.

2021-12-21 19:20:04 1000

原创 Clion源码编辑器的学习并实现点亮STM32F103的LED灯

本文主要叙述CLion的下载、安装,及使用CLion软件环境进行STM32F103单片机的开发。本文中的实例将使用STM32F103C8T6单片机,将PC13引脚作为LED灯的输出引脚,实现1s为周期的闪烁。文章目录一、环境配置1. CLion的下载和安装2. arm-none-eabi-gcc的下载和安装3. MinGW的下载和安装4. OpenOCD的下载和安装二、搭建工程1. 创建工程2. 配置CLion3.实验结果三、实验总结四、参考链接一、环境配置1. CLion的下载和安装可以在Je.

2021-12-14 12:58:14 803 1

原创 STM32F103移植uCOS-III

本文主要叙述使用STM32F103C8T6移植uCOSIII操作系统,构建3个任务,以1s和3s洲际对LED进行点亮-熄灭控制,以2s周期通过串口发送“hello uc/OS! 欢迎来到RTOS多任务环境!”。在掌握Keil仿真调试代码功能以外,使用SaleaeLogic16抓取LED和串口通信的波形。实验软件:Keil μVision5、STM32CubeMX、Logic 1.1.20文章目录一、uCOSIII简介二、创建工程三、移植工程1. 工程文件中添加文件2. Keil中添加文件3. 修改代.

2021-12-05 12:51:24 3963 3

原创 基于SPI的OLED温湿度显示

本文首先会简单介绍SPI通信协议,然后后面的实验分为两个板块,一个是OLED屏的使用,另一个是在此基础上,结合上次实验(结尾会附上链接),用OLED屏显示温湿度信息。实验器材:STM32F103C8T6、0.96寸OLED屏、AHT20温湿度传感器、杜邦线若干实验环境:Keil μVision5、PCtoLCD2002文章目录一、SPI协议1. SPI简介二、OLED屏的简单应用1. OLED原理2. OLED显示文字2.1 部分代码实现思想2.2 完整代码`oled.h``oled.c``gui.

2021-11-25 08:49:09 1251 2

原创 基于I2C的温湿度采集

本文主要采用STM32F103系列芯片、AHT20芯片来实现温湿度采集,并通过串口发送给计算机。文章目录一、I2C协议1. 工作原理1.1 空闲状态1.2 起始信号与停止信号1.3 应答信号ACK1.4 数据有效性1.5 数据的传送2. 软件I2C3. 硬件I2C二、AHT20简介三、实验代码1. 实现思想2.实验代码四、实验结果五、实验总结六、参考资料一、I2C协议I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。在STM.

2021-11-23 08:34:43 578 1

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

本文主要叙述汉字的区内码、机位码编码规则和字形数据存储格式。在Ubuntu下用C++调用OpenCV库编程显示一张图片,并打开一个名为“logo.txt”的文本文件,并按照名字和学号去读取汉字24*24点阵字形字库(HZKf2424.hz)中对应字符的字形数据。操作系统:Ubuntu 18.04文章目录一、汉字的区内码、机位码编码规则1. 区位码2. 机内码二、字形数据存储格式1. 点阵字库存储2. 16 *16点阵字库3. 14 *14与12 *12点阵字库4. 汉字点阵获取4.1 利用区位码获取.

2021-11-15 14:10:36 3151

原创 串口传输文件

本文主要叙述通过串口来进行文件传输文章目录一、实验简介二、通过串口传输文件1、简单的对话2、文件的传输3、思考三、实验总结四、参考资料一、实验简介本次实验将首先通过串口来进行发送和接收信息,然后将通过串口发送文件。由于实验设备的限制,本次实验通过笔记本电脑的两个USB口,再通过两个TTL转USB模块和杜邦线连接。注意:需要将TXD接另一个模块的RXD,RXD接另一个模块的TXD,不需要接电源和地。效果图也比较简单,这里就不做展示了。关于串口通信的相关原理可以参考我之前的博客STM32F10.

2021-11-14 16:46:52 11850 1

原创 STM32F103DMA串口通信

本文在前两篇USART串口通信的基础上,使用DMA控制器来实现串口通信文章目录一、DMA1.DMA简介2.DMA主要特性3.部分代码原理二、实验代码三、实验结果四、总结五、参考资料一、DMA1.DMA简介DMA全称Direct Memory Access,即直接存储器访问。直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和回复现场过程,通过硬件为RAM和IO设备开辟一条直线传输数据的通道.

2021-11-06 13:01:39 4648

原创 STM32F103中断串口通信USART

本文基于笔者之前的博客STM32F103串口通信USART小试牛刀,在此基础上,加上中断函数,并补充HAL函数实现。文章目录一、实验原理二、实验代码1.库函数2.HAL库函数三、实验结果四、总结五、参考文献一、实验原理实验原理可以参考笔者之前的两篇博客STM32F103串口通信USART小试牛刀_江南烟浓雨的博客-CSDN博客STM32F103开关控制LED灯_江南烟浓雨的博客-CSDN博客本次串口实验的中断名称为USART1,和之前一样,初始化GPIO,初始化NVIC,初始化串口USART.

2021-11-03 21:24:07 5124

原创 STM32F103开关控制LED灯

本文主要介绍了通过中断来实现开关控制LED灯的亮和灭。软件:Keil μVision芯片:STM32F103C8T6文章目录一、实验简介二、实验原理1. NVIC简介2.EXTI简介三、实验代码1.库函数方式2.HAL函数方式四、实验结果五、总结六、参考文献一、实验简介本次实验通过B1端口的开关控制A1端口的LED灯,即B1端口接高电平时LED亮,B1端口接低电平时LED灭。实验电路图比较简单,这里就不做展示。二、实验原理本次实验主要使用了中断、GPIO输入和输出模式来进行实验。CM3内.

2021-11-01 16:47:01 8031 1

原创 STM32F103串口通信USART小试牛刀

本文主要叙述了STM32F103芯片实现USART串口通信简介,通过库函数实现STM32F103芯片给电脑发送"Hello,world!"实验环境:keil μVision、xCOM文章目录一、串口通信简介二、创建工程1.实验原理2.代码实现三、实验结果四、总结五、参考文献一、串口通信简介串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但串口可以在使用一根发送数据的同时用另一根线接收数据。常用协议包括RS-232(ANSI/EIA-232标准),一种IBM-PC.

2021-10-25 16:39:25 10076 2

原创 STM32CubeMX的安装与简单应用

本文主要叙述了STM32CubeMX的安装和简单应用软件:STM32CubeMX、keil μVision文章目录一、STM32CubeMX简介二、开发环境的配置1.JDK的下载2.STM32CubeMX的下载3.STM32CubeMX的安装三、STM32CubeMX的简单应用1.创建工程(New Project)2.引脚配置(Pinout & Configuration)3.时钟配置(Clock Configuration)4.工程管理(Project Manager)5.修改程序6.调试.

2021-10-23 18:21:58 1013

原创 STM32F103点亮LED流水灯

本文主要叙述了什么是寄存器及用寄存器和库函数的方式点亮LED流水灯,本文主要采用stm32f103c8t6开发板开发环境:keil μVision 5文章目录一、什么是寄存器二、实验原理1. STM32F103的地址和寄存器映射原理2.找到寄存器地址3. GPIO端口的初始化设置三、创建工程1.准备工作1.1 实验材料1.2 原理图1.4 创建工程目录2.创建工程2.1 创建Keil工程文件2.2 默认文件夹的设置(选做)2.3 添加宏定义和头文件路径2.4 注意事项2.5 程序——寄存器版本2.6.

2021-10-21 19:53:40 5314

原创 C与汇编语言混合编程

本文主要叙述了C与汇编语言混合编程,汇编语言指的是ARM汇编语言。本文用来帮助理解ARM嵌入式中的汇编程序,及C语言如何与汇编混合编程。主要使用软件:keiL μVision5文章目录一、ARM汇编语言简介二、C语言调用汇编语言1.无参数调用2.有参数调用三、汇编语言调用C语言四、总结五、参考文献一、ARM汇编语言简介什么是汇编语言?汇编语言是任何一种适用于电子计算机、微处理器或其他可编程器件的低级语言。虽然被称为“低级语言”,但是并不是说汇编语言真的“低级”。特定的汇编语言和特定的机器语言指令.

2021-10-13 22:56:29 1159

原创 Ubuntu 18.04下OpenCV的安装与简单应用

本文主要叙述了OpenCV3.4.14安装及使用示例操作系统:Ubuntu Desktop 18.04文章目录一、简介二、安装1.下载安装包2.解压安装包3.安装opencv4.配置环境三、示例——图片四、示例——视频1. 准备工作2.播放视频3. 录制视频五、总结一、简介OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和[Mac OS](https://baike.baidu.com/item/Mac OS/2.

2021-10-09 10:49:12 1128

原创 Linux gcc常用命令

本文主要叙述了Linux gcc常用命令和gcc编译器背后的故事文章目录Linux gcc常用命令gcc编译器背后的故事1.简介2.简单编译2.1 预处理(Preprocessing)2.2 编译为汇编代码(Comilation)2.3 汇编(Assembly)2.4 连接(Linking)3.多个程序的编译4.检错5.库文件连接Linux gcc常用命令gcc编译器背后的故事gcc不是一个人在战斗,gcc背后其实有一堆战友。gcc(GNU C Compiler)是编译工具,将C/C++编写的.

2021-10-07 23:45:37 390

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

本文主要叙述了gcc如何生成静态库(.a)和动态库(.so),帮助我们更好的进行嵌入式编程。因为有些时候,涉及安全,所以可能会提供静态库或动态库供我们使用。系统环境:Ubuntu Desktop 18.04文章目录一、什么是静态库和动态库二、gcc生成.a静态库和.so动态库1.生成静态库(.a)1.1编辑生成例子程序hello.h、hello.c和main.c1.2将hello.c编译成.o文件1.3由.o文件创建静态库1.4在程序中使用静态库1.5验证静态库的特点2.生成动态库(.so)2.1由.o

2021-10-07 22:18:41 358

原创 Keil环境配置及stm32程序的仿真调试

本文主要叙述Keil的环境配置,stm32库的安装,使用keil编写简单的程序、hex的简单分析及程序的仿真调试。系统环境:Windows 10本文主要使用的软件:Keil μVision5、文章目录Keil的环境配置1.Keil的介绍2.MDK531的安装3.stm32库的安装在Keil中创建stm工程Keil程序的仿真调试分析Hex文件常见问题Keil程序的仿真结尾Keil的环境配置1.Keil的介绍keil公司是一家业界领先的微控制器软件开发工具的独立供应商。keil公司于2005年

2021-09-27 21:40:38 10645 1

原创 Ubuntu系统下C语言的编译及makefile的应用

本文主要叙述了Ubuntu在Windows10环境下的安装,Linux系统下编写C语言程序、运行C语言程序,及Makefile文件编写规则。目录文章目录Ubuntu的安装1.Linux简介2.虚拟机的安装2.1 虚拟机的选择2.2 VMware Workstation pro安装常见问题2.3 Ubuntu 的安装Ubuntu系统下编写C语言程序1.C语言环境的安装2.编写HelloWorld程序Makefile的应用1.Makefile简介2.实例Ubuntu的安装1.Linux简介​ Linu

2021-09-14 11:26:34 742

STM32F103开关控制LED灯.rar

STM32F103开关控制LED灯.rar

2021-11-01

STM32CubeMX的安装与简单应用.rar

STM32CubeMX的安装与简单应用.rar

2021-10-27

STM32F103串口通信USART小试牛刀.rar

STM32F103串口通信USART小试牛刀.rar

2021-10-27

STM32F103C8T6寄存器方式点亮LED流水灯.rar

STM32F103C8T6寄存器方式点亮LED流水灯.rar

2021-10-25

空空如也

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

TA关注的人

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