草庐IT

使用STM32CubeMX+freeRtos+MDK开发平衡小车(第一篇)

目录一、STM32CubeMX安装二、创建项目三、开启时钟配置外设 3.1配置时钟3.2配置USART1  3.3配置SYS  3.4freertos配置和任务添加四、代码生成4.1重写串口程序并通过软件调试进行测试4.1调试程序一、STM32CubeMX安装    这是我第一次做开源项目,因为某些原因需要学习FreeRtos的知识,在自己学习的同时,也记录一下过程和开发的心得,读者共勉,有不足的地方希望大家可以指出来,相互学习。    要使用FreeRTOS当然可以通过移植源码,创建任务的方式去做,事在人为,我选择用CubeMX的原因还是觉得这个工具在初始化一些硬件和创建进程是比较便捷的,用

STM32CubeMx使用教程(五)—— 使用PWM控制蜂鸣器演唱孤勇者

本章节将讲解如何使用STM32CubeMx配置定时器,并使用PWM控制无源蜂鸣器频率演奏 前言1.软件准备:STM32CubeMx、Keil5_ MDK2.硬件准备:STM32F103最小系统板、无源蜂鸣器模块、杜邦线若干本实验所使用的所有器件清单和工程源码已上传至百度网盘链接:https://pan.baidu.com/s/11HC05dnI-CEzDaU9OL2ugA?pwd=80o8 提取码:80o8一、蜂鸣器发声原理 如图所示为蜂鸣器电路。一般来说,3.3V直流产生的电信号功率很小,不足以驱动蜂鸣器发出可听见的响声,所以整个模块中有一个电流放大模块,这便是图中的晶体三极管。图中的放大电

STM32烧写程序:ST-link驱动下载和安装

ST-link驱动链接点击下载ST-link下载步骤1ST官网链接:https://www.st.com进入官网,然后选择中文步骤2在搜索栏输入STLINK,然后点击搜索。然后往下滑,点击STSW-LINK004步骤3点击Getlatest接受许可协议填写用户信息,邮箱很重要,下载链接,会发到填的邮箱中。步骤4下面是邮箱中接收的内容,点击立即下载然后就会弹出下载窗口,选择路径即可下载ST-link压缩包。ST-link安装步骤1解压下载的ST-link压缩包,然后双击安装。步骤2选择安装路径,然后Next步骤3安装完成读写STM32内部Flash的功能软件安装后效果ST-linkV2调试下载器

STM32开发利器:STM32CubeMX

    这篇博客篇幅不长,主要是为大家介绍ST公司推出的STM32CubeMX开发工具,当成下周更新STM3210个项目工程的预备篇,同时FPGAFPGA20个例程篇:8.SD卡任意地址的读写,代码部分已经编写完毕,对应博客正在整理中,如图1所示即为STM32CubeMX的图标。图1STM32CubeMX图标    在介绍STM32CubeMX之前,我们需要知道HAL库这个概念,实际在早些年大概2018年以前吧,大家做STM32工程开发,用的最多的是标准库,标准库自出道超过10年以来受广大使用者推崇,就算现在2022年还有一部分工程师、公司仍在继续使用。不过现实情况很残酷,ST官方已经不再更新

stm32 时钟树的讲解

对于时钟,不了解的人可能不是很了解他的作用,稍微知道时钟的人一般都会这样解释“时钟是单片机的心脏、是单片机的脉搏、是心跳”。由此可见时钟的重要性。时钟为应用带来了高度的灵活性,用户在运行内核和外设时可选择使用外部晶振或者使用振荡器,既可采用最高的频率,也可为以太网、USBOTGFS以及HS、I2S和SDIO等需要特定时钟的外设保证合适的频率。可通过多个预分频器配置AHB频率、高速APB(APB2)和低速APB(APB1)。AHB域的最大频率为168MHz。高速APB2域的最大允许频率为84MHz。低速APB1域的最大允许频率为42MHz。下面看看stm32给的参考手册上的时钟树。这个是F4的系

嵌入式项目实战——基于QT的视频监控系统设计(三)

嵌入式项目实战——基于QT的视频监控系统设计(三)进入到五一假期第三天,继续我们的项目。本来五一假期还是想好好休息一下的,因为最近学习的状态不太好,刷题都没有思路了,但是身边的同学太卷了,不过我还是想放松一下,所以上午睡觉,下午复盘一下这个项目分享出来。等假期结束之后,再好好冲刺一波。前两天分别介绍了QT的基本使用以及UDP网络编程,实现了用QT编写一个上位机与开发板进行数据传输。这些工作完成之后我们就可以开始关注在上位机中显示视频画面了,这里面涉及到开发板内核的视频画面获取与处理,然后通过UDP网络通信发送给上位机实时显示。第三天:v4l2视频处理模块首先介绍一下v4l2视频处理模块,V4L

ARM简单程序设计【嵌入式系统】

ARM简单程序设计【嵌入式系统】前言推荐ARM简单程序设计创建项目注意事项顺序结构程序两数之和分支结构程序符号函数循环结构程序已知循环次数未知循环次数两重循环冒泡排序子程序设计①寄存器传递参数方式②存储区域传递参数方式③堆栈传递参数方式最后前言2023-4-620:26:54以下内容源自《【嵌入式系统】》仅供学习交流使用推荐Keil4安装教程及简单使用【嵌入式系统】ARM简单程序设计创建项目新建工程xxx芯片:ARM7(LittleEndian)设置工程属性Build结果必须是0Error的如果是下图看配置是否正确注意这个:注意事项1.每一次修改代码就需要重写Build2.READWRITE区

STM32电机TB6612驱动

最近在学习STM32平衡小车,最基础的就是要对电机进行驱动,电机不能直接接到GPIO口上,需要通过TB6612驱动模块进行驱动。下面对其进行一个简要的讲解一.TB6612驱动下图就是TB6612模块的详细原理图,这里只对如何使用进行讲解,不讲解其内部原理可以同时驱动两个电机AB.PWMA/PWMB为两个电机提供pwm脉冲。AIN1/AIN2,BIN1/BIN2.控制电机的正反转和停止。AIN1/BIN1AIN2/BIN/200停止01正转10反转STBY可以理解为一个使能端口,高电平有效。使用方法为:STBY高电平,提供pwm脉冲,设置A/BIN控制正反转。二.stm32代码实现1.产生pwm

java - JDK 11 和 JavaFX 11 : build for ARM (Tinker Board) not running (hash mismatch)

我有一个JavaFX8项目,它是在Windows10上使用NetBeans8.2开发的。我从中构建的JAR我在AsusTinkerBoard上运行。对于JDK11和JavaFX11,我想利用一些新功能并希望获得一些性能提升。在教程的帮助下安装NetBeans10之后:https://openjfx.io/openjfx-docs/#introduction(JavaFX和NetBeans>非模块化与Maven部分),我已成功移植并可以在我的Windows系统上运行该应用程序。通过IDE或使用命令提示符:java--module-path%PATH_TO_FX%--add-modules

【Bluetooth蓝牙开发】十、BLE蓝牙通信流程(建立连接,广播,扫描,断开连接)

个人主页:董哥聊技术我是董哥,嵌入式领域新星创作者创作理念:专注分享高质量嵌入式文章,让大家读有所得! 【所有文章汇总】 文章目录1、初始化蓝牙控制器2、设置蓝牙控制器为广播状态3、设置蓝牙控制器为扫描态4、发起连接请求5、数据交互