自定义博客皮肤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)
  • 收藏
  • 关注

原创 android studio教程搜索及飞速上网

这个官网,需要借助外网才能更方便的使用,可以借助下面第一个链接中使用的网站,注册进入后购买流量直接上网。对初学者可以按照培训课程逐步开始,这是比较系统的教程,非常适合第一次接触安卓开发的开发者。官网:https://developer.android.com/?LibCyber帮助文档:https://docs.libcyber.org/不过,这两种都是比较基础的适合开发者学的,只是第一种比较基础一些。2、如果是有经验,只是遇到了问题想找解决方法的,可以直接看教程。从官网下载软件,逐步安装。

2025-04-12 13:32:13 101

原创 安卓APP(Day1)

new->project->选择Empty Project->选择路径等,等待下载(可以点击build查看下载到哪里了,如果下载失败,在上方工具栏找到SDK manager下载需要的SDK,我下载了安卓14)按照漫天飞羽zz的教程,在res文件夹下应该有一个layout文件夹,但我没有,所有我新建了一个按。照他的布局,暂时是这样。

2025-03-26 23:26:37 197

原创 云产品流转记录

​q:云产品流转的作用:把手机APP与stm32单片机之间的消息通过云产品流转传到对方。即手机APP可以控制esp8266,ESP8266也可以发送数据到手机。

2025-03-26 11:25:04 154

原创 ESP8266与云平台通信过程

点击“各类AT固件”,下载固件号1471的点击,选择烧录工具下载串口助手。

2025-03-06 16:48:45 431

原创 Visio软件初使用_画平面图(新建、找形状、标注尺寸)

Visio软件使用画平面图,包含新建、找形状、标注尺寸等简单方法,用最短的时间完成一张平面图的绘制

2024-06-22 14:07:53 5706

原创 VLOOKUP 函数

1、要查找匹配的原始数据:在两个表格中都有且独一无二,在第二个表格中位于第一列。1、使用时向下填充时,我想要第一个参数对应增加,结果增加的是最后一个参数的数据。原因:函数以文本形式保存在表格中了,没有发挥函数查找的作用。2、要得到的数据所在的表格:原始数据在该表格中的第一列。4、精确查找匹配false、模糊查找匹配true。3、返回列的列号:原始数据为第一列参考。解决方式:修改当前列为常规格式。2、使用f4 固定参数匹配。

2024-04-01 16:18:54 140

原创 嵌入式RTOS多任务程序设计

UCOS是Micrium公司出品的RTOS类实时操作系统, UCOS目前有两个版本:UCOSII和UCOSIII。UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制,提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。UCOSIII是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的, UCOSIII结构简洁,可读性很强!非常适合初次接触嵌入式实时操作系统学生、嵌入式系统开发人员和爱好者学习。什么是任务?

2023-12-06 12:17:58 1070

原创 STM32日历读取与温湿度显示

STM32的 RTC 外设(Real Time Clock),实质是一个掉电后还继续运行的定时器。掉电是指主电源 VDD断开的情况,为了 RTC外设掉电继续运行,必须接上锂电池给 STM32 的 RTC、备份发卡通过 VBAT引脚供电。当主电源 VDD有效时,由 VDD给 RTC 外设供电;而当 VDD掉电后,由 VBAT给 RTC 外设供电。但无论由什么电源供电,RTC 中的数据都保存在属于 RTC 的备份域中,若主电源 VDD 和 VBAT 都掉电,那么备份域中保存的所有数据将丢失。

2023-11-27 18:10:43 1198

原创 电脑间利用串口实现通信

串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。发送文件的一方打开串口,设置波特率为115200Hz,之后新选择发送的文件,点击发送。另一台电脑选择相同的,波特率,进行接收,下图表示发送完毕。理论时间=(文件大小*8)/波特率。那么上面的文件理论传输时间为0秒,

2023-11-20 22:20:01 262 1

原创 OLED屏显及应用示例

刚开始,使用STLINK烧录,出现花屏,后改用串口,用flymcu烧录成功。

2023-11-20 17:27:29 442 2

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

在Ubuntu下用C/C++(或python) 调用opencv库编程显示一张图片,并打开一个名为"logo.txt"的文本文件(其中只有一行文本文件,包括你自己的名字和学号),按照名字和学号去读取汉字24*24点阵字形字库(压缩包中的文件HZKf2424.hz)中对应字符的字形数据,将名字和学号叠加显示在此图片右下位置。由于汉字的区码与位码的取值范围的十六进制数均为01H—5EH(即十进制的 01–94), 所以汉字的高位字节与低位字节的取值范围则为 A1H—FEH(即十进制的 161–254)。

2023-11-19 19:55:54 498

原创 ubuntu下载库fmt的方法

然后,在官网里右上角的搜索框搜索需要的包,点击第一个。输入命令把下载的压缩包移动到想要它放的位置,如。然后cd到放刚才压缩包的路径下,解压这个压缩包。,就会在下载路径那里出现下载的安装包。之后同样执行方法二中剩下的步骤。直接搜索github官网。

2023-11-15 14:28:43 2146

原创 raw string literal c++无效的可能原因——编译器版本不对

4 5 D:\D3 U\算法\1112\多行输出.cpp [Error] missing terminating " character。而我开始的那个多行输出需要在c++11之后才能运行。在出来的编译器选项里做如下更改,然后点击确定。运行结果如图,这表明我是c++98。用如下代码查看我的编译器版本。再次编译运行就能成功了。

2023-11-12 22:37:16 365 2

原创 IIC协议读取温湿度数据(HAL库)

I2C协议,引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现被广泛的使用在系统内多个集成电路(IC)间的通讯。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。

2023-11-09 23:18:16 429 1

原创 基于STM32的呼吸灯(pwm)

STM32 的输入捕获,简单的说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。如图,位置1选中定时器2;打开外部时钟,点击“System Core”,选择RCC,在右侧弹出的菜单栏中选择“Crystal/Ceramic Resonator”。

2023-11-04 16:09:09 3048 1

原创 基于中断/DMA方式的串口通信

了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。使用HAL库(或标准库)方式,设置USART1 波特率为115200,1位停止位,无校验位,分别采用中断方式、DMA方式完成下列任务:STM32系统给上位机(win10)连续发送“hello windows!当上位机给stm32发送字符“stop”后,stm32暂停发送“hello windows!发送一个字符“start”后,stm32继续发送;

2023-10-31 15:10:08 270 1

原创 基于HAL库的stm32的串口通信(中断)

char c;//指令 0:停止 1:开始//输出信息//提示1//提示2//提示3int flag=0;//标志 0:停止发送 1.开始发送。

2023-10-26 22:38:02 449

原创 基于HAL库的流水灯(包含中断设置开关)

由于所有通过于GPIO引脚触发的外部中断都会调用该回调函数,因此在回调函数内部,需要根据入口参参数GPIO_Pin判断是哪一个GPIO引脚触发的本次外部中断,然后再执行不同的中断处理任务。这个表存储了不同中断源的入口地址。总之,STM32中断原理是基于中断向量表、中断控制器和中断处理程序的机制,允许微控制器在执行程序的同时响应外部事件。通过配置中断使能、优先级和编写自定义的中断处理程序,你可以实现灵活的中断处理,以满足各种应用需求。不同的中断可以有不同的优先级,高优先级的中断会在低优先级中断之前被处理。

2023-10-24 22:08:08 258

原创 基于固件库的stm32 LED流水灯

点击“Setup”,将“Display Type”选为“Bit",且用”And Mask“和”Shift Right"来过滤掉不需要显示的位。在User文件目录下新建三个文件:main.c、led.c、led.h,并在Keil5中左边的目录下加入已存在的文件,将这三个文件加入进来。9、工程建好后,点盒子按钮,新建与刚才相同的文件夹名,并将其中的所有文件都通过AddFile加入到这里。8、打开Keil5,新建工程,工程目录为刚才新建的Project文件夹。2、打开新建的工程文件夹,在文件夹下新建如下文件。

2023-10-12 20:58:28 378

原创 编写一个C程序,重温全局常量、全局变量、局部变量、静态变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证

堆和栈都在RAM中,一般被分配的区域也是相同的一块区域,只是堆从下往上存储,栈从上往下存储。此时应该注意堆和栈在不断增长的过程可能会互踩内存,就会出现意外error,所以在使用时应该注意用完堆栈及时释放或者划分的内存大一些。另外呢,栈是编译器自动分配和释放的,比如函数的参数、局部变量的值等。堆一般是程序员分配和释放的,分配方式类似于数据结构中的链表。

2023-10-06 21:59:44 238 1

原创 GCC编译器背后的故事

GCC(GNU C Compiler)是编译工具。将C/C++语言编写的程序转换成为处理器能执行的二进制代码的过程即由编译器完成。

2023-10-06 21:12:37 141 1

原创 STM32点亮流水灯(GPIO)

控制GPIO是通过调用寄存器实现的,每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个IO口。

2023-10-04 15:43:12 1466 1

原创 可执行程序的编译、组装过程

使用gcc完成c语言程序的编译,用ar工具生成静态库文件与动态库文件,并使用

2023-09-28 23:58:51 180 1

原创 常见嵌入式面试题

相同点:都可以通过变量名或地址访问,进行读写操作读取操作都需要将数据从内存/寄存器加载到CPU的寄存器或缓存中写操作都需要将CPU的数据写入内存/寄存器中都需要注意数据同步,例如通过volatile关键字5.都可以使用相同的数据类型来定义内存中的变量和表示寄存器中的数据。同时意味着可以使用相同的数据类型来处理它们。差异点:内存变量直接通过变量名访问,外部寄存器则需要知道它的地址内存变量修改直接生效,寄存器需要根据时序要求才能生效内存变量可以直接读取/修改,寄存器可能需要设置控制位才能访问。

2023-09-26 00:21:55 164

原创 Keil安装与STM32简单程序编写---LED闪烁

关于keil5 MDK安装、编程与烧录至STM32F103C8T6核心板过程

2023-09-25 10:22:49 1715 1

原创 Proteus与Keil使用教程并仿真51程序——LED流水灯

在Proteus软件中用AT89C51芯片仿真流水灯程序,用Keil编写程序源码,包含软件的安装与基础使用教程

2023-09-24 16:36:59 9447 2

原创 Ubuntu系统gcc和Makefile编译C程序与windows编译对比

此次通过gcc直接编译了c程序,我清楚了c语言程序在windows使用常用软件编写时忽略的一步一步变为可执行文件的过程,让我对c语言的工作方式有了更清晰的认识。通过Makefile编译,是将gcc代码集合起来,如果是要将这些代码给别人进行操作会更加方便。在通过了上面两种方式编译程序后,让我对能让我们用windows上编写程序等软件一键编译、进行这样“傻瓜式操作”、大大降低编写难度的前人佩服。

2023-09-14 23:51:18 203 1

空空如也

空空如也

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

TA关注的人

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