- 博客(23)
- 收藏
- 关注
原创 STM32汇编程序设计
目录一、 STM32的三种Boot模式1、三种BOOT模式介绍2、开发BOOT模式选择二、在Keil下完成一个汇编程序的编写,学习动态调试变量1.新建一个工程2.运行环境配置3.创建汇编文件4.添加源文件5.仿真器设置6.结果三、用汇编程序完成 每间隔1秒钟闪烁一次LED的程序1.新建工程2.创建汇编文件3.代码4.编译5.程序烧录6.结果 一、 STM32的三种Boot模式 1、三种BOOT模式介绍 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。
2020-12-31 16:03:10
942
原创 基于STM32的PWM输出和DAC输出
一、PWM输出 1.PWM输出模式 PWM输出就是对外输出脉宽(即占空比)可调的方波信号,信号频率由自动重装寄存器 ARR 的值决定,占空比由比较寄存器 CCR 的值决定。PWM 模式分为两种,PWM1 和 PWM2,总得来说是差不多。 2.相关代码 使用了野火自带的PWM输出波形工程文件 main.c #include "stm32f10x.h" #include "bsp_led.h" #include "bsp_GeneralTim.h" /** * @brief 主函数 * @par
2020-12-30 19:13:11
1748
原创 基于STM32下OLED的SPI接口数据显示实验
目录一、准备工作二、硬件接线三、字体取模四、代码修改 一、准备工作 实验要求: 1、显示自己的学号和姓名; 2、显示AHT20的温度和湿度; 3、上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!” 本次实验采用四线制硬件SPI实现 设备:野火STM32F103指南者 软件:KEIL5 FlyMcu PCtoLCD2002 工程:在之前的串口通信基础上修改 参考程序: 0.96寸SPI_OLED模块配套资料包 二、硬件接线 CS口不接 三、字体取模 软件设置如图:
2020-12-22 21:42:35
1299
1
原创 STM32下基于I2C通信协议的温湿度采集
目录一、软件I2C和硬件I2C1、软件I2C2、硬件I2C3、软硬I2C区别二、基于I2C的AHT20温湿度采集1、准备工作2、代码3、AHT20芯片接线4、程序烧录及结果 一、软件I2C和硬件I2C I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备现在被广泛地使用在系统内多个集成电路(IC)间的通讯。 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片
2020-12-21 21:51:35
729
原创 Cisco Packet Tracer 实验
一、直接连接两台 PC 构建 LAN 将两台 PC 直接连接构成一个网络。注意:直接连接需使用交叉线。 进行两台 PC 的基本网络配置,只需要配置 IP 地址即可,然后相互 ping 通即成功。 二、用交换机构建 LAN 构建拓扑结构的局域网: 各PC的基本网络配置如下表: 问题 PC0 能否 ping 通 PC1、PC2、PC3 ? 答:能ping通PC1,不能ping通PC2、PC3。 PC3 能否 ping 通 PC0、PC1、PC2 ?为什么? 答:能ping通PC2,不能ping通
2020-12-20 18:09:21
785
1
原创 Arduino IDE进行STM32的串口通信
目录一、安装和配置Arduino IDE开发环境1.Arduino 简介2.软件安装及配置二、编译及烧录1、配置开发板型号系列及端口2、相关代码3、程序编译4、程序烧录5、结果三、基于标准库函数与基于HAL库函数的stm32编程方式的差异四、Ardunio IDE与stduino IDE对比 一、安装和配置Arduino IDE开发环境 1.Arduino 简介 Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。 它构建于开放原始
2020-12-13 21:55:49
1483
原创 使用altium designer绘制AHT20数据采集原理电路
该博客记录在之前stm32最小系统电路原理中添加 AHT20数据采集原理电路 目录一、AHT20介绍1.产品综述2.产品图片二、绘制原理图1.PCE封装图2.引脚图3.绘制元器件4.添加原理图库三、绘制采集电路1.放置元件2.连线3.采集原理电路总结 一、AHT20介绍 1.产品综述 AHT20,新一代温湿度传感器在尺寸与智能方面建立了新的标准:它嵌入了适于回流焊的双列扁平无引脚SMD 封装,底面 3 x 3mm ,高度1.0mm。传感器输出经过标定的数字信号,标准 2I C 格式。 AHT20 配有一个
2020-12-04 15:41:17
1212
原创 STM32下完成一个基于FreeRTOS的多任务程序
一、简介 RTOS(Real Time Operating System 实时操作系统。 FreeRTOS是其中应用最为广泛的一种,开源免费,源码和相应的官方书籍均可从官网 www.freertos.org 获得。 使用FreeRTOS移植源码,创建多任务进行编程可以使单片机可实现功能更多,多任务管理编程更加简单。 二、任务要求 1:每间隔500ms闪烁(变化)一次LED 2:每间隔2000ms,向串口发送一次指令数据“helloworld!" 3:每间隔5000ms,从AHT20采集一次温湿度数据(不考虑
2020-12-02 15:33:16
578
原创 C程序编译后内存地址的分配
探究C程序编译得到的可执行文件加载到内存运行时不同变量分配的存储位置,通过在Ubuntu 18.04系统和STM32系统上编译,验证C程序编译后内存地址分配是否和理论一致。 目录一、程序的内存分配1.内存分配介绍2.内存分配图解二、ubuntu系统中编程,输出信息进行验证1.详细代码2.实验结果3.实验结果分析三、STM32系统下验证1.实验代码2.烧录程序3.实验结果4.实验代码5.实验结果总结 一、程序的内存分配 1.内存分配介绍 内存栈区: 存放局部变量名; 内存堆区: 存放new或者mallo.
2020-12-01 22:01:30
928
原创 STM32的USART串口通讯程序
一、了解串口通信及准备工作 1.串口通信简介 串行通讯是指设备之间通过少量数据信号线,地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。 分类 单工:数据传输只支持数据在一个方向上传输。 半双工:允许数据在两个方向上传输。但同一时刻只允许数据在一个方向上传输,它实际上是一种能够切换方向的单工通信,不需要独立的接收端和发送端,两者可以合并使用一个端口。 全双工:允许数据同时在两个方向上传输。因此全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。 2.STM32 的 USART 简介 通
2020-12-01 15:34:36
2232
1
原创 使用Altium Designer软件绘制一个stm32最小系统的电路原理图
速成目录一、电路原理图绘制1.学习2.安装stm32库3.创建自己的pcb电路原理图二、PCB原理图绘制 一、电路原理图绘制 1.学习 参考了B站up主的视频与资料 https://www.bilibili.com/video/BV1Ab411K7yp?p=2 https://download.youkuaiyun.com/download/ima_xu/11109110 2.安装stm32库 3.创建自己的pcb电路原理图 1.创建工程,依次点击文件->新的->项目->pcb工程 2.创建pcb电
2020-11-09 21:49:55
945
原创 Wireshark 实验
Wireshark 实验一级目录二级目录三级目录一.Wireshark的基本使用1.使用Wireshark进行第一次抓包二.Wireshark过滤器设置二.数据链路层实验实作一、熟悉 Ethernet 帧结构实作二 了解子网内/外通信时的 MAC 地址实作三 掌握 ARP 解析过程 一级目录 二级目录 三级目录 本部分按照数据链路层、网络层、传输层以及应用层进行分类,共有 10 个实验。需要使用协议分析软件 Wireshark 进行,请根据简介部分自行下载安装。 一.Wireshark的基本使用 1.使用W
2020-11-09 21:01:55
2381
原创 Proteus仿真STM32流水灯
这里写目录标题一级目录二级目录三级目录一.创建工程 一级目录 二级目录 三级目录 一.创建工程 本次实验为STM32的实验,所以选择STM32F103R6 二、配置实验所需原件 1.创建项目完成后 2.添加实验所需灯,点击左边P,在关键字中输入LED 我选择了一个黄色的LED灯 3.添加实验所需电阻,在关键字中输入RES 4.设定电阻值为50(电阻的默认阻值过大,LED灯不会亮) 5.连接电路,如图所示 三、使用keil生成hex文件 程序如下: 主程序代码如下 #include "st
2020-11-08 17:57:31
1478
1
原创 Ubuntu18.04中用vscode编译调试C\C++
这里写目录标题一级目录二级目录三级目录一、 Visual Studio Code的安装1.打开软件应用商店搜索Visual Studio Code并点击安装2.软件汉化二、 配置软件环境1. 安装vscode的C\C++插件三、 调试软件1.创建文件夹2.用vscode打开文件夹3.编写源程序并保存4.调试5.编译4.总结 一级目录 二级目录 三级目录 一、 Visual Studio Code的安装 1.打开软件应用商店搜索Visual Studio Code并点击安装 2.软件汉化 按下快捷键’Ctr
2020-11-08 14:55:43
783
原创 Ubuntu系统上的OpenCV学习
这里写目录标题一级目录二级目录三级目录 一级目录 二级目录 三级目录 将下载文件复制到home目录下,进行解压配置: 进入命令行模式: 解压包 unzip opencv-3.4.1.zip 进入到解压后的文件包中 cd opencv-3.4.1 安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update 然后在执行下面命令 sudo apt-get install cmake sudo apt-get install
2020-10-29 20:24:39
569
原创 cmder运行简单命令(计算机网络验证性实验)
命令一、ipconfig二、ping三、tracert四、ARP五、DHCP六、netstat七、DNS八、cache 一、ipconfig 实作一 使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。 实作二 使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。 问题 你的计算机和旁边的计算机是否处于同一子网,为什么? 答:是,ip地址与子网掩码化为二进制后进行与运算,得到的
2020-10-26 21:04:14
888
原创 实际程序是如何借助第三方库函数完成代码设计
目录一级目录二级目录三级目录一、了解Linux 系统中终端程序最常用的光标库(curses)的主要函数功能1.Curses库的下载与安装2.curses主要函数的学习二、以游客身份体验一下即将绝迹的远古时代的 BBS (一个用键盘光标控制的终端程序) 一级目录 二级目录 三级目录 一、了解Linux 系统中终端程序最常用的光标库(curses)的主要函数功能 1.Curses库的下载与安装 2.curses主要函数的学习 参考了https://www.cnblogs.com/dandingyy/archi
2020-10-16 20:45:05
584
4
原创 GCC编译器的使用及背后的故事
目录一、GCC编译器的使用1、创建一个 test0 文件夹,并在该文件夹中创建一个 hello.c 程序2、程序的编译过程3、多个程序文件的编译二、GCC编译器背后的故事1.准备2.编译过程三、分析 ELF 文件1.ELF 文件的段2.反汇编 ELF四、汇编代码“hello.asm”编译生成可执行程序1.nasm的安装2.创建一个"hello.asm"文件3.编译、链接和运行4.汇编与C代码的编译生成的可执行程序大小对比 一、GCC编译器的使用 1、创建一个 test0 文件夹,并在该文件夹中创建一个 he
2020-10-16 19:53:12
547
原创 可执行程序的组装(gcc)
用 gcc 生成 .a 静态库和 .so 动态库一、用 gcc 生成 .a 静态库和 .so 动态库1.创建一个 test1 文件夹,并在该文件夹中创建三个子程序 hello.h、hello.c 和 main.c2.将 hello.c 编译成.o 文件3.由 .o文件创建静态库4.在程序中使用静态库5.由.o 文件创建动态库文件6.在程序中使用动态库7.当静态库和动态库同名时,gcc 命令会使用哪个库文件 一、用 gcc 生成 .a 静态库和 .so 动态库 1.创建一个 test1 文件夹,并在该文件夹中
2020-10-14 22:00:47
553
原创 Win10下使用MDK5编译STM32程序(LED闪烁)
目录一、MDK-5.10安装包和STM32pack下载二、安装1.MDK-5.10安装2.stm32 pack安装三、MDK-5.10注册 一、MDK-5.10安装包和STM32pack下载 在此使用博主Liu-FE的下载链接 MDK-5.10和STM32pack(CMSIS 3.20.4、stm32F1 1.0.4)下载链接: 百度网盘:开发环境MDK5和STM32pack 提取码:rlns 二、安装 1.MDK-5.10安装 1.下载压缩包并解压 2.打开"mdk_510.exe"进入安装界面 3.
2020-10-08 16:24:45
770
原创 使用keil及proteus实现数码管循环显示“0“-“F“
数码管循环显示"0"-“F” 目录数码管循环显示"0"-"F"一、数码管循环程序的编译1.keil新建工程2.新建文本进行C语言编译三、创建hex文件二、使用proteus进行仿真 一、数码管循环程序的编译 1.keil新建工程 打开project选择新建 打开ATmel,选择AT89C51 是否将标准8051启动代码复制到项目并将文件添加到项目中,此次项目可以不添加8051启动代码,选择否。 2.新建文本进行C语言编译 另存为"数码管循环显示.c" 将该c程序添加进入工程 程序代码如下: #in
2020-10-08 14:49:08
11206
2
原创 8080端口被占用
8080端口被占用 查看被占用的端口号: netstat -ano | findstr 8080 关闭占用的端口号 taskkill /pid 8036 /f
2020-09-29 20:32:28
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅