自定义博客皮肤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多任务程序设计

UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制。UCOSIII提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。前后台系统早期嵌入式开发没有嵌入式操作系统的概念 ,直接操作裸机,在裸机上写程序,比如用51单片机基本就没有操作系统的概念。通常把程序分为两部分:前台系统和后台系统。简单的小系统通常是前后台系统,这样的程序包括一个死循环和若干个中断服务程序:应用程序是一个无限循环,循环中调用API函数完成所需的操作,这个大循环就叫做后台系统。

2023-11-21 22:57:44 131

原创 stm32 的温湿度与时间在oled上的显示

将读取到的时间通过USART串口发送给上位机(pc)。在 STM32 微控制器上的 RTC(实时时钟)是一种硬件模块,用于提供精确的实时时钟和日历功能。它可以用于许多应用,如时钟显示、定时任务和数据日志记录。STM32 微控制器的 RTC 模块具有以下特点:高精度:RTC 基于石英晶体振荡器,提供高度准确的时间跟踪和计时功能。日历功能:RTC 不仅可以追踪时间,还可以追踪日期、星期、月份和年份。它可以自动调整闰年。

2023-11-21 15:52:00 383

原创 汉字点阵与OLED屏显

汉字点阵是一种描述汉字形状的方法,它将一个汉字分解为一个个的点阵,每个点可以表示字的笔画或部分笔画。通过将这些点阵在屏幕上显示可以还原出完整的汉字形状。使用汉字点阵可以实现字库的压缩和存储,也可以实现高效的字形转换。OLED(Organic Light-Emitting Diode)屏幕则是一种显示技术。它由一系列有机物质构成的发光二极管组成,通过对这些二极管进行电流控制,可以实现点亮或熄灭来显示图像。OLED屏幕具有优秀的对比度、高色彩饱和度、快速响应和广视角等特点,被广泛应用于电子设备的显示屏上。

2023-11-16 22:07:55 311

原创 使用dht20在stm32实现温湿度检测

I2C协议使用主从结构,其中一个设备充当主设备,负责发起和控制通信,其他设备则作为从设备响应主设备的命令。在I2C通信中,主设备生成时钟信号来同步通信过程,并通过数据线发送和接收数据。主设备发起通信后,选择要与之通信的从设备地址,并向其发送命令或数据。将AHT20传感器的SCL引脚连接到STM32的I2C时钟线引脚(通常标记为SCL、SCK或I2C_SCL),将SDA引脚连接到STM32的I2C数据线引脚(通常标记为SDA、SDI或I2C_SDA)。还有处理i2c的通信初始化。这是奥森官网的指导手册。

2023-11-13 18:44:36 906 2

原创 stm32定时器和PWM

STM32是一系列基于ARM Cortex-M内核的32位微控制器,由STMicroelectronics公司生产。STM32微控制器内置了一组丰富的定时器功能,这些功能在嵌入式应用中被广泛使用,如产生精确的时间间隔、脉冲测量、脉宽调制(PWM)等。STM32定时器大致可以分为以下几种类型:基本定时器 (Basic Timers):基本定时器主要用于产生固定周期的中断或触发事件。它们通常只具备计数、溢出和中断功能。STM32F103系列中,TIM6和TIM7属于基本定时器。

2023-11-04 17:05:49 86

原创 STM32串口通信使用DMA实现

好的,可以看到在主函数中,我们使用if语句判断flag是否为1来判断需不需要发送,而我们又将flag定义为全局变量,各个函数的数值改变flag都会导致所有的flag数值改变,所以我们只需要在中断服务函数里面,不断给flag赋值1或者0 就行,只要赋值1 ,则全局变量改变,导致主函数flag数值变化,再导致我们继续发送。首先,中断条件一旦满足,就会进入中断服务函数,这个函数内,我们可以实现正常的所有函数操作,比如最基本的条件判断if语句,使用这个语句我们就可以判断是否继续发送。

2023-10-31 14:15:43 269

原创 STM32串口通信初级

好的,可以看到在主函数中,我们使用if语句判断flag是否为1来判断需不需要发送,而我们又将flag定义为全局变量,各个函数的数值改变flag都会导致所有的flag数值改变,所以我们只需要在中断服务函数里面,不断给flag赋值1或者0 就行,只要赋值1 ,则全局变量改变,导致主函数flag数值变化,再导致我们继续发送。首先,中断条件一旦满足,就会进入中断服务函数,这个函数内,我们可以实现正常的所有函数操作,比如最基本的条件判断if语句,使用这个语句我们就可以判断是否继续发送。

2023-10-25 11:06:05 39

原创 基于HAl库来实现stm32 流水灯操作。

cubeMX也是ST公司的,关于便捷搭建stm32环境的软件,它将stm32重复的环境代码,变成不同按钮,可以让我们使用更加直观和方便,特别是对于大量环境的配置。在下载软件之前,十分建议你先注册一个ST公司的账号,方便下载各种核心。注册方法就在官网。下载安装完成后打开我们的cubeMX软件。界面就是这样。一开始我们要先安装核心,对应我们的硬件,这里使用的是f103c8t6.看到右边的install or remove embedded software 嘛,就是那个,进入。

2023-10-23 15:18:04 102

原创 使用标准外设库的方式实现stm32四联流水灯的操作

首先我们需要前往ST的官网,对我们对应型号的stm32mcu进行下载网址如下:链接: [link](https://www.st.com/zh/embedded-software/stm32-standard-peripheral-libraries.html进入官网后我们点击对应器件号看到下面那个F1了吗,那就是我们要找的,当然你可能是其他型号。进入过后我们需要下载最新版本。随后会让你输入你的邮箱,要好好输入,因为下载连接会发送到你的邮箱里面。

2023-10-15 15:48:22 137

原创 stm32 加入pc13灯的四联流水灯制作。

全部配置完过后就直接使用ODR来进行操作就行了,直接左移1 or 0 到对应的接口位置上,接口位置就是你在上面配置的位置。反过来讲 低位寄存器 的最高位 也就是第7个接口 至于清零,需要和你配置的接口对应就行了,注意细节。我这里使用的接口是ch340 注意对应接口不要接错了, 还有boot1 和boot0的短接问题,初始化结束后我们就要开始配置对应得的O口和时钟了,具体看你想要用那几个口,按需配置。我们也是用ODR 来直接控制对应得接口高低电平,对应1为高 0。

2023-10-04 18:24:14 311

原创 作业三:在ubuntu上生成动态和静态库,多程序编译,以及gcc的常用命令。

打ubuntu 终端,我们使用mkdir test1 创建一个文件夹cd进入这个文件夹,分别创建hello.c hello.h main.c 三个程序,并且进行编写,使用gedit和vim都可以编写代码分别如下hello.c随后,我们编译刚刚写成的hello.c程序生成目标文件hello.o,并且依之建立静态库,注意静态库的命名规则,是 lib+自定义名字+.a如下。

2023-09-29 16:42:51 199

原创 点亮一个led灯---stm32f103

首先我们需要安装mdk5 .1.0 的keil 来进行硬件的程序编写,然后进入我们keil软件,如果没有stm32的pack 还需要在网上下载对应硬件的pack 比如stm32f103c8t6进入后创建一个工程文件,输入如下代码特别注明:代码来自于然后在魔术棒——output 下面勾上生成hex文件,这是仿真或者烤如硬件的直接文件。然后编译 记得找到你的hex文件位置有硬件的打开stc isp烧录软件。

2023-09-24 17:03:40 128 1

原创 简单ubuntu程序编写

打开ubuntu大门的一小步

2023-09-15 08:46:11 732

空空如也

空空如也

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

TA关注的人

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