- 博客(15)
- 收藏
- 关注
原创 STM32之CubeMX学习笔记(10)定时器常用功能归纳
在学32单片机前,我先学的是51单片机。可怜的51单片机只有两个定时器,还都是16位的,在做一些复杂应用的时候是根本不够用,甚至还要一个定时器拆成两个定时器来用(真实存在)。但在学习stm32过后,就算是入门的F103,定时器资源都是用不完的。而且stm32的定时器的功能强大,基本库和HAL的功能也基本相同,这也决定了stm32拥有非常广泛的用途。
2023-04-09 17:23:22
4345
原创 STM32之CubeMX学习笔记(9)ADC+DMA多通道非连续查询模式
在需要的时刻持续监测ADC的值,由于ADC和DMA均为自动执行,从执行该指令到提取到更新后的ADC值,可以控制在5us以内(4Ranks,12bit,3cycle),可能需要时间更少(未测试),下面是具体实现。一般用于通信,将通讯寄存器中的数据按照条例搬运到内存中,当CPU需要时,可以直接访问内存,分析之前传来的数据,不要等待通信完成,而在浪费时间和性能。其中hadc是我们要操作的ADC所代表的参数结构体指针,pData是我们在内存中提前开辟的数组的指针,length是一次传输的ADC值数量。
2023-04-09 14:10:21
1610
原创 STM32之CubeMX学习笔记(8)软件IIC简述--驱动MPU6050
IIC通讯协议是由飞利浦公司在1982年开发的,比摩托罗拉的SPI通讯协议还要稍微早一点。1960年,他们两个的祖先Usart/Uart就被创造出来了,但串口通信不适合芯片与芯片间大规模通信,它更多地是用在工业领域,抛开这位老古董不谈,结合我之前写过的SPI文章,我们来看看这两个稍微复杂一点点的芯间通信。
2023-04-07 14:14:47
907
原创 STM32之CubeMX学习笔记(7)SPI驱动OLED及其优化
通过小幅改进中景园的OLED程序,我们熟悉了SPI数据的传输结构,尝试了软件和硬件spi的使用,也领略了42Mbit/s的硬件SPI的速度。SPI是一款实用的,简单的,高速的通讯协议,它的硬件传输直接与你的芯片主频挂钩,没有什么奇奇怪怪的速率协议,说的就是你,IIC。下一期,我会从软件和硬件的两个维度,来用逻辑分析仪看IIC协议。
2023-03-23 16:20:14
3179
5
原创 STM32之CubeMX学习笔记(6)USART串口基础功能验证
通过数据逻辑分析仪做实验,我们可以发现更多新的盲点,这样可以让我们对通信协议更加了解。也可以尝试用软件的方式去编写一个通讯协议,以代替不太好的硬件。说的就是你,IIC。在之后的IIC实验中,我们也可以看看STM32的硬件IIC和软件IIC的差别是什么。
2023-03-12 18:22:59
1636
原创 【2022项目复盘】无位置传感器的无刷直流电机驱动设计
无位置传感器的无刷直流电机驱动设计是我的本科毕业论文课题,主要还是去查阅资料,学习相关知识,然后自己设计驱动,努力复现一下。
2022-11-30 15:09:54
5833
3
原创 【2022项目复盘】第六届大学生智能农业装备竞赛
在2020年底,我参加了在山东淄博举办的“中联重科”杯第六届大学生智能农业装备国际创新大赛,这篇文章是复盘与部分代码的解析。这次比赛,我首次使用CubeMX+Keil5的工作流程,在上一届学长成果的基础上进行了修改,完成了硬件设计工作。整体的工作自由度比较高,非常适合用来进行创新设计。软件根据题目要求可以分成两个部分:行走部分和栽苗部分。行走部分通过超声波和编码器检测测距控制电机、转向舵机。栽苗部分通过自制的Openmv4摄像头检测,反馈给行走机构调整位置,最后完成栽苗工作。
2022-11-29 18:35:24
1410
6
原创 STM32之CubeMX学习笔记(5)库文件解读(以stm32f4xx_hal_gpio为例)
1.英文水平的提高可以显著提高看代码的效率。不要看见大段英文就头大,细细翻译会发现每句话都是有用的。2.库文件中的函数是用来实现不同功能的,具体的功能可以翻译函数名,再看不懂可以看代码周围的注释,或者查库文件相关的手册。3.头文件的嵌套实现了Cubemx自动选择模块启用的功能,将.c和.h文件分开到两个不同地方,避免硬加代码造成不必要的混乱。
2022-11-08 18:31:27
1615
2
原创 STM32之CubeMX学习笔记(4)新建工程文件解读
芯片与板子介绍主频RAM 与 Flashio数与封装内置外设板子外设新建工程文件的步骤选择芯片选取调试方式,选取高速晶振,调整时钟修改文件设置,和生成设置生成工程文件工程文件夹解读coreDriversMDK-ARMmain.c和main.h文件解读main.cmain.h补充位带操作代码使用案例挖坑cubeide
2022-02-09 22:09:46
5840
2
原创 STM32部署神经网络笔记(2)配置keras相关环境
文章目录安装Tensorflow安装keras配置keras后端安装Tensorflow在这个项目中,我使用的是低版本的tensorflow1.10,主要是为了避免高版本带来的兼容性问题。在cmd中输入conda install tensorflow== 1.10或者conda install tensorflow_gpu==1.10,前者是仅使用cpu进行运算,后者则是使用了gpu进行加速。据我目前在同学电脑和我自己电脑上的尝试,在大数据量计算,尤其是图像处理方面,gpu加速会比仅使用cpu快很多
2021-03-31 10:25:43
1297
3
原创 STM32部署神经网络笔记(1)安装Cuda和Anaconda
文章目录安装cuda一、pandas是什么?二、使用步骤1.引入库2.读入数据总结安装cudacuda是运行tenserfrow_gpu的必要组件提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代
2021-03-22 09:21:16
1211
7
原创 STM32之CubeMX学习笔记(2)创建工程与点亮LED
STM32之CubeMX学习笔记(2)配置GPIO点亮LED打开CubeMX打开CubeMX
2020-07-17 12:41:35
1065
1
原创 STM32之CubeMX学习笔记(1)什么是CubeMX 什么是HAL库
STM32之CubeMX学习笔记(1)CubeMX&HAL库介绍CubeMX介绍HAL库介绍初步使用感受CubeMX介绍STM32用的CubeMX是ST公司出品的一款C代码生成器软件,它的图形化工具界面可以让使用者可视化地选择所需的芯片,并设置选用任一引脚、任一外设。另外的,CubeMX还提供了自动识别引脚冲突、设置时钟树、功耗预测等功能。使用CubeMX能减轻底层开发工作量,节约时间。HAL库介绍CubeMX生成的代码使用的并不是32单片机的标准库,而是使用的HAL库。HAL,是英文Har
2020-07-14 09:53:38
17367
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人