- 博客(21)
- 收藏
- 关注
原创 web学习----CSS
CSS简单介绍语法样式表外部样式表内部样式表内联样式优先级颜色尺寸与对齐盒子模型边框与边距定位staticrelativefixedabsolute溢出浮动不透明度组合选择器后代选择器子选择器伪类和伪元素CSS简单介绍CSS是级联样式表(Cascading Style Sheets),其将决定以下内容该如何在屏幕上呈现。整个页面的布局,元素的位置、距离、颜色、大小、是否显示、是否浮动、透明度等等。语法一条CSS样式规则由两个主要的部分构成:选择器,以{}包裹的一条或多条声明:这条规则表明,页.
2021-03-30 16:35:29 239
原创 web入门----HTML
HTML的简单介绍1.HTML元素标题超链接图片表格列表特殊字符HTML的简单介绍HTML是超文本标记语言(HyperText Markup Language),它不是一门编程语言,而是一种用于定义内容结构的标记语言。1.HTML元素通常分为以下四种开始标签(Opening tag):包含元素的名称(本例为 p),被左、右角括号所包围。表示元素从这里开始或者开始起作用 —— 在本例中即段落由此开始。结束标签(Closing tag):与开始标签相似,只是其在元素名之前包含了一个斜杠。这.
2021-03-30 14:27:22 239
原创 PWM和DAC
PWMPWM简介主要函数代码模拟DACDAC简介功能框图实现2KHz正弦波的输出设计输出音频信号PWMPWM简介PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成 为电力电子技术最广泛应用的控制方式,其应用领域包括测量,通信, 功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些 音频放大器,因此学习PWM具有十分重要的现实意义.
2021-01-03 15:17:11 4719
原创 SPI接口下的OLED显示
一、SPI简介二、资料获取三、SPI接口实验一、SPI简介SPI( Serial Peripheral Interface-串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为: 控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设备包括 FLASHRAN、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK.
2020-12-29 19:37:57 803
原创 STM汇编程序设计
一、STM32三种Boot模式的差异及验证三种BOOT模式地址位置相关通过实验进行验证在Keil下完成一个汇编程序的编写汇编语言介绍程序编写简单的STM32 汇编程序—闪烁LED一、STM32三种Boot模式的差异及验证三种BOOT模式主闪存存储器是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。系统存储器从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一般来说,这种启动方式用的比较少。系统存储器是芯片内部一块特.
2020-12-29 19:33:17 224
原创 AHT20原理图/PCB设计
ATH20介绍AHT20封装设计AHT20原理图设计封装原理图绘制最终绘制PCBATH20介绍AHT20是国内奥松生成的I2C接口的MEMS温湿度传感器,ADC位数为20Bit,具有体积小、精度高、成本低等优点。由于AHT10/15/20 具有国产化、体积小、精度高、成本低等特点,可以替代 DHT11/DHT12/AM2320/SHT20/SHT30,单芯片价格在¥2~3,体积小巧很轻松嵌入到产品上。详细了解可以参考前面的基于I2C的AHT20温湿度传感器的数据采集。AHT20封装设计更改名.
2020-12-26 13:57:48 662
原创 STM32基于I2C的AHT20温湿度采集
IIC介绍AHT20介绍准备工作IIC介绍IC( Inter-- Integrated Circuit)总线是一种由 PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控I2C之间、I2C与I2C之间进行双向传送,高速IC总线一般可达400kbps以上。 I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送.
2020-12-22 12:41:11 446
原创 在Ardunio 完成STM32板子的串口通信程序
一、Ardunio下实现STM32的串口通信1. Ardunio的简单介绍2.Ardunio的安装3.配置4.编程二、基于标准库函数与基于HAL库函数的stm32编程方式的差异一、Ardunio下实现STM32的串口通信1. Ardunio的简单介绍Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Pr.
2020-12-14 13:27:47 336
原创 在STM32上移植FreeRTOS
@TOC简介FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。移植创建文件夹,移入源码(源码可在官网下载)将一个完整的例程作为基础程序 加入源码中的程序2.或者直接打开野火官方的程序打开后如下如显示(为了避免出错,请将路径改为全英文)将主程序改为如下#include "FreeRTOS.h"#include "task.h"#include "
2020-12-03 19:23:22 321
原创 STM32串口通信简单实践
寄存器与固件库编程方式的差异STM32的USART窗口通讯程序烧录程序寄存器与固件库编程方式的差异寄存器–比较直观的感觉就是,寄存器版式直接对内部寄存器进行操作,需要我们对寄存器非常熟悉固件库–就是函数的集合,作用就是:向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。固件库将寄存器底层操作都封装起来,提供一套API供开发者使用,需要知道操作的是哪个寄存器,你只需要知道调用哪些函数即可。STM32的USART窗口通讯程序首先打开野火提供的串口通信的文件修改use.
2020-12-03 16:29:58 250
原创 C语言程序内存的各种变量存储区域
预备知识1.内存空间2.分配方式动or静态分配堆栈全局/静态存储区常量储存区测试三级目录预备知识1.内存空间C语言在内存中一共分为如下几个区域,分别是:内存栈区: 存放局部变量名;内存堆区: 存放new或者malloc出来的对象;常数区: 存放局部变量或者全局变量的值;静态区: 用于存放全局变量或者静态变量;代码区:存放函数体的二进制代码。2.分配方式静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。在栈上创.
2020-12-03 16:21:32 3291
原创 Altium Designer绘制stm32最小系统
一级目录创建元件库三级目录一级目录创建元件库新建工程,点击上方的工程->新建工程->PCB创建自己的工程,生成.PrjPcb文件.选择文件>新的->库->原理图库,会默认生成一个Component元件三级目录...
2020-11-09 21:23:59 678
原创 用proteus仿真stm32
目录配置MDK工程打开KEIL5 创建并配置工程勾选创建HEX文件输入源代码建立proteus工程创建工程添加器件连接电路实验成果配置MDK工程打开KEIL5 创建并配置工程勾选创建HEX文件输入源代码#include "stm32f10x.h"GPIO_InitTypeDef GPIO_InitStructure;void delay_ms(uint32_t ms){ uint32_t i_cnt,j_cnt; for(i_cnt=0;i_cnt<3000;i_cnt+
2020-11-08 16:54:00 915
原创 可视化的代码跟踪调试
目录可视化的代码跟踪调试安装vs code图形化界面安装命令安装调试环境搭建编译调试c/c++配置调试和编译文件,launch.json和task.json。可视化的代码跟踪调试安装vs code图形化界面安装在ubuntu桌面找到应用中心在软件中心中,搜索Visual Studio Code选择安装即可命令安装从vscode官网下载最新版本,deb包下载地址:https://code.visualstudio.com/docs?dv=linux64使用wget 下载地址 进行下
2020-11-07 20:51:12 214
原创 在Ubuntu16/18系统下练习编译、安装著名的C/C++图像处理开源软件库 Opencv
目录一、安装opencv3.4.101.官网https://opencv.org/releases/#找到并下载sources版本2.将下载文件复制到home目录下,进行解压配置3.进入opencv文件夹4.安装依赖库cmake5.安装完cmake之后执行命令 ,创建编译文件夹6.开始配置7.开始编译配置OpenCV编译环境二、进行图像处理在opencv-3.4.1下新建文件夹mytest创建函数保存并编译执行用opencv打开摄像头配置虚拟机摄像头USB简单执行打开摄像头采集图像并保存一、安装openc
2020-10-29 21:11:14 581
原创 在Ubuntu16.04下进行GDB调试
目录1.GDB简介2.GDB的使用3.GDB命令程序调试编写程序调试程序1.GDB简介GDB : GNU Debugger,是GNU工程为GNU操作系统开发的调试器,但它的使用不局限于GNU操作系统, GDB可以运行在UNIX、Linux甚至Microsoft Windows。GDB可以调试C、C++、Objective-C、Pascal、Ada等语言编写的程序;被调试的程序可以跟GDB运行于同一台电脑,也可运行于不同电脑。使用GDB我们可以:– 设置断点使程序停住– 监视或修改程序中
2020-10-29 10:57:34 780
原创 了解实际程序是如何借助第三方库函数完成代码设计
目录了解linux系统Linux 系统中终端程序最常用的光标库的主要函数功能几个基本函数名称及功能体验即将绝迹的远古时代的 BBS (一个用键盘光标控制的终端程序)了解linux系统Linux 系统中终端程序最常用的光标库的主要函数功能Linux 系统中终端程序最常用的光标库的主要函数功能curses函数库能够优化光标的移动并最小化需要对屏幕进行的刷新,从而也减少了必须向字符终端发送的字符数目几个基本函数名称及功能窗口优化屏幕刷新:int wnoutrefresh(WINDOW *window
2020-10-16 12:25:09 311
原创 GCC常用命令与nasm
目录一、Linux GCC 常用命令简单编译预处理编译为汇编代码(Compilation)汇编(Assembly)连接(Linking)多个程序文件的编译检错库文件链接编译成可执行文件链接强制链接时使用静态链接库二、C运行库准备工作编译过程三、分析 ELF 文件nasm汇编编译器生成文件与c代码生成大小比较一、Linux GCC 常用命令简单编译实例test.c#include <stdio.h>int main(void){printf("Hello World!\n");
2020-10-14 18:47:56 538
原创 学习静态库和动态库并用gcc生成以及动态库文件与静态库文件大小比较
一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。一、预编译:主要处理源代码文件中的以“#”开头的预编译指令。二、编译:把预编译之后生成的xxx.i或xxx.ii文件,进行一系列词法分析、语法分析、语义分析及优化后,生成相应的汇编代码文件。三、汇编:将汇编代码转变成机器可以执行的指令(机器码文件)。四、链接:链接:“组装”模块的过程。链接的内容:把各个模块之间相互引用的部分都
2020-10-13 21:26:53 356
原创 在MDK5软件中的实现STM32的LED闪烁与简单的51单片机仿真
目录简要LED闪烁的程序设计1.LED初始函数代码2.主函数代码实机演示51单片机仿真程序代码仿真图备注简要STM32底座模块上的四个LED实现一个类似流水灯的效果,该实验的关键在于如何控制 STM32 的 IO 口输出。了解了 STM32 的 IO 口如何输出的,就可以实现流水灯了。通过本节的学习,将初步掌握 STM32 基本IO 口的使用,而这是迈向 STM32 的第一步。LED闪烁的程序设计1.LED初始函数代码void LED_Init(void){GPIO_InitTypeDef G
2020-10-08 14:10:06 1671
原创 简单编写程序并在ubuntu系统下用Makefile方式编程
目录编写主程序文件main1.c和子程序文件sub1.c用VC6.0编译并运行main.c在Ubuntu用gcc编译main文件在Ubuntu系统下用Makefile方式编程main.c编写主程序文件main1.c和子程序文件sub1.c#include<stdio.h> int main() { int a=8,b=2; //定义a,b变量 float c; //定义c变量 c=x2x(a,b); //c为
2020-09-25 19:39:46 469
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人