首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
stm32f103c8t6专题
智能家居系统(基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现)
视频演示:基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现的智能家居项目_哔哩哔哩_bilibili 基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现的智能家居项目: https://pan.baidu.com/s/1f41gAfOOnlcQoKoMx3o84A?pwd=6j2g 提取码: 6j2g 注:本项目为学习完《江科大STM32教
阅读更多...
STM32F103C8T6移植U8g2图形库及基于I2C协议的OLED显示(HAL库方式)【U8g2】【STM32开发板】【STM32CubeMX】
STM32F103C8T6移植U8g2图形库及基于I2C协议的OLED显示(HAL库方式)【U8g2】【STM32开发板】【STM32CubeMX】 实验说明 利用STM32F103的GPIO管脚、VCC和GND连接OLED屏的I2C接口,采用CubeMX设计一个HAL库程序框架,然后下载U8g2源码,针对STM32F103和0.96寸的I2C接口OLED屏,进行代码裁剪,然后移植到HAL程序
阅读更多...
STM32F103RCT6换STM32F103C8T6后delay函数延时了10倍
更换单片机步骤: 1、型号选择 2、启动文件,将HD改为MD。 3、引入对应的启动文件。 4、后面发现delay比之前延时了差不多10倍,解决办法:在初始化后加入SystemInit();即可。
阅读更多...
STM32F103C8T6 HAL库 USART1 DMA方式接收数据
前言: 前面的两篇文章都说关于发送的,HAL库发送数据可以调用现成的函数,而接收数据,现成函数不太好用。这里为了记录了一下自己参考了网上几个大佬的代码,整理了一下USART1 DMA方式接受数据的代码,这里亲测了一下,传输比较稳定,也没有出现发送数据过快导致串口反应不过来的情况。 正文开始: Cubemx配置 这里跟上一篇博客
阅读更多...
STM32F103C8T6 HAL库串口重定向
前言: 这里仅用做个人记录,实现USART1串口通信,并通过printf重定向输出“串口打印测试” 正文开始: 首先在STM32CubeMX上对串口进行配置,其实方法也非常简单。 按照箭头顺序,先点击Connectivity找到USART1,然后将工作方式配置为Asynchronous(异步方式),配置默认即可,如果需要修改波特率,可以自行修
阅读更多...
STM32F103C8T6 HAL库 printf重定向 USART1 DMA方式发送数据
前言: 在上一篇文章里,我采用printf重定向为usart1,但是这样发送,对于MPU的负载比较大,所以本篇文章采用DMA方式,解放MPU资源,去做其他的事情,这里仅做为自己的记录。 正文开始: Cubemx配置 先是在Cubemx里对单片机进行配置,跟上一篇文章同样的配置 增加DMA通道,并且将RX引脚置为上拉模式,因为
阅读更多...
STM32F103C8T6 HC-SR04超声波模块——超声波障碍物测距(HAl库)
超声波障碍物测距 一、HC-SR04超声波模块(一)什么是HC-SR04?(二)HC-SR04工作原理(三)如何使用HC-SR04(四)注意事项 二、程序编写(一)CubeMX配置1.芯片选择2.配置RCC、SYS、时钟树![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8e04c33ec7fe4fdbbd1a9ef7593e74d8.png)3
阅读更多...
【STM32CubeMX】配置STM32F103C8T6
一、MCU选择器建立项目 二、配置系统参数 三、配置外设 四、项目管理 五、生成项目源程序 一、MCU选择器建立项目 1、打开CubeMX以后,选“通过MCU选择器来建立新项目” 找到STM32F103C8T6,并开始项目 二、配置系统参数 2、RCC 系统时钟是晶振频率,外部晶振和内部晶振(根据需求来) 3、SYS 系统时钟 和 选择调试模式Debug(根据需求来)
阅读更多...
在STM32F103C8T6上移植UCOS系统
网上看到有的人也在STM32F103C8T6上移植过UCOSII系统,各有各的说辞,有的说在STM32F103C8T6上移植UCOSII系统,不能用startup_stm32f103x_hd.s,要用startup_stm32f103x_md.s,不然会报错或跑不起来,我就纳闷了,hd是比md更大内存,更大FLASH的,怎么会用不了,再说系统能不能跑起来,最主要的还是取决你的芯片的
阅读更多...
使用STM32F103C8T6与蓝牙模块HC-05连接实现手机蓝牙控制LED灯
导言: 在现代智能家居系统中,远程控制设备变得越来越普遍和重要。本文将介绍如何利用STM32F103C8T6单片机和蓝牙模块HC-05实现远程控制LED灯的功能。通过这个简单的项目,可以学会如何将嵌入式系统与蓝牙通信技术相结合,实现远程控制的应用。 目录 导言: 准备工作: 硬件设计: HC-05蓝牙串口模块介绍: 引脚: 手机蓝牙APP: 物理连接: 通信协议: A
阅读更多...
基于STM32的最小系统电路设计(STM32F103C8T6为例)
前言:本篇博客为嵌入式硬件领域的文章,对 STM32 的最小系统电路设计进行教学。本篇博客以嘉立创 EDA(标准版)进行绘制 STM32F103C8T6 的最小系统电路 PCB 板,STM32 的最小系统通常包括:微控制器、时钟电路、电源电路、复位电路以及程序下载端口。本篇博客对 STM32F103C8T6 的最小系统进行介绍并强调绘制 PCB 过程中的注意事项!(PCB绘制图见篇末) 最小系统
阅读更多...
stm32f103c8t6学习笔记(学习B站up江科大自化协)-PWR电源控制
PWR简介 ·PVD可用在电池供电或安全要求比较高的设备,如果供电电压在逐渐下降,在电压过低的情况下可能会导致内外电路出现不确定的错误。为了避免不必要的错误,可以在电源电压过低的情况下,提前发出警告并关闭较为危险的设备 ·关闭的硬件越多越省电,不过唤醒就越麻烦 电源框图 可将STM32内部的供电方案大致分为3部分: ·
阅读更多...
stm32f103c8t6学习笔记(学习B站up江科大自化协)-UNIX时间戳、BKPRTC
UNIX时间戳 ·UNIX时间戳最早是在UNIX系统使用的,所以叫做UNIX时间戳,之后很多由UNIX演变而来的系统也继承了UNIX时间戳的规定,目前linux,windows,安卓这些操作系统的底层计时系统都是用UNIX时间戳 ·时间戳这个计时系统和我们常用的年月日时分秒的计时系统具有较大的差别。 年月日时分秒计时系统是每60秒进位1次
阅读更多...
STM32F103C8T6最小系统板
终于完成人生中间的第一个主控板设计,这个是多年的愿望,以前总是在树莓派周边倒持,缺少一些自己掌控全局的感觉。没想本次设计缝缝补补竟然一次性打板成功。LED成功点亮(见另外一个post),值得庆祝。 以后可以在底层上做更多的事情了。
阅读更多...
STM32F103C8T6搭载FreeRTOS移植OLED屏幕驱动
目录 0. 前言1. OLED驱动程序2. 主函数编写3. 踩坑事项 0. 前言 本文介绍STM32F103C8T6移植OLED屏幕的驱动程序。 移植的步骤其实很简单,和裸机开发基本是差不多的步骤,但是苦于网上耐心的教程比较少,所以走了点弯路,费了一些周章。 准备好移植了FreeRTOS的STM32工程即可。 1. OLED驱动程序 oled.c #include "o
阅读更多...
基于STM32F103C8T6的小四轴无人机悬停代码
我想使用STM32F103C8T6为核心制作一个四轴无人机,下面提供芯片资源配置的代码以及无人机悬停的代码。 首先,从芯片资源配置开始。对于使用STM32F103C8T6制作四轴无人机,你需要配置以下资源: PWM输出来控制四个电机的速度。读取传感器数据,如陀螺仪和加速度计,以进行姿态控制。控制器与电机驱动器之间的通信,通常是使用PWM信号或者I2C/SPI。 下面是一个基本的芯片资源配置代
阅读更多...
STM32F103C8T6-CAN
本文内容 HAL库下printf重定向解决问题:Keil下调试可以正常运行,而下载后运行不了CAN总线的回环测试,自发自收 printf重定向 实现printf重定向的目的是方便调试,通过UART查看打印的调试信息。 下面以STM32F103C8T6为例: 这些参数需要与串口调试程序约定一致,比如我的,只需要关注红框部分即可: 修改stm32f1xx_hal.c,添加以下代码: #in
阅读更多...
如何使用Arduino IDE对STM32F103C8T6进行编程
使用Arduino IDE对STM32F103C8T6进行编程调试,你需要进行一些准备工作和设置。以下是详细的操作步骤: 准备工作: 安装Arduino IDE:确保你已经安装了最新版本的Arduino IDE。可以从官方网站 https://www.arduino.cc/en/software 下载适用于你的操作系统的版本。 安装支持STM32的Arduino核心:Ard
阅读更多...
【嵌入式基础】STM32F103C8T6移植uCOS基于HAL库
本次实验学习嵌入式实时操作系统(RTOS),以uc/OS-III为例,将其移植到stm32F103上,在实验过程中的所有操作务必认真仔细,切勿心急进行操作,往往由于一个小步骤的错误导致最终实验运行的错误。 目录 一、实验要求 二、STM32 CubeMX建立HAL库工程 1、建立工程并设置实验环境 二、获取uC/OS-III源码 三、文件移植前的准备 编辑 四、开始移植 1、
阅读更多...
stm32f103c8t6学习笔记(学习B站up江科大自化协)-ADC
ADC简介 ADC,英文全称是Analog to Digital Convert,意为模拟数字转换器,简称模数转换器,或者叫AD转换器,STM32主要是数字电路,数字电路只有高低电平,没有几V电压的概念,如果想读取电压值需借助ADC模数转换器来实现。ADC读取引脚上的模拟电压,转化成一个数据存在寄存器里,将这个数据读取到变量中就可以进行显示、判断、记录等操作。
阅读更多...
STM32F103C8T6 移植 μC/OS-ii Keil(二)
第一篇我代码的一些复制粘贴,下面就需要进入到工程里面去更改一些东西。 启动文件:startup_stm32f10x_md.s找到下面的函数,更改 更改为: 相应的这个文件下面还有,需要更改: PendSV_Handler PROCEXPORT PendSV_Handler [WEAK]B .ENDPSysTick_Handler PRO
阅读更多...
STM32F103C8T6 移植 μC/OS-ii Keil(一)
单片机课程设计,觉得使用操作系统更好操作,所以这几天一直在搞这个移植,网上资料也很多,但是胡乱的一顿复制粘贴也是不断地报错,下午静下心来一个一个的检查,最终完成了移植,这个是我的工程: 链接:https://pan.baidu.com/s/13xLBH10Hvc3kCipPs7tzxg 提取码:1234 下面就对我的移植过程进行一个小小的总结: 1.首先下载好相应的源码 可以到官网下
阅读更多...
STM32F103C8T6移植uc/os3
目录 一、STM32CubeMX创建项目二、移植操作系统三、修改代码四、运行结果 实验软件:STM32CubeMX,Keil实验芯片: STM32F103C8T6 一、STM32CubeMX创建项目 在Pinout&Configuration配置RCC,SYS 配置引脚 配置串口 二、移植操作系统 下载uCOSIII源码官网,将下面几个文件复制到项目工程文件中
阅读更多...
【电机芯片】以STM32F103C8T6举例——持续更新
【电机芯片】以STM32F103C8T6举例——持续更新 文章目录 前言一、PWM二、IIC三、UART四、看门狗watchdog五、ADC六、定时器中断七、EEPROM与flash八、时钟九、IAP-Bootloader,APP十、OTA十一、GPIO模式十二、SPI十三、STLINK-DEBUG模式总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考
阅读更多...
stm32f103c8t6最小系统PCB绘制
文章目录 前言导入元件画出PCB板的形状放置元件并布线自动布线手动布线 覆铜设置logoBOM表和网络表生成Gerber光绘文件总结 前言 本篇文章也是小白创作哦~ 初学者可以跟着看看,步骤比较详细。绘制PCB是一个比较困难的过程,需要耐心坚持下去哦! 导入元件 前提:需要先完成原理图的设计。 首先需要先创建一个PCB文件,步骤如下图所示: 然后将元件导入
阅读更多...
STM32F103C8T6 + 0.96“ I2C OLED显示3D_Cube
STM32F103C8T6+0.96/1.3" I2C OLED显示3D_Cube ✨将3D_Cube模型显示效果移植到基于Arduino 框架下的STM32上面,支持0.96"屏幕和1.3”屏幕,在代码中做了选择性宏编译,如果选择0.96"屏幕则不行下载其他库,如果选择的是1.3"屏幕则需要下载支持1.3" 的库。 🌿相关篇《STM32duino开发的底层驱动程序-bo
阅读更多...