自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 Ubuntu云服务器搭建FTP环境

在Ubuntu 18.04云服务器上搭建支持匿名用户、本地用户和虚拟用户访问的FTP环境

2022-07-08 13:59:51 1796 2

原创 Windows电脑GPU配置CUDA和cuDNN

最近需要使用电脑的GPU进行并行计算,由于以前也配置过GPU的深度学习环境,但是并没有自己总结如何配置GPU的CUDA和CUDNN,因此趁着这次写了这篇文章,留作记录。

2022-02-11 17:35:36 3346

原创 使用python自动发送QQ消息

这篇文章是为了记录之前编写的自动给好友发送QQ消息,实现自动化操作。(虽然需要手动执行,但还是值得记录一下)目录一、登录QQ二、打开聊天窗口三、发送消息四、完整代码一、登录QQ首先判断是否已经登录QQ,若未登录则进行QQ登录操作,否则执行下一步操作。这里使用psutil库判断QQ是否登录,它的主要原理是遍历系统中的所有进程的PID,若存在PID的进程名与QQ.exe相同则已登录QQ,否则表明未登录QQ。若已登录QQ,则进入下一步的操作,否则执行登录QQ的操作。登录QQ这里直接使用os..

2021-08-04 11:01:25 12111 4

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

《通信软件开发与应用》课程结业报告1、课程结业内容​ 《通信软件开发与应用》这门课程我主要做的是一个电影排名显示,叫做Project-Movie。我通过对前端动态框架angular和TOH-version 2的学习,在TOH-version 2的基础上做出了Project-Movie这样的网站。2、开发过程首先,我在VScode编辑器中利用前端框架angular在本地进行angular官方教程英雄之旅的学习,然后自己搭建出了如下所示的网站,基本实现了数据修改的功能。然后我开始了自己的项目Proje

2021-06-18 21:26:43 483

原创 Web技术基础之CSS

这篇文章是对Web前端三大核心技术之一的CSS技术学习的总结。目录1、何为CSS2、CSS语法1.选择器2.class选择器3、CSS如何生效1.外部样式表2.内部样式表3.内联样式4、颜色、尺寸、对齐1.颜色2.尺寸3.对齐5、盒子模型6、边框与边距1.边框2.边距7、定位1.static2.relative3.fixed4.absolute8、溢出9、浮动10、不透明度11、组合选择器1.后代选择器2.子选择器(后代选择器)12、伪类和伪元素1、何为CSSCSS是级联样式表(Cascading.

2021-03-18 17:13:21 230

原创 Web技术基础之HTML

这篇文章是对Web前端三大核心技术之一的HTML技术学习的总结。目录1、何为HTML2、HTML文档结构3、HTML文档结构分析1.HTML元素(elements)2.文档分析4、HTML文档相关1.注释2.空元素3.元素的属性4.标题(heading)5.文本格式6.超链接 a7.图片及文件路径 img8.表格 Table9.列表 List10.表单 Form11.其他1、何为HTMLHTML是超文本标记语言(HyperText Markup Language)的缩写。我们用 HTML 来构建.

2021-03-18 17:10:13 217 2

原创 合泰HT32单片机串口通信

这里我在Keil 5上使用官方固件库进行HT32F52352单片机的串口通信实验。目录(一)官方例程移植1、添加printf函数支持2、更改串口中断处理函数(二)实验例程1、printf函数2、串口初始化函数3、main函数(三)实验结果(一)官方例程移植由于官方自带的usart例程分别有Interrupt、Interrupt_FIFO、PDMA、Polling、Retarget五种不同方式的串口通信,这里主要使用Interrupt这种最基本的方式练习串口通信。1、添加printf函数支持.

2021-02-18 21:55:07 4494 5

原创 合泰HT32单片机点亮LED

本文通过使用合泰HT32F52352单片机点亮LED灯。目录(一)开发环境搭建1、Keil环境搭建2、Keil工程搭建(一)开发环境搭建1、Keil环境搭建由于之前学习STM32的时候也是用的Keil 5软件,因此对于Keil 5软件有一定的熟练度,所以这里采用Keil 5进行程序的编译。HT32F52352的Keil开发包下载合泰官网有HT32F52352的所有开发资料以及文档,我们去下载Keil的安装包这里我们选择Documents下的HT32_STD_5xxxx_FWLib_.

2021-02-11 18:10:43 2732 2

原创 基于STM32的DAC实现音频波形的输出

本文目的是使用STM32的DAC(数模转换)实现音频信号波形的输出。这里分为两个部分:第一部分实现特定频率单音频信号波形的输出;第二部分实现歌曲音频信号波形的输出。目录(一)DAC简介1.STM32的DAC2.DAC主要特征3.DAC通道模块框图(二)单音频正弦波输出1.实验目的2.ADC 配置3.输出信号3.歌曲音频信号波形输出(三)总结(一)DAC简介1.STM32的DAC数字/模拟转换模块(DAC)是12位数字输入,电压输出的数字/模拟转换器。DAC可以配置为8位 或12位模式,也可以与D.

2021-01-01 15:47:48 11721 8

原创 使用STM32输出PWM波形

本文目的是通过在STM32平台上采用定时器的方法输出PWM波形,进而熟悉和掌握PWM的原理和产生。目录(一)PWM简介1.关于PWM2.STM32上的PWM(二)STM32配置PWM输出(三)PWM输出波形1.Keil虚拟示波器观察2.示波器观察(四)总结(一)PWM简介1.关于PWM含义PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术;它是一种模拟控制方式,根据相应载荷的变化来调制晶体管基.

2021-01-01 15:44:26 27300 4

原创 基于Keil 5编写汇编程序

本文目的是通过keil 5 编写汇编程序来熟悉汇编语言的相关知识。这里分为两个部分:第一个部分在Keil上练习汇编的编写和调试,同时了解一下Hex文件的格式;第二个部分是使用汇编进行stm32F103的点灯实验,用实战的方式来加深理解。目录(一)汇编语言1.简介2.指令3.优缺点(二)使用Keil 5编写汇编程序1.新建汇编工程2.新建汇编文件(一)汇编语言1.简介汇编语言(Assembly Language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。.

2020-12-28 21:33:08 20909 8

原创 STM32三种BOOT模式下内存地址分配比较

本文目的是通过在stm32最小系统板上练习三种不同的启动模式条件下,C程序编译后在stm32内存中的分配情况。目录(一)stm32的三种启动模式1.主闪存存储器2.系统存储器3.内置SRAM(二)实验验证1.主闪存存储器2.系统存储器3.内置SRAM(三)总结(一)stm32的三种启动模式stm32上电或者复位后程序的启动模式根据BOOTT[1:0]引脚选择三种不同启动模式,具体详情如下:在系统上电或者复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。我们可以通过设置BOOT1和.

2020-12-27 19:03:14 1184

原创 基于SPI通信方式的OLED显示

本文目的是通过SPI的通信方式进行OLED的显示,同时与之前学的I2C通信方式进行对比,在实践中学习SPI通信。目录(一)SPI简介(一)SPI简介

2020-12-26 13:54:48 14863 4

原创 计算机网络之Cisco Packet Tracer仿真实验

本文目的是通过在Cisco Packet Tracer(CPT)软件平台上进行网络的规划和配置,熟悉计算机网络的搭建过程并对计算机网络有更加深入的了解。目录(一)Cisco Packet Tracer(CPT)简介(一)Cisco Packet Tracer(CPT)简介CPT借助思科构建的功能强大的网络仿真工具,可以让我们获得真实的体验。通过练习在各种设备上构建简单而复杂的网络,并扩展到路由器和交换机之外,创建可与智能城市,家庭和企业互连的解决方案。思科Packet Tracer...

2020-12-25 19:32:45 9543

原创 Altium Designer 19绘制stm32最小系统元器件库及PCB

本文目的是练习使用Altium Designer 19绘制stm32最小系统的元器件库和PCB。接上篇:Altium Designer 19绘制stm32最小系统原理图库及原理图目录(一)绘制元器件库(二)绘制PCB(三)总结(一)绘制元器件库(二)绘制PCB(三)总结...

2020-12-25 14:50:58 4335

原创 使用Wireshark对TCP/IP协议进行抓包分析

在windows平台使用Wireshark软件进行抓包分析,了解数据链路层、网络层、传输层和应用层的协议规范。目录(一)数据链路层实作一 熟悉Ethernet帧结构实作二 了解子网内/外通信时的MAC地址实作三 掌握ARP解析过程(二)网络层实作一 熟悉IP包结构实作二 IP包的分段与重组实作三 考察TTL事件(三)传输层实作一 熟悉TCP和UDP段结构实作二 分析TCP建立和释放连接(四)应用层实作一 了解DNS解析实作二 了解HTTP的请求和应答(一)数据链路层实作一 熟悉Ethernet帧结.

2020-12-22 18:19:54 4575

原创 windows上重要的计算机网络命令实践

本文目的是在windows上输入相应的网络命令来学习相应的计算机网络的知识。目录(一)计算机网络命令1.ipconfig2.ping(一)计算机网络命令1.ipconfig简介ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。显示所有当前 TCP/IP 网络配置值并刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。 在没有参数的情况下使用, ipconfig 显示 Internet 协议版本.

2020-12-19 18:51:36 757

原创 基于I2C通信协议的温湿度采集

本文目的是使用I2C通信协议对AHT20温湿度传感器进行数据采集,并将采集到的温湿度数据通过串口发送给上位机(windows10)。目录(一)I2C通信协议1. I2C协议简介2. I2C总线特点3. I2C工作原理(二)I2C的实现方式1.软件I2C2.硬件I2C3.软硬I2C的比较(三)温湿度数据采集(一)I2C通信协议1. I2C协议简介I2C通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于.

2020-12-14 16:17:41 1741

原创 Stduino IDE试用

本文目的是尝试使用以下国产MCU集成平台Stduino IDE,并与Arduino IDE做下比较。目录(一)Stduino IDE1.Stduino IDE简介2.安装(二)Stduino IDE使用1.Stduino IDE界面2.串口实验3.与Arduino IDE对比(三)总结(一)Stduino IDE1.Stduino IDE简介Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,已率先支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得.

2020-12-12 13:54:21 316

原创 STM32基于标准库函数和HAL库编程差异

本文目的是以串口通信来简要分析STM32使用标准库函数和HAL库函数编程的差异。目录(一)开发方式1.配置寄存器2.库函数3.HAL库(二)库函数与HAL库对比1.串口通信实验2.库函数与HAL库比较(三)总结(一)开发方式1.配置寄存器很多人学习51单片机开发的时候,基本都是直接操作寄存器进行单片机的控制,但是当他们转向STM32开发的时候,直接操作寄存器不是那么容易了,因为STM32的寄存器数量是51单片机的许多倍,开发时经常需要翻查芯片的数据手册,此时直接操作寄存器就变得非常的费力了。.

2020-12-12 11:30:46 9528 7

原创 Arduino IDE进行STM32串口通信的开发

本文目的是在Arduino平台上进行STM32F103C8T6的串口通信实验,学习在Keil MDK平台以外的Arduino平台进行STM32的开发。目录(一)安装和配置Arduino IDE开发环境1.Arduino简介2.安装Arduino IDE3.配置STM32F10X的开发环境(二)Arduino IDE平台进行串口通信实验1.实验说明2.实验代码3.实验结果及分析(三)总结(一)安装和配置Arduino IDE开发环境工欲善其事,必先利其器。1.Arduino简介Arduino.

2020-12-11 22:04:28 2177

原创 STM32平台下的FreeRTOS移植

本文目的是在Keil uVision5(MDK)上把FreeRTOS移植到STM32平台上去,并练习使用FreeRTOS的任务调度功能目录(一)FreeRTOS简介1.实时操作系统FreeRTOS2.FreeRTOS源码分析(一)FreeRTOS简介1.实时操作系统FreeRTOS简介FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,其功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。RTOS 的任务调.

2020-12-02 20:53:54 682 2

原创 C语言程序编译后内存地址的分配

本文目的是简要介绍C语言编译得到的可执行文件加载到内存运行时不同变量分配的存储位置,并通过在Ubuntu 18.04系统和STM32系统上进行编程验证C语言编译后内存地址分配是否和理论一致。目录(一)C程序内存分配1.内存分配图解2.内存分配介绍(二)Ubuntu系统下实验验证1.详细代码2.实验结果3.实验结果分析(三)STM32系统下实验验证1.详细代码2.实验结果3.实验结果分析(一)C程序内存分配1.内存分配图解其中C程序的内存分配为栈区、堆区、全局区、常量区和代码区这五大区域,而全局.

2020-12-01 10:25:05 2594 1

原创 STM32平台的USART串口通信

本文目的是编写stm32串口通信程序,实现stm32上电自动循环发送hello LYJ!!!,并可通过上位机控制stm32串口发送与否。通过亲自做一下USART串口通信实验,学习如何使用stm32平台的USART串口通信功能。目录(一)串口通信简介1.串口通信2.USART(通用同步异步收发器)(二)USART串口实验1.实验要求及原理2.实验核心代码3.实验说明(三)实验结果及总结1.实验结果2.实验总结(一)串口通信简介1.串口通信概念串口通信是指外设和计算机间,通过数据信号线 、地线、.

2020-11-29 20:06:56 1208

原创 Altium Designer 19绘制stm32最小系统原理图库及原理图

本文目的是练习使用Altium Designer 19来绘制一个stm32最小系统的原理图库和原理图。目录(一)安装Altium Designer19(二)AD19简要介绍(三)绘制原理图库1.新建PCB工程2.绘制元件库(一)安装Altium Designer19使用Altium Designer19(以下简称AD19)来练习stm32的最小系统原理图和PCB,首先就需要安装AD19。由于这里我主要介绍如何在AD19上绘制stm32最小系统原理图库和原理图,因而就不着重介绍如何安装。大家可以自行.

2020-11-08 20:56:39 4917 4

原创 在Proteus进行stm32程序的仿真运行

本文目的是通过protues进行stm32程序的仿真和运行,了解仿真和实际硬件操作的不同之处目录(一)新建工程(二)创建原理图并进行仿真1.创建原理图2.进行程序仿真(三)总结(一)新建工程新建工程点击新建工程,输入工程名和工程所在路径,点击下一步选择从选中的模板中创建原理图,点击下一步选择不创建PCB布版设计,点击下一步选中创建固件库,选择Cortex-M3系列,Controller选择STM32F103R6,编译器默认为GCC for ARM(not configured),点.

2020-11-07 17:52:07 14535 10

原创 Ubuntu上可视化调试前端软件之VScode

本文目的是在Ubuntu系统使用gdb调试程序的基础上,练习使用可视化调试前段软件VScode调试程序。目录(一)安装并配置VScode1.安装VScode2.配置VScode编译C/C++的环境3.配置VScode调试C/C++的环境(二)使用VScode进行程序的调试1.调试程序2.启动调试3.修改程序(三)总结(一)安装并配置VScode1.安装VScode方法一直接在Ubuntu系统自带的Ubuntu软件安装Visual Studio Code方法二命令行安装Visual Stu.

2020-11-07 14:34:24 2795 4

原创 Ubuntu18.04安装OpenCV进行图像编程

本文目的是通过在Ubuntu18.04系统上编译安装著名的C/C++图像处理开源软件库OpenCV3.4.12,同时练习使用OpenCV对图片和视频进行处理。目录(一)编译安装OpenCV1.编译安装源代码2.遇到的问题3.验证安装成功(二)使用OpenCV对图片进行处理1.编写程序2.编译运行程序(三)使用OpenCV对视频进行处理1.源程序2.虚拟机连接摄像头3.使用OpenCV打开摄像头(四)实验总结(一)编译安装OpenCV1.编译安装源代码参考博客:ubuntu安装opencv的正确方.

2020-10-30 21:33:12 518

原创 Ubuntu系统使用gdb调试C程序

本文目的是通过在Ubuntu系统18.04上使用gdb调试器调试C语言程序,在调试的过程中深入了解gdb调试器的用法并且熟练掌握Linux系统下gdb调试器的使用。目录(一)初识gdb1.gdb简介2.启动gdb3.gdb相关命令(二)执行程序时出错1.源程序2.遇到的问题(二)gdb调试解决问题1.gdb调试RevertNum程序2.gdb调试Seg_Demo内存出错的程序(三)总结(一)初识gdb1.gdb简介GDB : GNU Debugger,是GNU工程为GNU操作系统开发的调试器,.

2020-10-29 21:08:26 1327

原创 Ubuntu系统上常用光标库curses的简要介绍及使用

本文目的是了解curses光标库的主要函数以及如何使用它制作一个贪吃蛇小游戏。目录(一)curses库的简要介绍1.安装curses库2.curses库的介绍(二)使用curses库编写贪吃蛇小游戏1.源程序3.编译生成可执行文件(三)总结(一)curses库的简要介绍1.安装curses库执行命令sudo apt-get install libncurses5-dev安装curses库查看curses库的头文件安装路径使用命令whereis curses查看curses的头文件路径.

2020-10-17 16:44:37 919

原创 GCC编译工具集和nasm编译器的简要介绍

本文主要是简单的介绍一下GCC编译工具集中各软件的作用,同时简要介绍一下EFF文件和汇编语言的格式。目录(一)GCC编译工具集1.GCC的组成2.GCC编译过程(二)EFF文件格式1.ELF文件2.反汇编ELF(三)汇编语言格式1.汇编语言定义2.汇编语言组成(四)nasm汇编编译器编译生成可执行程序1.Ubuntu安装nasm汇编编译器2.编译代码hello.asm(一)GCC编译工具集1.GCC的组成GCC(GNU C Compiler)gcc是编译工具。它可以将 C/C++语言编写的程.

2020-10-17 08:39:36 2449

原创 gcc分别链接静态库和动态库生成可执行文件

本文分别通过链接静态库和动态库来编译可执行文件,在使用gcc编译的过程中了解链接静态库和动态库的区别与联系,同时深入理解Linux系统上是如何将源程序一步步的编译组装成可执行文件的。目录(一)库文件(二)编译时链接静态库文件1.源程序2.编译静态库文件libx2.a(一)库文件(二)编译时链接静态库文件1.源程序main.c(主函数)#include"sub1.h"#include"sub2.h"#include<stdio.h>int main(){ int x.

2020-10-16 19:41:54 3458

原创 proteus进行51单片机矩阵键盘仿真实验

本文通过在proteus上搭建51单片机的矩阵键盘电路并联合keil编程软件编写的源程序进行8*8矩阵键盘仿真,进而熟悉proteus仿真软件的仿真操作。目录(一)4×4矩阵键盘原理1.逐行扫描2.行列扫描(二)8×8矩阵键盘设计1.proteus电路图设计2.程序设计3.矩阵键盘仿真效果(三)总结(一)4×4矩阵键盘原理1.逐行扫描通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下;然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。2.

2020-10-08 14:02:53 8473

原创 STM32开发环境配置及简单的程序编译运行

本文目的主要是进行STM32程序的编译及运行,而STM32的开发环境配置网上有很多资料因而不再赘述;对于STM32工程的建立,本文主要参考正点原子精英板的LED闪烁的例程。目录(一)开发环境配置(二)STM32程序编译及运行(一)开发环境配置参考博文一:MDK5安装破解以及安装stm32与C51支持包(附安装包)参考博文二:keil5.25环境搭建,stm32f103的MDK开发环境搭建,安装包网盘链接(二)STM32程序编译及运行...

2020-10-08 13:59:38 1980

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

本文目的是为了通过在Ubuntu系统上编译多个c程序以此熟悉在Linux系统上编写c程序的操作。相关程序名称分别为main1.c、sub1.c、sub1.h;以下采用两种方式进行编译,第一种是直接使用gcc在命令行编译,第二种是使用Makefile文件编译。目录(一)直接使用gcc编译c程序1.准备工作2.gcc直接编译(二)与windows平台编程对比(三)使用Makefile编译c程序(一)直接使用gcc编译c程序1.准备工作编写main1.c#include"sub1.h"int.

2020-09-24 09:17:16 4301

原创 Linux更换默认python版本为python3

这里针对的是python2和python3版本均已安装且默认python版本为python2的情况一、查看已安装版本python2 --version #查看python2安装版本python3 --version #查看python3安装版本#系统默认安装2.7.16和3.7.3二、切换为python3Python3和Python2是互相不兼容,但也不能卸载python2,可以将Python的指向Python3,这样就可以默认使用python3了。终端输入:python .

2020-08-31 14:21:25 1852

原创 Excel使用技巧总结三

四舍五入ROUNDROUND(需要四舍五入的数值,保留几位小数)(大于0,在小数点右边四舍五入;等于0,四舍五入到整数;小于0,小数点左边四舍五入)向下舍入到整数INT与整数截断TRUNGINT():对数值进行向下舍入,保留整数(即不超过该数值的最大整数)TRUNC(数据,保留的小数位):数字截取(直接截取需要保留的小数位)向上舍入ROUNDUP与向下舍入ROUNDDOWNROUNDUP(数据,保留小数位):向上舍入,向前一位进1(大于0,在小数点右边向上舍入;等于0,向上舍..

2020-08-15 10:22:28 189

原创 C中的位操作

c语言位操作位与 &特点:有0得0,同为1才得11 & 0 = 00 & 0 = 00 & 1 = 01 & 1 = 1位与&和逻辑与&&的区别:位与时两个操作数是按照二进制位彼次对应位相与的,逻辑与是两个操作数作为整体来相与的位或|特点:有1得1,同为0才得01 | 0 = 10 | 0 = 00 | 1 = 11 | 1 = 1位或|和逻辑或||的区别:位或时两个操作数是按照二进制位彼次对应位相或

2020-07-28 11:32:58 127

原创 十八、用GUI自动化控制键盘和鼠标

关于《python编程快速上手-让繁琐工作自动化》的学习笔记1.安装pyautogui模块windows上使用pip install pyautogui安装2.走对路通过注销关闭所有程序停止失去控制的GUI自动化程序,最简单的方法可能是注销,注销将会关闭所有运行的程序。暂停和自动防故障装置将pyautogui.PAUSE变量设置为暂停的秒数,这会在出问题的时候让你有很短的时间窗口来控制鼠标和键盘。pyautogui也有自动防故障功能,将鼠标移到屏幕的左上角,会导致pyautogui产生p.

2020-07-25 21:33:14 357

转载 Visual Studio Code配置C/C++环境

最近在VS code上配置环境时总是达不到像Visual Studio 2019的集成开发环境的运行效果,终于在查阅许多资料后发现了这篇文章,在这里记录一下。原文地址:Visual Studio Code 配置C/C++环境

2020-07-20 23:14:28 151

HT32F52352_template.zip

HT32F52352工程模板

2021-02-11

空空如也

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

TA关注的人

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