自定义博客皮肤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-27 21:29:12 925 1

原创 数字温度计

使用HSE分频时钟或者LSI的时候,在主电源VDD掉电的情况下,这两个时钟来源都会受到影响,因此没法保证RTC正常工作.所以RTC一般都时钟低速外部时钟LSE,频率为实时时钟模块中常用的32.768KHz,因为32768 = 2^15,分频容易实现,所以被广泛应用到RTC模块.(在主电源VDD有效的情况下(待机),RTC还可以配置闹钟事件使STM32退出待机模式).除了RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器外,所有的系统寄存器都由系统复位或电源复位进行异步复位。

2023-11-19 19:59:28 135 1

原创 汉字点阵与OLED屏显

为了解决这个问题,有些点阵字库会将1414和1212的字库按1614和1612来存储,即,每行还是按两个字节来存储,但是1414的字库,每两个字节的最后两位是没有使用,1212的字节,每两字节的最后4位是没有使用,这个根据不同的字库会有不同的处理方式,所以在使用字库时要注意这个问题,特别是14*14的字库。标码中是分别将区位码中的“区”和“位”各自加上32(20H)的,因为GB2312是DBCS双字节字符集,国标码属于双字节码,“区”和“位”各作为一个单独的字节。打开串口调试助手,开始实验。

2023-11-18 21:28:33 102 2

原创 基于I2C协议的AHT20温湿度传感器的数据采集

软件及协议层,硬件就是线路(一)I2C的物理层只要求两条总线线路,一条是串行数据线SDA,一条是串行时钟线SCL。(I2C是半双工,而不是全双工);每个连接到总线的器件都可以通过唯一的地址和其它器件通信,主机/从机角色和地址可配置,主机可以作为主机发送器和主机接收器;I2C是真正的多主机总线,(而这个SPI在每次通信前都需要把主机定死,I2C可以在通信过程中,改变主机)。如果两个或更多的主机同时请求总线,可以通过冲突检测和仲裁防止总线数据被破坏。

2023-11-08 21:56:01 758 1

原创 【无标题】

本次通过利用单片机的定时器功能实现了将LED亮灭变换,以及LED灯的呼吸效果,本次实验过程遇到了许多的问题和困难,在各种网络平台上查找了许多的资料才完成了本次实验,同时我最大的感受是,利用HEL库在写代码虽然节约了大量初始化各个功能块的时间,但是个人感觉用HEL库的人还是比用库函数的数量相对少一些,所以在查找对应的资料时很费时间,而且找出来的资料质量也一般,作为初学者来说还是有一定的挑战。

2023-11-04 22:19:20 35 1

原创 串口通信pro

什么是DMA (DMA的基本定义)DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果我们把这部分的CPU资源拿出来,让CPU去处理其他的复杂计算事务,是不是能够更好的利用CPU的资源呢。

2023-11-01 10:15:29 38 1

原创 HEL实例

4.配置串口一,选择好之后可以看到右侧在PA9.10自动选择好了,MODE选择异步通信(Asynchronous)可以看到低电平持续时间约为9.641975us,高电平持续时间为87.96296ns,1.新建文件,选择对应的32芯片,我选择的是STM32F103C8。在main函数中如下写即可以输出连续的"Hello word!串口中断回调函数写,并且每次接受完后要再次打开接受中断。写在mani函数中,在提前打开接受中断,否则接受不到。时停止发送,输入 *时继续发送。2.配置时钟,在RCC如图配置。

2023-10-23 19:46:45 99 1

原创 HEL库中断使用

3.时钟设置High Speed Clock 设置为Crystal/Ceramic Resonator。3.中函数的最后会执行这个callback函数中,通常可以在这个函数中写一些我们需要的命令。1.设置PA5,PB1,10做输出口,Pb5做中端口,用给按钮控制流水灯。2.在NVIC中打开EXTI中的line[9:5] interrupt。2.用PA5,6,7口做流水灯,设置output模式,波形展示,可以看到实际周期是1.01秒,这儿主要说明与之前工程不一样的部分。5.main函数部分。

2023-10-21 15:29:26 56 1

原创 利用标准外设库编写STM32

还需要添加这几个文件夹的路径,不然在调用文件时可能出错,点击魔术棒的图标,找到c/c++,在include paths里面将工程目录下的几个文件添加进来。6点击这个图标,快速添加文件组,建立好这几个组之后,将我们之前复制在文件夹下的各个.c,.h文件添加进来。在rcc.h和gpio.h文件中找到需要的函数,跳转到定义处查看如何使用。5将之前写好的delay函数的.c,.h文件添加到system文件夹下。在对应文件夹下创建好以下几个文件夹,用于存放所需的启动文件,系统文件。APB2外设时钟使能。

2023-10-10 22:01:33 115 1

原创 gcc生成静态库.a和动态库.so

通过对gcc生成动态库和静态库的练习,能够熟练的生成动态库和静态库,在对静态库和动态库的比较下很明显看出动态库占用的内存比静态库多得多,并且知道了同时生成动态库和静态库时,系统默认使用动态库。此外使用静态库时不需要将静态库的路径写道/usr/lib下,而使用动态库时执行文件后会在/usr/lib等路径下寻找对应的动态库,此时需要添加动态库到对应路径。GCC编译器的常用命令及使用重温全局变量、局部变量、堆、栈等概念Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分对比分析。

2023-09-28 22:43:07 58

原创 嵌入式实验小试

1:代码给GPIO各个口赋值可以优化如下//GPIOC口for(i=5;i<8;i++)}//利用循环,依次对PB5,6,7置低电平for(i=5;i<8;i++)}//利用循环,依次对PA5,6,7置低电平。

2023-09-26 18:39:48 96

原创 嵌入式小试

stm32的点灯是,通过使能外设GPIO时钟,发出指令给外设GPIO,外设GPIO收到指令后,着手配置自己的寄存器,然后给IO口模式,让其实现各种功能。5:生成的hex文件下载到仿真中,右键仿真中的51(用的AT89C52)芯片,选择编辑属性,打开Program File 选择写好的hex文件。分别设置GPIOA推挽输出,以及定义A0口为输出口,配置速率50HZ。1:配置软件环境,需要用到Keil和FlyMcu(烧录程序)2:keil写好相关代码,并生成hex文件。4:定时器配置函数如下。

2023-09-20 21:22:39 74 1

原创 Linux代码小试

1.创建sub1.h文件2.创建sub1.c文件,包含sub1.h文件3.创建main.c文件4.将sub1.c文件转为目标文件sub1.o文件,然后将main1.c文件和sub1.o连接生成可执行文件main1最后执行文件即可。

2023-09-13 19:52:45 112 1

空空如也

空空如也

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

TA关注的人

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