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

原创 串口传输文件的练习

本次实验展示了如何通过串口模块和杜邦线搭建一条串口传输线路,并通过串口进行两台电脑之间的文件传输,通过实际的计数与理论所需的时间进行比较,得出了实际的传输时间要大于理论传输时间、波特率越高,传输时间越短、文件越大,传输时间越长的结论。

2023-12-06 20:31:58 116 1

原创 RTOS多任务程序设计

借鉴了一些经验和同学的帮助最终也是得以完成。

2023-12-06 19:42:21 102 1

原创 数字温度计

一、RTC简介1、RTC实时时钟特征与原理RTC (Real Time Clock):实时时钟实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后, RTC的设置和时间维持不变。系统复位后,对后备寄存器和RTC的访问被禁止,这是为了防止对后备区域(BKP)的意外写操作。

2023-12-06 11:34:05 158 1

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

一. I2C介绍1.I2C通信:IIC(Inter IC BUS)通用数据总线I2C总线(Inter IC BUS)是由Philips公司开发的一种通用数据总线两根通信线:SCL(Serial Clock)双向串行数据线、SDA(Serial Data)串行时钟线同步,半双工(只有一根通信线进行数据传输,且不能边收边发)带数据应答(确认机制)支持总线挂载多设备(一主多从、多主多从)I2C时序基本单元起始条件:SCL高电平期间,SDA从高电平切换到低电平。

2023-11-14 19:48:14 251 2

原创 定时器&PWM应用编程

由于其控制简单、灵活和动态响应好等优点而成为电力电子技术应用最广泛的控制方式,其应用领域包括测量,通信, 功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些音频放大器,因此学习PWM具有十分重要的现实意义。一. 使用STM32F103的 Tim2~Tim5其一定时器的某一个通道pin(与GPIOx管脚复用,见下图),连接一个LED,用定时器计数方式,控制LED以2s的频率周期性地亮-灭。总之,STM32定时器是强大的工具,可用于各种定时和计时应用,通过适当的配置和操作,您可以满足各种应用需求。

2023-11-08 20:03:11 176 1

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

在实验之中我发现了以下几个值得注意的点,在初始化外设的时候,只要涉及到调用标准库里的宏定义生成一个结构体变量的时候,必须写在最前面,否则编译的时候会报错,用来给数组赋值的数组下标pRxstate必须在标志位Rxstate变之前就置0,否则在运行的时候下标不能及时归零。当检测到接收的一个字符和我们规定的包头字符相符合,就把标志位S置1,并且开始接收后面来的数据,直到读取到某一个字符和我们规定的第一位结束位相符合,则把标志位S置2,并且不再接收数据,只等待字符与第二个结束位相符合,把状态位S置0.

2023-11-07 19:37:31 92

原创 STM32串口通信入门

最被广泛使用的是RS-232C,它将mark(on)比特的电压定义为-3V到-12V之间,而将space(off)的电压定义到+3V到+12V之间。驱动主要分为2个功能,其一注册USB设备驱动,完成对USB设备的控制与数据通讯,其二注册串口驱动,为串口应用层提供相应的实现方法。可以为没有串口的计算机或其他USB主机增加串口,使用USB转串口设备等于将传统的串口设备变成了即插即用的USB设备。使用这个函数开启发送中断,发送寄存器为空时触发中断,将要发送的数据送入发送寄存器并发送。发送完成后关闭中断。

2023-11-01 20:36:23 258 1

原创 基于HAL库的LED流水灯

打开Keil的软件仿真逻辑分析仪,选择PA5、PA、PA7三个引脚进行观察,可以发现三个引脚的电平以1秒为间隔轮流跳变,从而实现流水灯的效果。设置完毕后,点击GENERATE CODE,生成Keil项目,打开项目后,在main函数的while循环中,输入如下代码。

2023-10-25 21:37:48 91 1

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

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x路径下的4个文件复制到文件夹Templete\Libraries\CMSIS目录下,对于startup文件夹,只需要startup/arm路径下的文件,把该路径下的文件移动到startup文件夹下面,其余全部删掉。// 定义初始化结构体。#define LED2_GPIO_PIN GPIO_Pin_1 //蓝灯。

2023-10-17 21:52:56 104

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

/ 在GPIOB的引脚0上设置高电平。

2023-10-07 22:51:21 71 1

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

将这3个函数分别写成单独的3个.c文件,并用gcc分别编译为3个:o目标文件;将x2x、x2y目标文件用ar工具生成1个.a静态库文件,然后用gcc将 main函数的目标文件与此静态库文件进行链接,生成最终的可执行程序,记录文件的大小。其中pkg-config是一个linux下的命令,用于获得某一个库/模块的所有编译相关的信息(包括头文件和库的所有信息)—cflags是用来指定程序在编译时所需要头文件所在的目录。此处生成.o文件必须添加"-fpic"(小模式,代码少),否则在生成.so文件时会出错。

2023-10-07 21:57:01 162 1

原创 点亮led

/GPIOA_BASE=0x40000000+0x10000+0x0800=0x40010800,该地址为GPIOA的基地址。//GPIOE_BASE=0x40000000+0x10000+0x0800=0x40011800,该地址为GPIOE的基地址。//GPIOF_BASE=0x40000000+0x10000+0x0800=0x40011C00,该地址为GPIOF的基地址。变量,这意味着变量的值可能会在程序的控制范围之外发生变化,即对变量的读写是不可预测的。//GPIOA 时钟开启。

2023-09-26 21:23:55 69

原创 【无标题】嵌入式作业

1:编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。2) 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。

2023-09-15 15:13:18 52

空空如也

空空如也

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

TA关注的人

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