自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《通信软件开发与应用》结课报告

目录一、内容:二、开发过程三、遇到的问题及解决办法四、未能解决的问题五、总结这门课程我主要做的是一个"CloudMusic"简易音乐播放平台。cloudmusic (zhang0121.github.io)部分页面展示:首页:推荐MV: 搜索结果: 视频播放:1、在云服务器上部署网易云音乐 NodeJS 版 API,验证能获取到数据。2、项目工程搭建。3、各页面样式编写,获取音乐数据并渲染,配置路由实现页面跳转。4、整个项目打包,部署到云服务器上。1、使用swiper时,样式能显示,但是图片不能轮播。解决办

2022-07-03 21:33:43 271 1

原创 JavaScript&TypeScript 总结

看一行翻译一行;同一时间只能做一件事——js 引擎是单线程。js定义网页行为,使其具有动态效果。 1.变量名必须以英文字母、_、$ 开头2.变量名可以包括英文字母、_、$、数字3.不可以用系统的关键字、保留字作为变量(未来可能当做关键字的词)var a; 变量声明。a=1;变量赋值;可直接简写var a=1;let a; 变量声明。a=1;变量赋值;可直接简写let a=1;let声明的变量只在其代码块内有效,{}以外访问不了const a=1;与let 一样存在作用域,但const在声明变量时必须

2022-06-27 16:43:24 666

原创 CSS总结

目录1、css2、css引入方式3、css语法4、常见样式声明5、盒模型6、布局级联样式表,HTML控制页面元素,css控制页面布局与样式。1.HTML head标签中(外部样式表)<head><link rel="stylesheet" href="./css1.css"></head>2.HTML head标签中直接书写(内部样式表)<head><style>书写css代码</styl

2022-06-27 14:26:41 216

原创 HTML总结

目录一、HTML二、常用元素1.超链接2.1-6级标题3.图片4.列表元素5.表单元素Form6.行级元素:7.块级元素:8.注意1.HTML是超文本标记语言(HyperText Markup Language)。我们用 HTML语言来构建网页。它不是一门编程语言,而是一种用于定义内容结构的标记语言。2.HTML文件结构<html>  <head></head>  <body></body></html>

2022-06-27 14:16:58 335

原创 STM32F103C8T6 对音频数据的 Flash 读取与 DAC 播放

一.写入flash1.工程链接链接:https://pan.baidu.com/s/1jJ6_YlAI9W81w7h6c7FVBw提取码:qwer1.1配置定时器1.2使PC13GPIO模式,判断程序是否运行成功1.3 使GPIO引脚使能1.4 时钟配置1.5设置堆栈大小二.修改代码2.1 修改数组大小首先修改存储的Flash读取数组和写入数组分别为8位的8k个字节大小。uint8_t FlashWBuff [8000];u...

2021-12-31 15:13:02 464

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

一、源码下载GitHub - cdsgsjx/-二、连线 STM32 SD卡 CS PA4 SCK PA5 MISO PA6 MOSI PA7 三、代码修改main.cwhile循环:while (1) { WritetoSD(WriteBuffer,sizeof(WriteBuffer)); HAL_Delay(500); /*WriteBuffer[0]

2021-12-23 10:39:04 580

原创 Ubuntu、stm32重温全局变量、局部变量、堆、栈

一、1、堆 、栈STM32中的堆栈单片机是一种集成电路芯片,集成CPU、RAM、ROM、多种I/O口和中断系统、定时器/计数器等功能。CPU中包括了各种总线电路,计算电路,逻辑电路,还有各种寄存器。stm32 有通用寄存器 R0‐ R15 以及一些特殊功能寄存器,其中包括了堆栈指针寄存器。当stm32正常运行程序的时候,来了一个中断,CPU就需要将寄存器中的值压栈到RAM里,然后将数据所在的地址存放在堆栈寄存器中。等中断处理完成退出时,再将数据出栈到之前的寄存器中,这个在C语言里是自动.

2021-12-23 10:32:59 1017

原创 安装Clion2021,完成stm32F103 点亮LED

一、环境安装1、下载clion,然后安装CLion: A Cross-Platform IDE for C and C++ by JetBrains勾选,add "bin" folder to the PATH,等会儿不用加入环境变量默认next,安装完成运行。点击开始一个试用:start trial,然后去往JetBrains官网注册登录,可以领取试用。注册登录完成2、安装Stm32cubeMXSTM32开发环境的搭建及使用——STM32CubeMX_...

2021-12-13 21:42:19 757 1

原创 STM32F103C8移植uCOSIII(HAL库)

一、获取uC/OS-III源码链接:https://pan.baidu.com/s/1_Wk-hbeQ7KrvnoA0GwJXdA提取码:qwer二、文件整理1 、新建文件新建两个文件夹uC-BSP和uC-CONFIG创建bsp.c和bsp.h文件2、导入源码3、创建工程设置gpio管脚PB0,PB1来观察两个task任务下的led闪烁,并且设置串口usart1,中断不用开启。同时要设置sys,rcc,以及clock72MHZ4...

2021-12-02 20:03:51 557

原创 AHT20温湿度采集及OLED显示

一、协议简介1、I2C 协议IIC 通讯协议 (Inter-Integrated Circuit,又叫 I2C 、I²C ) 是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路 ( IC ) 间的通讯。 I2C 物理层I2C 协议层主要是定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等。当SCL线是高电平时 SDA线从高电平向低电平...

2021-11-23 20:23:44 389

原创 两台笔记本电脑实现串口通信以及点阵字模读写

目录一、两台PC机串口通信1. 连线2.打开调试助手​3.选择并发送文件4. 结果分析二、汉字点阵1. 点阵汉字知识点2. 编程1. 创建文本文档2.打开Ubuntu3.结果一、两台PC机串口通信1. 连线将一个串口的TXD连接另一个串口的RXD,电源和接地对应连一起即可。2.打开调试助手3.选择并发送文件预计1.88s,实际2.1s。4. 结果分析因为传输时延=文件大小/波特率,因为随着波特率的升...

2021-11-14 15:28:31 528

原创 cubemx stm32中断模式与串口DMA通信

(一)外部中断,实现LED亮灭1、创建工程1、选芯片2、设置led1,PA6引脚和外部中断PB1 EXTI13、给中断设置下降沿触发,并且上拉电阻。如果不设置上拉电阻或下拉电阻,led会不停的闪烁,但也可以实现中断。4、配置中断优先级,因为此处只有一个中断,因此它的优先级为0,为最高5、配置时钟频率为72MHZ2、编译及编写中断程序到main.c中加入函数,该函数的作用是翻转电平,即中断一产生,则翻转一次电平。...

2021-11-06 11:16:39 290

原创 STM32开发环境的搭建及使用——STM32CubeMX

一、CubeMX安装环境安装jdk由于STM32CubeMX是Java实现的,需要安装jdk环境。jdk官网下载链接:Java Downloads | Oracle安装STM32CubeMX下载地址:STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics安装过程:1、以管理员身份运行并安装 SetupSTM32CubeMX-6.3.0.exe ,进入下面这个界面后,点击Next2、点I.

2021-10-26 10:27:02 2806 1

原创 STM32F103串口通信

目录一、串口二、STM32系统给上位机(win10)连续发送“hello windows!”1、接线:2、代码实现3、烧录4、串口调试一、串口串口通讯 (Serial Communication) 是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。串口通讯的数据由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口。串口通信协议在串口通讯的协议中,规定了数..

2021-10-26 10:26:00 3863 1

原创 STM32寄存器流水灯

一、查找寄存器地址STM32给不同的寄存器分配了不同的地址,在《STM32中文参考手册》中查找地址。找到GPIOX端口的起始地址寄存器名称 寄存器地址 相对 GPIOA 基址的偏移GPIOA_CRL 0x4001 0800 0x00GPIOA_CRH 0x4001 0804 0x04GPIOA_IDR 0x4001 0808 0x08GPIOA_ODR 0x4001 080C 0x...

2021-10-22 12:55:50 838

原创 gcc编译工具集中各软件的用途,了解EFF文件格式

目录(一)、gcc编译工具(一)GCC(二)GCC编译过程(二)EFF文件格式(三)GCC的常用命令一、gcc编译工具(一)GCCGCC(GNU C Compiler)是编译工具。本文所要介绍的将 C/C++语言编写的程序 转换成为处理器能够执行的二进制代码的过程即由编译器完成。Binutils: 一组二进制程序处理工具,包括:addr2line、ar、objcopy、objdump、as、ld、 ldd、readelf、 size 等。这 一组工具是开发

2021-10-12 17:54:49 715

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

一、用gcc生成静态库和动态库函数库分为静态库和动态库。静态库在程序编译时会被连接到目标代码中,程序运行是则不需要静态库的存在。动态库在程序编译时不会被连接到目标代码中,而是程序运行时载入的。两者区别:前者是编译连接的,后者是程序运行载入的。(一)hello实例使用库1.准备过程(1)创建一个目录hellowork3(2)hello代码hello.h#ifndef HELLO_H#define HELLO_Hvoid hello(const char *name);#en

2021-10-11 19:33:17 157

原创 Ubuntu下OpenCV3.4.11的安装及使用示例

二、安装 OpenCV1)安装包①下载 OpenCV 3.4.11 数据包国内快速下载地址:https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload/②解压缩包在解压缩包之前,将 opencv-3.4.11.zip 复制到 home 文件夹下,再解压缩。unzip opencv-3.4.11.zip③使用 cmake 安装 opencv首先进入解压后的文件夹:opencv-3.4..

2021-10-11 19:31:07 292

原创 搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

1 新建工程点击菜单栏的Project;选择如下:运行环境选择,主要是CMSIS下选择CORE;Device下Startup;二、添加文件1.选择Add New Item to Group2.选择 Asm File (.s) ,三、汇编程序 AREA MYDATA, DATA AREA MYCODE, CODE ENTRY EXPORT __main__main MOV R0, #10 MOV R1, #11 MOV R2,...

2021-09-29 22:20:09 274

原创 Ubuntu系统使用gcc和Makefile编译C程序

(一)直接使用gcc编译C程序1.编写C程序编写main1.c #include"sub1.h"int main(){ int x=2,y=9; //定义x和y变量 printf("%.2f\n",x2x(x,y)); //输出处理后的值,保留两位小数 return 0;} 编写sub1.h #ifndef __SUB1_H#define __SUB1_H#include<stdio.h>float x2x(i

2021-09-12 21:32:47 301

空空如也

空空如也

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

TA关注的人

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