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

原创 STM32F103C8T6基于HAL库的移植uCOS-III操作

OSRdyList[0]为OS_RDY_LIST类型,从上面OS_RDY_LIST结构体可以看到成员变量:HeadPtr和TailPtr分别指向OS_TCB,我们知道OS_TCB是可以用来构造链表的,因此同一个优先级下的所有任务是通过链表来管理的,HeadPtr和TailPtr分别指向这个链表的头和尾,NbrEntries用来记录此优先级下的任务数量,下图表示了优先级4现在有3个任务时候的就绪任务列表。任务控制块是用来记录与任务相关的信息的数据结构,每个任务都要有自己的任务控制块。任务看起来像C 函数。

2023-11-28 20:18:43 840

原创 基于stm32的数字温度计

注意,这里所说的秒中断并非一定是一秒的时间,它是由RTC时钟源和分频值决定的“秒”的时间,当然也是可以做到1秒钟中断一次。在配置RTC寄存器之前,必须设置RTC_CRL寄存器中的CNF位,使RTC进入配置模式后,才能写入RTC_PRL、RTC_CNT、RTC_ALR寄存器。除了RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器外,所有的系统寄存器都由系统复位或电源复位进行异步复位。RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器仅能通过备份域复位信号复位。

2023-11-25 11:36:32 986

原创 汉字点阵与OLED屏显

在国标GD2312-80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个"区",编号为01区到94区,每一列称为一个"位",编号为01位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的"区位码"。区位码的前两位是它的区号,后两位是它的位号。在汉字的点阵字库中,每个字节的每个位都代表一个汉字的一个点,每个汉字都是由一个矩形的点阵组成,0代表没有,1代表有点,将0和1分别用不同颜色画出,就形成了一个汉字,常用的点阵矩阵有12。

2023-11-19 20:50:56 63

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

*一、概念:1.IIC介绍IIC(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。IIC最重要的功能包括:只需要两条总线;没有严格的波特率要求,例如使用RS232,主设备生成总线时钟;所有组件之间都存在简单的主/从关系,连接到总线的每个设备均可通过唯一地址进行软件寻址;

2023-11-15 11:23:50 464

原创 定时器&PWM应用编程

通过本次实验实现了LED以2秒的频率周期性地亮-灭,采用定时器的PWM模式,通过配置定时器的参数和相关寄存器,实现LED了以呼吸灯方式渐亮渐灭通过Keil虚拟示波器,我们可以观察PWM输出波形,以验证PWM的正确性;在实验前做了充分的准备,仔细阅读了相关的STM32定时器和PWM模式的文档,理解其寄存器的配置方法和中断处理函数的编写并且熟悉了Keil虚拟示波器的使用方法,以便观察波形输出。

2023-11-04 17:29:25 38 1

原创 【无标题】

一.创建工程打开CUBEMX软件创建工程选择自己对应的芯片配置时钟,选择外部时钟源配置时钟树配置串口,如图所示开启串口中断DMA,启动!并添加串口设置TX保存工程跳转至keil二.更改程序并执行首先,有两个缓冲区,一个发送缓冲区和一个接收缓冲区。还有一个标志变量is_sending,用于控制发送任务的执行。在发送任务中,首先检查is_sending标志,如果为1,则继续发送。然后,发送字符串"hello windows!

2023-11-02 17:20:30 34 1

原创 STM32串口通信入门

*

2023-11-01 18:12:36 36 1

原创 基于HAL库的流水灯

理解如何使用STM32的HAL库函数,简化了底层硬件控制,减少了代码的复杂性。对STM32微控制器的初学者来说,这是一个很好的入门项目,它可以作为更复杂项目的基础。通过此次实验,我更加扎实地掌握了有关基于HAL库的LED流水灯方面的知识,也通过解决一些实际问题发现了我在学习过程中的知识欠缺与经验不足。增加长处,补缺短处,这会让我在学习的道路上更上一层楼。这个选项在软件仿真中起到很重要的作用,如果选择错误,那么波形一定是错误的,因为时间不准确。选择自己开发板的型号,此处需要自己的账号,没有的需要自己住注册。

2023-10-24 17:16:13 30

原创 LED流水灯实验2

一.实验目的分析:要在实验1的基础上使用标准外设库来控制多个LED灯,让它们交替闪烁,每个LED灯亮起和熄灭的周期为1秒。创建一个新的工程项目文件夹,并确保你已经添加了STM32标准外设库的相关文件(.c和大.h文件)。在代码中,LED灯的亮/灭周期是通过软件中的循环延时来控制的。但是要注意,这个准确的周期可能会受到处理器性能和其他代码执行的影响。如果没有示波器,你可以使用Keil的软件仿真逻辑分析仪来观察GPIO端口的时序波形。

2023-10-17 21:54:21 72

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

在用gcc生成静态库和动态库的过程中,更加深刻的认识到了.a文件和.so文件的功能和作用,也明白了他们之间的联系和不同,在编写完几个程序之后,我也能更加熟练地创建和生成静态库和动态库了。在这过程中,虽然遇到了创建的文件名不匹配导致无法连接,权限不够导致无法运行等问题,但都很快的解决了。只要自己有耐心,慢慢的观察自己的问题,就能及时发现并改正它们。在了解了gcc背后的故事之后,让我更加深刻的明白了gcc功能的强大,他的强大不止来自与它本身,更是来自他背后的团队,比如预处理,编译,汇编,链接等。

2023-10-06 18:19:21 43 1

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

*

2023-10-03 20:31:26 103

原创 STM32/51单片机编程入门

还有就是安装keil 5时,在官网下载的是没有破解的,只有空的一个软件,里面什么功能都不能使用,后来在csdn里找到一个博客发的文章里有破解版的keil 5,也就是在管理员运行里破解,后续跟着安装就能使用正常的软件了。经历了这些,我也会更加熟练的使用keil类软件了,收获了至多的成长。在运行代码的过程中,我也发现不论代码怎么写,不论是寄存器,库函数,还是其他的操作系统,要在STM32F103这个单片机点亮LED灯,肯定需要把时钟和GPIO这几个相关的特殊地址,进行赋值或修改数值的操作。

2023-09-23 15:34:26 701 1

原创 ubuntu系统用gcc和makefile编写程序,对比visual studio installer

这次在虚拟机vm里使用ubuntu的过程中,我使用了gcc编译和makefile检索文件进行编译,它们都能生成文件。然后在windows上使用VS编译程序代码,结果和前面一样,里面可以自己定义数字编译运行,然后在虚拟机和Windows上进行对比,找到其中的乐趣。编写makefile文件,然后执行命令make,需事先在Ubuntu里下载,下载完成后即可执行。b:命令:gcc main.c sub1.o -o main1;2.在Ubuntu系统编写吗main1.c并运行。1. 编写main1.c。

2023-09-15 21:49:37 114 1

空空如也

空空如也

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

TA关注的人

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