前言在中国,熟悉单片机的人士大多会听说过STM32。这是意法半导体(STMicroelectronics, 简称ST)的32位微控制器(MCU)家族,基于ARMCortex-M内核。2007年,STM32F1诞生。这是业界首款搭载ARM Cortex-M3内核的32位MCU,采用180nm闪存工艺,配有128KB闪存和20KB RAM,运行主频为72MHz,在当时属于相当高的配置。随后的10年内,
stm32f10x_con.h 配置文件:加载哪个外设、使能assert 对参数进行检查,如果使能了assert 需要在main文件中添加 _assert_faild 函数。 使能assert会增大编译出执行文件的大小,调试完后可以将assert 屏蔽。stm32f10x.h头文件中包含了stm32f10x_conf.h 。 stm3
在各类通信中,常使用memcpy将接收到的字节数组(如:unsigned char buffer[100]),直接复制到结构体当中,无须解码,直接使用结构体中的变量就完事了。但,使用MDK5作为IDE, 对STM32芯片进行编程完成类似操作时,确并不如意。相关代码如下:// 如果有一些似曾相识的感觉,那应该是上一篇讲STM32用中断实现串口通信的文章
#include "usermain.h"
#
转载
2024-05-07 22:01:01
1109阅读
第一次接触了memset() 函数。 感觉的确是一个能够高效的实现对一个array 进行一次性初始化的fancy way。 下面给出介绍:memset() 函数定义在头文件<<cstring>>中, prototype 如下: void * memset ( void * ptr, int ch, size_t num );函数的作用是: fill the first nu
memest原型 (please type "man memset" in your shell) void *memset(void *s, int c, size_t n); memset:作用是在一段内存块中填充某个给定
已经简单的学习了GPIO,NVIC,EXTI,SYSTICK这几个方面的大概;通过点亮LED灯,通过按键控制灯的亮灭,按键中断,LED延时等等,虽说只是些小程序,但这些小程序其实是依靠了ST和ARM成熟的技术支持才得以实现出现的,下面就看看他们具体做了什么?ARM处理器相关函数:启动文件:初始化堆栈指针初始化程序计数器(Reset_handler)初始化中断向量表配置系统时钟调用C库函数_main
我们要想深刻理解某个东西,充分利用某个东西,甚至对其作出预言,就需要为它建立一个模型。本文以STM32F429执行速度为切入点,讲了两个方面:1、STM32F429执行速度模型2、建立模型的过程和意义您仔细读完本文的收获是:1、一个完整的STM32执行速度模型,可指导软件开发。2、理解建模过程,提升解决问题的能力。影响指令执行速度的因素很多,包括核心频率,存储器频率,外设频率,电压,代码位置,指令
arduino一直以来深受广大极客的喜爱,丰富的库以及外围扩展,但是Atmega328已经比较老旧了,STM32相比而言,性能要比arduino强大了太多,因此我们选择用STM32F103C系列来代替arduino开发下面跟随我们一起在arduino IDE中搭建stm32开发环境吧1硬件准备:STM32F103C8T6 蓝色开发板 x 1(如图) 软件准备:Arduino开发环境操作步
转载
2024-03-01 15:58:39
129阅读
文章目录一、STM32定时器是什么?二、STM32定时器的功能1.计时&&中断2. PWM产生3.输入捕获三、总结 一、STM32定时器是什么?定时器顾名思义就是可以用来定时的,我们可以设置想要的定时时间,然后去做很多事情。STM32的定时器功能很强大,可以用来定时、计数、PWM产生、输入捕获以及定时器中断等。下面就一一介绍一下这些功能。二、STM32定时器的功能1.计时&
转载
2024-03-25 15:35:47
139阅读
What is the state of machine learning at the edge today? What tools can help engineers collect data and run inferences? Where can you find ST MEMS, and how can they make a difference in real-world pro
转载
2023-12-27 10:12:31
70阅读
STM32 | STM32使用固件库点亮LED
原创
精选
2023-03-26 20:34:13
467阅读
写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 目录一、程序安装二、CubeMX工程生成三、VSCode环境部署四、工程编译五、编译清除六、其他 一、程序安装1、VSCode:https://code.visualstudio.com/Download好用到爆的文本编辑器,配合强大的插件,
转载
2024-08-20 13:30:04
1055阅读
AMBA AMBA(Advanced Microprocessor Bus Architecture)是ARM公司提出的一种开放性的SoC总线标准,现在已经广泛的应用于RISC的内核上了。 AMBA定义了一种多总线系统(multilevel busing system),包括系统总线和等级稍低的外设总线。 AMBA支持32位、64位、128位的数据总线,和32位的地址总线,同时
转载
2024-05-20 07:43:56
181阅读
一、DMA相关知识介绍1、什么是DMA?DMA 全称Direct Memory Access,即直接存储器访问,作用是将数据从一个地址空间复制到另一个地址空间。但是这个传输的动作不需要CPU参与,而是通过DMA控制器进行控制(硬件控制,通过硬件为RAM和IO设备开辟一条直接传输数据的通道)。在CPU初始化完成这个动作以后,在数据需要进行传输时会直接进行这个动作,使得CPU的效率大大提高。除此之外,
STM32低功耗+lora调试1. 使用符合《输变电设备物联网传感器数据规范》的lora协议规定汇聚节点有两个信道(控制信道+业务信道)控制信道默认为1,业务信道根据自己的实际情况可以进行设置,汇聚节点上电后首先将izji的业务信道进行设置,设置相关参数后需要使用命令进行lora的重启。当GD20(传感器节点)申请组网时候汇聚会收到相关的通知命令。2. 使用stm32单片机作为主控使用stm32单
启动方式常用的为第一种启动方式除内核之外的部件被称为核外外设或片上外设,如:GPIO、USART(串口)、I2C、SPI等都叫片上外设1. ICode 总线 ICode 中的 I 表示 Instruction,即指令。我们写好的程序编译之后都是一条条指令,存 放在 FLASH 中,内核要读取这些指令来执行程序就必须通过 ICode 总线,它几乎每时每刻 都需要被使用,它是专门用来取指的。2、DCo
过程还是很简单的,重要参考
http://blog.chinaunix.net/u1/50394/showart_411514.html
只是遇到的问题有所不同,可能由于我使用的版本不同 首先是Openssl 1、到
http://www.openssl.org/source/
下载openssl-1.0.0a.tar.gz,并解压 2、到
http://www.active
STM32的ADC模块采用了逐次逼近型,速度快,最高可达几十MHz工作频率。一般,为了获得较为准确的采样结果,ADC采样速率建议6分频,不要超过14MHz。通常情况下,芯片包括3个12bit的ADC模块,每个模块具有1个ADC控制器,ADC1和ADC2均有16个外部采样通道和2个内部采样通道,ADC3有8个外部通道和5个内部采样通道。3个模块复用16个外部采样输入引脚,也就是说同时最多支持16路外
转载
2024-09-02 09:30:42
322阅读
GPIOx_CRL(x=A~E) 地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址 GPIO通用输入输出8种工作模式 1.浮空输入模式: (1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时 (2)STM32复位之后默 ...
转载
2021-04-08 13:51:00
891阅读
2评论
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件。 第三步,新建一个main.c文件,并添加到
转载
2023-06-19 15:27:24
969阅读