自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

通过本次实验,本人成功从听说操作系统到亲自操作操作系统,完成了对于操作系统的初步认识与初步接触,并且很顺利的一次性就完成了利用操作系统进行STM32基于HAL库的三个小任务的编写与运行。但是就是相比于库函数与单纯的HAL库方式来说,操作系统开发比较复杂:建立工程复杂、编写代码复杂、代码量多、过程繁琐等等!

2023-11-27 20:43:15 1030 1

原创 STM32F103的RTC(实时时钟)原理

该芯片具有64KB的闪存和20KB的SRAM,并提供了丰富的外设资源,如通用定时器、PWM输出、多种通信接口等。同时,这个设计也展示了STM32微控制器和OLED显示屏的强大功能和灵活性,为用户提供了一个实用且易于使用的解决方案。在硬件方面,我们将使用STM32F103C8T6微控制器作为主控制器,AHT20温湿度传感器用于测量环境温度和湿度,以及SSD1306 OLED显示屏用于显示时间、温度和湿度。数据显示:将处理后的数据通过SSD1306 OLED显示屏进行显示,实现实时的时间、温度和湿度信息展示。

2023-11-25 17:50:19 978

原创 STM32基于SPI的OLED显示

1、什么是SPI:SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

2023-11-19 23:00:07 247

原创 USB转TTL进行串口通信

在本实验中,我成功演示了如何通过串口进行文件传输。通过发送端和接收端的配合,我能够将文件从发送端发送到接收端,实现了简单的数据传输。用串口助手等工具软件将一台笔记本上的一个图片传输到另外一台电脑。传输图片文件,速度很快,而且可以很快打开。

2023-11-19 16:41:10 843

原创 Ubuntu下调用opencv库点阵汉字的字模读取与显示

了解了汉字点阵的编码规则后,我学会了如何读取点阵汉字的字模数据,并在Linux(Ubuntu)下使用C++调用OpenCV显示图片和文字。这种技术的应用前景广阔,有助于丰富我们的图像处理和显示能力,并为各种应用场景提供了更多的可能性。

2023-11-19 16:14:05 83

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

I2C总线是一种双向的同步串行总线,它支持设备之间的短距离通信,经常用于处理器和一些外围设备之间的接口通信。I2C总线的标准通信速率是100Kbps,快速模式是400Kbps,高速模式支持3.4Mbps。I2C总线支持多设备的通信,而且各个设备之间的SCL和SDA线都是线与关系。I2C总线上扩展的器件的数量主要由电容负载来决定,其负载能力为400pF。I2C总线具有极低的电流消耗。I2C(Inter-Integrated Circuit)是一种串行通信总线协议,用于连接微控制器和外部设备。

2023-11-14 18:06:43 36

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

当下降沿到来的时候,发生第二次捕获,计数器 CNT的值会再次被锁存到捕获寄存器 CCR中,并再次进入捕获中断,在捕获中断中,把捕获寄存器的值读取到 value3中,并清除捕获记录标志。注意:一般而言,尽量选用PWM口进行PWM输出,因为普通IO口模拟PWM的输出频率越高,进入定时器中断的次数就越快,中断间隔的时间越短,如果再有其他类型的中断也要处理时,会因为中断的优先级嵌套等待响应,影响控制精度,PWM输出误差增大,也会影响其他如ADC等中断处理,甚至会较出现单片机逻辑出错,死机或者跑飞的情况。

2023-11-05 22:03:09 208 1

原创 STM32串口通信入门

(1)串口协议:串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单、便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通 讯方式输出调试信息。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。名称组成作用物理层。

2023-10-31 22:20:12 76 1

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

(1)串口协议:串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单、便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通 讯方式输出调试信息。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。

2023-10-30 20:19:32 75 1

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

通过这次实验,不仅理解了STM32cubemx的基础原理知识,同时通过在stm32cubeMX的开发环境下,运用HAL库编程实现LED流水灯及Keil环境下的仿真运行,观察其波形,又进一步加深了我对这部分知识的理解与运用。实操过程中,还是有些小问题,但是经过上网查询以及同学们的帮助下,完成了实验。

2023-10-24 16:19:41 58

原创 STM32F103下,通过电路搭建实现LED灯轮流闪烁的实验操作

寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。输入模式:上拉和下拉输入的电平由上拉或者下拉,浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候用的是这个模式。根据题目要求,使用GPIOA-5、GPIOB-9、GPIOC-14 这3个引脚来控制LED灯,在查询C8T6数据手册后,管脚分别连接红绿蓝三种颜色的LED灯。在新建的工程中添加启动文件(startup_stm32f10x_hd.s),该文件可以先到固件库中复制到此处startup_stm32f10x_hd.s。

2023-10-16 19:29:09 713 1

原创 stm32cubeMX使用HAL库点亮LED流水灯

但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX配置HAL/LL库是主流配置环境。在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的时间,大大的节省了时间。

2023-10-04 21:35:31 66 1

原创 gcc背后的故事—c程序常量变量的分配地址

本文深入探讨了C语言中常量变量的存储位置和地址分配机制。首先介绍了全局常量和变量以及局部常量和变量的特点和作用域范围。全局常量和变量在程序开始执行前就已经分配内存,其地址是固定的,并且可以在整个程序中被访问和修改。局部常量和变量在代码块内部定义,其内存空间在代码块结束时释放,其地址也是在代码块开始执行时分配的。然后讨论了全局常量和变量、局部常量和变量在地址分配上的差异。全局常量和变量通常存储在程序的只读数据段或数据段中,而局部常量和变量则存储在栈内存中。最后,通过示例代码和分析展示了全局常量和变量、局部常量

2023-09-28 20:20:43 238 1

原创 【无标题】

变量和寄存器都通过定义来代表内存或外设中的一个地址空间,都通过相同的C语言基础语法进行编写,而且都通过变量或寄存器来实现对内存或外设的读写操作。变量和寄存器都通过定义来代表内存或外设中的一个地址空间,都通过相同的C语言基础语法进行编写,而且都通过变量或寄存器来实现对内存或外设的读写操作。(2)51单片机的资源占用更少,所需要的内存、存储空间和低级硬件资源更少,因此开发者可以更加专注于程序状态的处理,编写更加高效、简洁的代码;2、为什么51单片机的LED点灯编程要比STM32的简单?

2023-09-24 21:02:14 35 1

原创 ARM开发:使用MDK编译stm32简单程序(闪烁LED)

因为没有接入硬件设施,所以只能先进行程序的编译和仿真测试,而没有办法下载到硬件上运行,同时明白了MDK编译的方法。

2023-09-21 20:38:47 72

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

Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus功能:1、原理布图2、PCB自动或人工布线3、SPICE电路仿真Proteus特点:1、互动的电路仿真。

2023-09-21 14:47:57 1062

原创 Ubuntu系统使用gcc和Makefile编译C程序

本次实验是我首次安装虚拟机使用Ubuntu,由于从未接触过Linux系统,在进行实验的过程中遇到了一系列的问题和麻烦,甚至将虚拟系统给整崩溃了,这让我初学感到十分困难,然而在查阅资料,请教他人后,逐渐开始了解该系统的编程流程和逻辑,发现熟悉上手后并未有想象中那般困难,最终成功的将实验完成,为日后的系统程序设计打下了基础。注意:每条指令之前必须用tab开头,不能用八个spaces代替,否则编译时会出错!1.创建main1.c 和sub1.c sub1.h。1.Makefile文件编写规则。

2023-09-15 23:01:44 69

空空如也

空空如也

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

TA关注的人

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