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

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

2023-11-28 16:30:28 66

原创 数字温度计

一 实验目的阅读资料了解 STM32F103的RTC(实时时钟)原理,使用带SPI或IIC接口的OLED屏显模块实现以下功能:读取STM32F103C8T6 内部的时钟(年月日时分秒),日历(星期x),1秒周期,通过串口输出到PC上位机,;读取AHT20的温度和湿度,通过OLED,把年月份时分秒、日历和实时温度、湿度显示出来,2秒周期。二 RTC(1)RTC简介STM32的 RTC 外设(Real Time Clock),实质是一个掉电后还继续运行的定时器。从定时器的角度来说,相对于通用定时

2023-11-25 22:42:29 138

原创 汉字点阵与OLED屏显

1.简介SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种同步的串行通信接口,用于在嵌入式系统中连接微控制器和外部设备。SPI接口可以用于连接各种外设,如存储器、传感器、显示器等。SPI接口的主要特点是传输速率快、连接简单、占用IO口少等。SPI接口由四根线组成:SCLK、MOSI、MISO和SS。其中,SCLK是时钟信号,由主设备产生;MOSI是主设备输出从设备输入的数据;MISO是从设备输出主设备输入的数据;SS是片选信号,用于选择从设备。

2023-11-19 22:32:35 50

原创 STM32基于I2C协议通过AHT20读取温湿度数据

I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。I2C 接口接收和发送数据,并将数据从串行转换成并行,或并行转换成串行。可以开启或禁止中断。接口通过数据引脚(SDA)和时钟引脚(SCL)连接到 I2C 总线。允许连接到标准(高至 100 kHz)或快速(高至 400 kHz)I2C 总线。

2023-11-12 22:58:15 155

原创 STM32定时器&PWM应用编程

在 TIMx_CCMRx 寄存器中的 OCxM 位写入“110"(PWM 模式 1)或“111"(PWM 模式 2),能够独立地设置每个通道工作在 PWM 模式,每个 OCx 输出一路PWM。也就是在输出波形的半个周期产生多个脉冲,使各个脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少,按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可以改变输出频率。这里我们选择定时器3和定时器4来实现定时的功位置3,分频系数为71,向上计数模式,计数周期为500,使能自动重载模式。

2023-11-04 22:37:44 152 1

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

DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。DMA用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。DMA的作用就是实现数据的直接传输,而去掉了传统数据传输需要CPU寄存器参与的环节。

2023-11-02 21:31:17 107 1

原创 STM32串口通信入门

串口协议是一种基于串行通信的数据传输协议。它通过串口接口将数据以串行的方式传输。串口协议通常包括物理层、数据链路层和应用层三个部分,其中物理层主要定义了串口接口的电气特性,数据链路层定义了数据的传输方式和错误检测机制,应用层定义了具体的数据格式和通信协议。物理层串口协议的物理层主要定义了串口接口的电气特性,包括传输速率、数据位、停止位、奇偶校验等。常见的串口接口有RS-232、RS-422、RS-485等。数据链路层串口协议的数据链路层定义了数据的传输方式和错误检测机制。

2023-10-26 20:36:19 50

原创 基于HAL库的LED流水灯

由结果可以得出,PA0(蓝色)为低电平时(亮灯)时其他两个口的电平都为高电平。最后点击右上角的GENERATE CODE 就创建完成了,找到创建项目的文件夹,找到.uvprojx文件并打开。5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT,我选择的是PA0,PA1,PA2。3.点击setup,设置端口PA0、PA1、PA2的地址,设置Dispaly Type 为Bit。3.点击from local,找到刚才下载的固件库压缩包,再点击打开,这就完成了固件库的安装。

2023-10-20 21:15:52 66 1

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

点击新建空文档来进行编写Delay.h与Delay.c,并且保存在之前所创建的用于储存项目的文件里的User里面,去文件名字的时候,一定不要遗漏.c与.h后缀,负责就不是C文件与头文件h了。输入模式:上拉和下拉输入的电平由上拉或者下拉,浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候用的是这个模式。配置仿真实验条件:首先应该选择Use Simulator,其次是Run to main()选项打钩,然后分别修改上图中的 3 、4、5 、6,(6)点击第一步进行添加文件;

2023-10-16 08:45:12 71 1

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

首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样,代码中的delete语句才能正确的释放本内存空间。在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。

2023-10-06 18:11:46 48 1

原创 stm单片机流水灯

GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的 GPIO 被分成很多组,每组有 16 个引脚,如型号为 STM32F103VET6 型号芯片有 GPIOA、GPIOB、GPIOC至 GPIOE共 5组 GPIO,芯片一共 100个引脚,其中 GPIO就占了一大部分,所有的 GPIO 引脚都有基本的输入输出功能。

2023-10-04 22:35:37 682 1

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

因为以前课程已经要求安装Proxteus软件,在此不做叙述。

2023-09-25 10:50:16 167

原创 在Ubuntu系统中使用gcc和Makefile编写c程序

链接就是将汇编出来的多个二进制目标文件链接在一起,形成最终的可执行文件,链接的时候还会涉及到静态库和动态库等问题。请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;Makefile 的好处就是“自动化编译”,一旦写好了 Makefile文件,以后只需要一个 make 命令即可完成整个工程的编译,极大的提高了开发效率。

2023-09-15 14:21:32 99

空空如也

空空如也

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

TA关注的人

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