1.修改字体大小1)Window->Preferences->General->Appearance->Cofors and Fonts,然后在右侧C/C++->Editor->C/C++ Editor Text Font,然后点击右侧的Edit…,修改对应的字体格式即可。2)快捷方式:Ctrl+Shift++和Ctrl+Shift+-。注:一般字体用“Cour
# 使用Go语言控制STM32微控制器 在嵌入式系统开发中,使用Go语言来控制STM32微控制器是一种新颖且高效的方式。Go语言以其简洁的语法和高效的并发性能而闻名,结合STM32的强大功能,可以实现更加灵活和强大的嵌入式系统。 ## 什么是STM32微控制器? STM32是由STMicroelectronics生产的系列32位ARM Cortex-M微控制器,具有高性能、低功耗和丰富的外设
原创 4月前
78阅读
gokit3 STM32源码分析 四部曲:1)重点分析:程序的架构https://mp.weixin.qq.com/s/aCWrcKGuR5LANIzdUnhCvQ2)重点分析:串口接收数据机制https://mp.weixin.qq.com/s/p9PKgwrTB9Gw4ksgkBy6AQ3)重点分析:机智云协议结构体的定义https://mp.weixin.qq.com/s/sK-k
  在使用STM32单片机输出PWM波形的时候,通常可以直接使用定时器提供的PWM模式。可以通过自动重装载寄存器(TIMx_ARR)来设置定时器的输出频率,然后通过捕获/ 比较寄存器 1(TIMx_CCRx)来设置占空比。一个定时器只有一个自动重装载寄存器(TIMx_ARR),但是有4个通道的捕获/ 比较寄存器 1(TIMx_CCR1、TIMx_CCR2、TIMx_CCR3、TIMx_CCR4)。
    0x01 引言    MicroPython是运行在微控制器上的Python,遵守MIT协议。剑桥大学数学科学中心的Damien P. George在研究各种深奥数学、物理问题之余,还搞了一个MicroPython项目,将Python移植到ARM Cortex M微处理器上,并开发了电路板。2013年曾经在KickStarter上
转载 2023-07-01 17:12:52
1524阅读
1. 下面的代码看的不是很明白,百为stm32开发板光盘\测试程序\CortexM3\Mode_Privilege\project,堆是程序员分配和使用的,栈是编译器指定的,存放函数参数,临时变量。1 #include "stm32f10x_lib.h" 2 #define SP_PROCESS_SIZE 0x200 /* Process stack size */
前言:我们都知道开发板上除了有经典的流水灯之外,还有一个必备的练习硬件--按键(key),下面继续来完成按键的配置。 1、通过查看原理图,找出按键(key)的管脚名字和对应芯片上的I/O口,四个I/O分别为PA0、PE2、PE3和PE4。 2、配置按键I/O口这里要注意的是工作模式要改成输入模式,不是led的输出模式,并且不需要设置输出模式。GPIO_InitStructure
我就不把仿真文件和代码文件放在后面了,直接给有需要的人,还有不喜欢看内容的人链接:https://pan.baidu.com/s/1cPim96Wg4YSeOjBA7YMDng 提取码:3gsp1、首先打开Proteus 8它的主界面如下图所示2、 新建工程并选择保存位置3、画出单片机的最小系统,如下图所示4、在此基础上,画出输入输出的引脚连接的物件,如图中的LED和按键开关5、打开stm32cu
1. STM32的Timer简介  STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器 ,看门狗定时器暂不讨论。今天主要是研究剩下的8个定时器。    其中TIM1和TIM8是能够产生3对PWM互补输出的高级登时其,常用于三相电机的驱动,时钟由APB2的输出产生。TIM2-TIM5是普通定时
1. 建立工程模板建相关文件 夹, 添加库文件配置系统宏定义和头文件包含路径mdk 软件配置2. 配置系统时钟系统时钟是整个系统运行的三要素之一(还有电源、复位), 这里主要配置 分频系数M、P 倍频系数 N3. 测试系统时钟配置完系统时钟,还要验证一下时钟是否是我们所期望的,这里提供几种方法,仅供参考:查看变量 SystmeCoreClock 的值通过硬件仿真查看内部时钟存在偏差,可通过修改校准
文章目录一些被坑了的注意点(int16)结构体与共用体指针C语言发展史C语言概述C90 标准C99标准C11标准C编译o代替c预处理#define带参宏定义条件编译#ifdef的使用#ifndef的使用C编_cpluslpus#if和#elif指令条件语句for 循环else ifdo whileswitch 选择标识符常量变量常用定义stm32NXP一维数组二维数组定义一个字符串字符串结尾定义
VsCode配置STM32开发环境(插件版)前提:你得安装好MDK才能在VsCode里面配置开发环境,其原理就是使用插件链接上MDK的工具(安装MDK教程请看我历史文章)。安装插件1:打开VsCode 2:进入插件管理器 3:搜索插件 插件名称Keil Assistant 4:下载 点击安装即可插件配置下载完成后,点击侧面小齿轮,进入扩展设置 此插件支持C51和STM32两个一起 在此我们需要找到
版本:STM32Reference manual Rev 21ADC3 has regular and injected conversion triggers different from those of ADC1 and ADC2.TIM8_CH4 and TIM8_TRGO with their corresponding remap bits exist only in High-den
转载 5月前
35阅读
        最近遇到stm32f系列看门狗不能关闭的事情,需要开启RTC闹钟定时唤醒喂狗。这里给RTC闹钟打一个标签把,我设置为每20秒开启一次闹钟。 首先是HAL库的配置配置时钟:选择下载方式选择时钟和选择闹钟A 闹钟配置开启中断 设置时钟 我的是 外部晶振为25MHz项目
RT-Thread STM32 系统分析(1)- 启动文件前言基本信息前言说明启动文件对比上电启动方式启动过程相关文件分析startup_stm32f103xg.S文件内容与注释link.lds 文件内容与注释启动文件代码逻辑流程图Cortex-M3 内核部分知识点介绍APSR标志位cmp 指令汇编伪指令详细解释GNU ARM汇编伪指令关键词详细解释ARM特殊字符和语法链接脚本.lds文件知识点S
    跟51相比较STM32的时钟模块变得比较复杂起来这主要得益于STM强大的各种功能。对于不同的模块需要用到的时钟频率是不一样的。而较高的频率会造成更多的能量的浪费。以下是我在学习STM32过程中的总结。    首先我们要明白各个时钟模块的时钟来源。下面这张图是我调用了原子哥的参考手册里面的图。    首先我们来聊一下时钟的来源(图中
目录第一部分、STM32定时器的基本知识1、STM32定时器的分类(图片来自野火文档)2、开发过程中定时器的常用基础功能3、定时器挂在的总线 第二部分、能用的代码  1、定时器计时代码2、定时器输出PWM代码第三部分、总结第一部分、STM32定时器的基本知识1、STM32定时器的分类(图片来自野火文档)        输入捕获通道应用:在
STM32家族中的所有芯片都内置了逐次逼近寄存器型ADC模块.内部大致框架如下:每次ADC转换先进行采样保持,然后分多步执行比较输出,步数等于ADC的位数,每个ADC时钟产生一个数据位。说到这里,用过STM32 ADC的人是不是想到了参考手册中关于12位ADC转换时间的公式:ST官方就如何保障或改善ADC精度写了一篇应用笔记AN2834。该应用笔记旨在帮助用户了解ADC误差的产生以及如何提高ADC
一、前言关于堆栈的定义在此就不赘述,详细内容可以看这篇博客。 堆栈溢出会导致野指针,返回地址错误等问题,通常程序已经无法正常运行,进入 HardFault 异常中断。为了避免这种情况,一般会分配较大的空间用做栈,可是如果仅仅为了安全就分配大空间的栈势必导致内存浪费。本文介绍两种获取栈最大消耗的方法,以方便合理设置栈的大小。二、方法1、方法一栈指针 SP 指向的位置可以反应出当前栈的消耗量。在 ST
ARM常用汇编指令: 1、 EQU:给数字常量取一个符号名,相当于C语言中的define 2、 AREA:汇编一个新的代码段或者数据段 3、 SPACE:分配内存空间 4、 PRESERVE8:当前文件栈需要按照8字节对齐 5、 EXPORT:声明一个标号具有全局属性,可被外部的文件使用 6、 DCD:以字为单位分配内存,要求4字节对齐,并要求初始化这些内存 7、 PROC:定义子程序,与ENDP
  • 1
  • 2
  • 3
  • 4
  • 5