- 博客(13)
- 收藏
- 关注
原创 嵌入式RTOS多任务程序设计
(2)打开 CubeMX,从菜单栏 help 进入 Manage embedded software packages 界面,点击 From Url 按钮,进入 User Defined Packs Manager 界面,其次点击 new,填入上述网址,然后点击 check,(2)点击右侧的 Pack,展开 Generic,可以找到 RealThread::RT-Thread,点击 Action 栏对应的 Install ,就可以在线安装 Nano Pack 了。//初始化LED1线程。
2023-11-27 22:46:51
42
原创 实现STM32的日历读取、设置和输出
配置RTC(激活时钟源(Activate Clock Source)和日历(Activate Calendar))这里时钟配置可以更改为23年,但是本人考虑先照做一遍,以防出错,所以还是为21年 O.o嘻嘻。当 TAMPER引脚上的信号从 0变成1或者从 1变成 0(取决于备份控制寄存器BKP_CR的 TPAL位),会产生一个侵入检测事件。2)将RTC时间调整为当前时间,并以 2021年x月x日x分x秒的格式从串口输出(或输出到OLED屏),每1s改变一次;RTC校验功能,使能侵入检测功能。
2023-11-25 22:57:16
206
原创 实验:IIC协议读取温湿度数据
这里我们使用的是HAL库的方式来实现,需要注意的是前面在STM32CubeMX里面的项目配置,我们需要把端口配置好,这样的话进入keil才没有问题,同时我们也需要去尽量了解代码,懂得其一些基本原理,那么本次实验就是比较成功的。使用: 需要在控制产生 I2C 的起始信号时,控制作为SCL 线的 GPIO 引脚输出高电平,然后控制作为 SDA 线的 GPIO 引脚在此期间完成由高电平至低电平的切换,最后再控制SCL线切换为低电平,这样就输出了一个标准的 I2C 起始信号。
2023-11-19 23:35:37
115
1
原创 实验汉字点阵与OLED屏显
本次实操还是挺复杂的,姓名与学号的显示挺顺利的,滚动字幕的实现也不是太难,查阅资料与细心操作,也是一次实现,但对于显示AHT20的温度和湿度,这里首先是实现了显示,但是温度和湿度一直没有采集到,直到后面反复调试代码,才发现是电压需要给5V,同时接触不良导致了无法采集数据,最后反复测试与检查电路,成功实现了,还是成就满满的,嵌入式开发感觉就是这个过程很难,但最终成功的时候,哪一种喜悦真的是发自内心的。在实际应用中,通常会使用现成的字库和库函数来简化这个过程,例如,通过调用OpenCV等库来方便地显示汉字。
2023-11-19 23:17:51
411
1
原创 STM32进阶之HC-SR04超声波测距
此外,你还可以将这个实验作为一个基础,进一步扩展到更复杂的项目中,如自动避障机器人、智能家居控制等,以应用你所学到的知识。HC-SR04的一端发出超声波,接触到反射物后反射,被另一个端口接收到,所以只要知道发射和接收的时间差,就可以根据声波传播的速率算出HC-SR04和反射物直接的距离。在实验中,你可以实时测量不同物体的距离,并将这些数据用于其他应用,如避障机器人、距离报警系统等。2.在Trig脉冲输出后,立即检测Echo引脚的电平,测出Echo高电平持续的时间t,t就是超声波在所测距离一个来回所需时间。
2023-11-04 22:59:24
201
1
原创 基于中断/DMA方式的串口通信
/串口发送一半中断回调函数(用的较少)HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart);//串口接收一半回调函数(用的较少)HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart);
2023-11-02 21:52:20
197
原创 STM32基于HAL库流水灯实验
本次流水灯实验,理清了流水灯的原理,首先是包括GPIO配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型。实验的第一步是配置GPIO引脚。
2023-10-24 21:19:05
233
原创 基于标准外设库的LED流水灯
随后点开“Include Paths”右边的三个点,在窗口中将我们的Start,Library,System,User文件都添加进去。我们这里使用的是V5编译器,在魔术棒中,选择"Target",进行设置。如果没有错,说明工程建立成功了。2.LED灯的亮/灭周期是通过软件循环延时完成的,其准确周期几乎接近了完整的1秒 大概为1.004s。进入管理界面,在中间添加四个组,名字命名为Start,Library,User,System。在GPIO端口配置中,有一个GPIO_Init函数,专门用来设置端口状态的。
2023-10-16 22:51:12
46
1
原创 GCC背后的故事&C程序常量变量的地址分配
动态分配内存:是在程序加载、调入、执行的时候分配 回收的内存,栈的地址是向下增长,堆的地址是向上增长 静态变量是地址向下增长 全局常量是地址向上增长\n函数的地址向上增长 而由函数,一直到栈区,地址总体是从低地址到高地址,逐步递增的。(一)stm32的堆、栈、全局变量的分配地址编程显示\n在一个STM32程序代码中,从内存高地址到内存低地址,依次分布着栈区、堆区、全局区(静态区)、常量区、代码区,其中全局区中高地址分布着.bss段,低地址分布着data段。
2023-10-07 23:43:34
92
1
原创 STM32F103的流水灯点亮版本
本次实验是利用STM32最小系统开发板实现LED流水灯的实验。STM32最小系统开发板采用STMicroelectronics生产的STM32F103C8T6微控制器,集成了丰富的外设资源,是一款非常适合学习和应用开发的低成本单片机开发板。实验的目的是了解STM32单片机的GPIO输出功能,并利用Proteus软件设计原理图并进行仿真,验证设计是否正确。利用Proteus设计STM32最小系统板LED流水灯原理图;设计STM32最小系统板LED流水灯实验原理图;了解STM32最小系统开发板的主要电路结构;
2023-10-04 20:31:32
34
1
原创 STM32/51单片机编程入门(点亮LED)
1.Keil 和 Proteus 的安装使用keil软件的project建立和流水灯代码编辑。proteus的文件建立和使用,这是流水灯的仿真图构建,灯的颜色是红黄绿,红黄绿,红黄。将Keil编辑的流水灯代码编译导出hex文件,再将hex文件导入51单片机里面就可以运行流水灯。运行图:以上就是利用Keil编辑流水灯代码运行并导出hex文件,再利用proteus软件进行仿真实验。2.ARM开发:使用MDK编译stm32简单程序(闪烁LED)
2023-09-24 21:25:10
79
1
原创 Ubuntu系统使用gcc和Makefile编译C程序
如果要想熟练使用 Linux,想进一步提升自己相关的技能,应该尝试使用ubantu,更改自己的习惯总是难的,希望适应以后就特别的舒服,会越来越得心应手。**任务:**请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
2023-09-17 21:17:46
45
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人