自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

一、准备工作(一)CubeMX 安装Nano pack1.官方下载参考官方网站CubeMX 安装Nano pack参考2.具体步骤(1)获取软件包地址要获取 RT-Thread Nano 软件包,需要在 CubeMX 中添加。

2023-11-27 22:06:30 69 1

原创 实现STM32的日历读取、设置和输出

配置RTC(激活时钟源(Activate Clock Source)和日历(Activate Calendar))这里时钟配置可以更改为23年,但是本人考虑先照做一遍,以防出错,所以还是为21年 O.o嘻嘻。总结:跟着学长一部一部的走,基本不会出现问题,首先要理解RTC是什么和它的工作原理,我们就可以轻松的展示出这些数据,并且这个可以利用AHT20将温湿度也展示出来。2)将RTC时间调整为当前时间,并以 2021年x月x日x分x秒的格式从串口输出(或输出到OLED屏),每1s改变一次;

2023-11-25 19:02:58 225

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

了解了汉字点阵的编码规则后,我们就可以在图片上显示任何我们想要的文字。但是很容易出现文件路径报错,注意代码中路径和文件路径统一就行了。其中也要注意更改文本文字的位置,以防文本和图片重叠。通过这个实验,我学会了如何读取点阵汉字的字模数据,并在Linux(Ubuntu)下使用C++调用OpenCV显示图片和文字。这种技术的应用前景广阔,有助于丰富我们的图像处理和显示能力,并为各种应用场景提供了更多的可能性。

2023-11-19 18:10:33 101

原创 IIC协议读取温湿度数据

IC协议(Integrated Circuit protocol)是一种用于通信的协议,它可以用来读取传感器数据,包括温度和湿度。在使用IC协议读取温湿度数据时,需要按照具体传感器的规格和文档来编写通信代码。通常情况下,可以通过以下步骤来读取温湿度数据:1. 确定传感器的IC协议规格,比如I2C、SPI等。2. 初始化通信接口,包括设置通信速率、地址等参数。3. 发送读取数据的命令到传感器,根据协议规格发送正确的命令和地址。4. 等待传感器响应并读取返回的数据。

2023-11-13 10:33:15 84

原创 STM32进阶之HC-SR04超声波测距

本实验旨在学习和理解HC-SR04超声波测距模块的工作原理,并利用stm32F103单片机完成一个超声波测距方案。HC-SR04超声波测距模块是一种常用的距离测量传感器,通过发送超声波脉冲并接收其回波来测量物体与传感器之间的距离。超声波测距1. 使用STM32控制HC-SR04超声波传感器进行测距实验,可以有效测量目标物体与传感器之间的距离。2. 在实验过程中,需要注意使用适当的引脚进行连接,确保传输信号的稳定性和准确性。

2023-11-04 22:10:40 1094 1

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

一、理论基础1、外部中断(EXTI)外部中断,管理了控制器的 20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。2、串口通信2.1、HAL库UART函数库介绍2.1.1、串口发送/接收函数串口发送数据,使用超时管理机制串口接收数据,使用超时管理机制串口中断模式发送串口中断模式接收串口DMA模式发送串口DMA模式接收。

2023-11-02 20:07:03 90 1

原创 HAL库中断方式进行串口通信

软件版本:KEIl:5.31硬件:在HAL库中,可以使用中断方式进行串口通信实验。下面是一些我对这个实验的总结:1. 首先,我们需要在HAL库中配置USART通信的相关参数,例如波特率、数据位、停止位等等。这通常通过调用HAL_UART_Init函数来实现。2. 接下来,我们需要开启串口接收中断,以便在接收到数据时能够立即得到通知。通过调用HAL_UART_Receive_IT函数来实现。3. 当接收到数据时,会触发中断函数USARTx_IRQHandler。

2023-10-26 20:01:29 125

原创 STM32基于HAL库流水灯实验

LED流水灯实验是一种经典的实验,在学习嵌入式系统编程的过程中十分常见。在本次实验中,我使用了HAL库来控制LED的流水灯效果。在实验中,我主要完成了以下几个步骤:1. 创建工程并配置开发环境。我使用了STM32CubeMX来创建工程,并选择了适合的芯片型号和相关配置。在工程创建完成后,我还需要配置相关的时钟和外设。2. 初始化LED的GPIO引脚。使用HAL库提供的函数,我在工程中初始化了用于控制LED流水灯的GPIO引脚,包括将引脚配置为输出和设置输出的电平。3. 编写流水灯的控制代码。

2023-10-24 20:19:39 84

原创 基于标准外设库的LED流水灯

(1) 结果分析:观察上面的仿真波形发现引脚输出的时序状态是正确的,三个引脚的电平输出都是一低两高,只有一个LED灯亮。

2023-10-16 22:31:08 38 1

原创 STM32F103的流水灯点亮版本1(寄存器地址操作)

一、STM32简介 STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。在如今的 32 位控制器当中,STM32 可以说是最璀璨的新星,它受宠若娇,大受工程师和市场的青睐,无芯能出其右。STM32 属于一个微控制器,自带了各种常用通信接口,比如 USART、I2C、SPI 等,可接非常多的传感器,可以控制很多的设备。

2023-10-07 10:56:54 280 1

原创 GCC背后的故事&C程序常量变量的地址分配

printf("全局外部无初值 uninit_global_a:%p\n", &uninit_global_a);printf("静态外部无初值 uninits_global_b:%p\n", &uninits_global_b);printf("静态内部无初值 uninits_local_c:%p\n", &uninits_local_c);printf("静态内部有初值 inits_local_c:%p\n", &inits_local_c);

2023-10-07 10:33:13 87 1

原创 STM32/51单片机编程入门(点亮LED)

差异点: - 对内存中的变量的修改操作只涉及到内部存储器的读写,操作较为灵活,没有涉及到外部设备的时序和IO接口特性。- 对外部设备的操作需要借助寄存器的读写,包括控制寄存器和数据寄存器,操作受设备的特性限制。- 对外部设备的操作通常需要关注中断和事件的处理机制。它告诉编译器不要对该变量进行缓存,每次访问都需要从内存中重新读取或写入,防止因为编译器优化导致的问题,例如多线程中的共享变量、中断处理中的状态标志位等场景。proteus的文件建立和使用,这是流水灯的仿真图构建,灯的颜色是红黄绿,红黄绿,红黄。

2023-09-24 20:49:32 141 1

原创 在Ubuntu系统下c语言的运用

2,请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;它提供了丰富的学习资源和工具,使学习过程更加高效和容易。同时,Ubuntu的开源社区也为学习者提供了良好的交流平台,促进了知识的分享和学习者之间的合作。在Ubuntu的社区论坛和各种开发社区中,可以与其他开发者和学习者交流经验,共同解决问题,进一步提高学习效率和效果。

2023-09-15 21:01:29 323

空空如也

空空如也

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

TA关注的人

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