前言:一般情况下单片机的时钟配置是单片机程序中的第一步,也是很重要的一步。这时候我们需要考虑以下几个问题。1. 系统时钟的时钟源用哪个。2. 系统时钟频率要多少。3. 每个模块的时钟频率要多少。4. 如果外部时钟出了问题,这个时候时钟是怎么运行的。 下面就针对性的讲一讲STM32F103的时钟配置。知识点:1. 系统复位后,HSI振荡器被选为系统时钟。当时钟源被直接或通过PLL
# STM32F103与机器学习的结合
随着物联网(IoT)和智能设备的普及,机器学习在嵌入式系统中的应用逐渐受到关注。STM32F103作为一款广受欢迎的微控制器,凭借其强大的性能和灵活的扩展性,成为实现机器学习算法的理想选择。
## STM32F103简介
STM32F103是意法半导体(STMicroelectronics)推出的ARM Cortex-M3系列微控制器。其特性包括:
一、STM32 启动过程 通过Boot引脚设定,寻找初始地址 初始化栈指针 __initial_sp 指向复位程序 Reset_Hander 设置异常中断 HardFault_Handler 设置系统时钟 SystemInit 调用C库函数 _main二、介绍GPIO GPIO 8种工作模式(gpio_init.GPIO_Mode): (1) GPIO_Mode_AIN 模拟输入 (2) GPIO
转载
2023-10-23 09:33:21
350阅读
文章目录前言1. 移植FreeRTOS2. 测试FreeRTOS3. 移植工程 前言该篇环境为:STM32F103ZET6、Keil 库函数版本 F4、F7、H7移植同理。FreeRTOS源码:链接:https://pan.baidu.com/s/10l8TmseEJKkFdwFY3qZc1Q?pwd=8uqw
提取码:8uqw1. 移植FreeRTOS选取平时编程的一个库函数工程进行移植。
前言RT-Thread官网有很多通过IDE一键移植的方法,本文选择的是手动移植,文末提供移植好的完整工程。RT-Thread 有3个版本,分别是标准版本、Nano版本、Smart版本,本文选择的是最简单的Nano版本,RT-Thread Nano 是一个极简版的硬实时内核,其架构如下:其启动流程如下,黄色表示 libcpu 移植相关的内容(RT-Thread提供的libcpu文件已完成 ),绿色部
1.什么是ARMARM是一家芯片设计企业,也是对一大类微处理器的统称。2.什么是STM32ST:意法半导体(一个公司名),是一个SOC企业 M——Microelectronics的缩写即微控制器,M0、M3、M4 32——32位,表示是一个32位微控制器STM32的芯片结构图3.STM32F10x最常见的系列STM32F101 基本型系列,主频为36MHz STM32F102USB 基本型系列,主
转载
2023-08-10 15:42:14
693阅读
STM32F103是一款由意法半导体(STMicroelectronics)推出的一款微控制器,它采用ARM Cortex-M3内核,拥有丰富的外设和功能,广泛应用于各种嵌入式系统中。而Linux作为一种开源的操作系统,也被广泛应用于各种设备中,包括嵌入式系统。本文将介绍如何在STM32F103上运行Linux系统的相关内容。
首先,需要明确的是,STM32F103虽然是一款功能强大的微控制器,
# OpenHarmony与STM32F103的集成
OpenHarmony是一款开源的分布式操作系统,它旨在构建一个统一的软硬件生态系统。STM32F103是一款由意法半导体(STMicroelectronics)公司推出的32位微控制器,具有丰富的外设和强大的性能。本文将介绍如何在STM32F103上集成OpenHarmony,并提供代码示例。
## 1. OpenHarmony简介
O
原创
2024-01-09 20:58:57
142阅读
最近偶然看到B站bad apple的视频, 是基于stm32单片机的,心血来潮自己也来弄了一个小视频,哈哈。。。
和bad apple的播放原理一样,视频其实就是一张张小图片,保存为.bin二进制文件格式,放在SDcard里面,通过stm单片机读取SD的bin文件,再显示在TFT上面。第一步,截取视频图片。截取视频图片的方法很多,这里选择通过KMPlayer播放截取一段视频。右
stm32f103有的型号引脚多,可以多达144!。所以进一步优化程序。思路:把跟引脚操作功能相关的函数专门放到“stm32f10x_gpio.h”和“stm32f10x_gpio.c”这两个函数里。有点像模块化编程,大家可以参考视频。 https://www.bilibili.com/video/av59966686 所以我们又要新建两个文件,放进文件夹即可。 再添加到keil工程中,这边添加有
STM32F103 一:ADC前言总结数据采集系统A/D转换原理A/D转换器的主要参数STM32 ADC的一些配置扫描模式规则组注入组转换模式ADC 寄存器ADC实验 前言将模拟量转换为数字量的过程称为模数(A/D)转换,完成这一转换的器件叫模数转换器(ADC),将数字量转换为模量的过程叫数模(D/A)转换,完成这一转换的器件成为数模转换器(DAC)。 可以去看看刘凯老师的课:https://w
概述 SRAM的简介 折腾过电脑的朋友都知道,当电脑运行比较卡的时候,我们可以通过给电脑加装内存条来改善电脑的性能。那么号称微型计算机的单片机能不能像电脑一样加装内存条呢?装内存条倒是不行,但是我们可以给单片机外加和内存条效果一样的SRAM来提升单片机的性能。下面以STM32F407ZGT6单片机来讲解一下来扩展外部SRAM。原理:给STM32芯片扩展内存与给PC扩展内存的原理是一样的,只是PC上
1、STM32的中断 STM32的中断管理是属于内核部分的,所以中断管理的寄存器也是属于内核组,不属于芯片外设,在查看相关资料的时候,需要查看相对应的内核手册。 STM32F103ZET6是Cortex-M3内核的IC。Cortex-M3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但是STM32并没有完全使用Cortex-M3内核的全部中
stm32之间直接传送浮点数的实现方法指针变换小端模式字节流发送端接收端 指针变换一个变量,如果长度大于一个字节,就可以拆分为多个字节;同时,也可由多个字节合成一个变量。数据传输过程一般就是采用发送端拆分,接收端合成。其中指针变换语句是核心:int x;
x=*((int*)&x);其中x=指向该地址((强制指针类型转换)取地址); 该表达式可以将任意地址的几个字节“识别”为某一个类型
由于stm32的库默认是外部晶振8M的情况下实现的,所以配置波特率的时候也是按8M,包括主频,如果用12M晶振就需要改动几个地方: 在system_stm32f10x.c中找到相应类型的文件,进行如下修改。 1)72M主频: 8M时: RCC->CFGR |= (uint32_t)(RCC_CFGR
转载
2018-07-14 21:40:00
766阅读
什么是输入捕获?顾名思义,输入捕获就是对输入的信号进行捕获,可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能。STM32 的输入捕获,简单的说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完
const static uint32_t FLASH_START_ADDRESS = 0x0800FC00; //f103c8t6 The last p
原创
2022-12-23 00:14:58
495阅读
# STM32F103内核架构实现指南
STM32F103是STMicroelectronics公司推出的一款流行的微控制器,广泛用于嵌入式开发。本文旨在帮助初学者了解如何实现和开发STM32F103内核架构。接下来,我们将按照以下步骤逐步指导你完成这一过程。
## 实现流程
以下是一个实现STM32F103内核架构的基本流程表格:
| 步骤 | 描述
# Python 开发 STM32F103 的完整教程
## 引言
在嵌入式系统中,STM32F103是一款广泛使用的微控制器,而Python作为一种易于学习和使用的编程语言,适合初学者建立与MCU之间的通信桥梁。在本篇文章中,我将带你一路走来,从开发环境的搭建到实现简单的LED控制,帮助你轻松入门STM32F103的开发工作。
## 流程概述
在进行Python开发STM32F103之前
STM32F103各引脚(LQFP64)功能定义NOTE:1.供电方案●VDD = 2.0至3.6 V:用于I / O的外部电源和内部稳压器,通过VDD引脚从外部提供。●VSSA,VDDA = 2.0至3.6 V:用于ADC,DAC,复位模块,RC和PLL(当ADC或DAC模块使用,施加到VDDA的最小电压为2.4 V), VDDA和VSSA必须分别连接到VDD和VSS。●VBAT = 1.8至3