在基础实验成功的基础上,对串口的调试方法进行实践。硬件代码顺利完成之后,对日后调试需要用到的printf重定义进行调试,固定在自己的库函数中。  b) 初始化函数定义:  void USART_Configuration(void); //定义串口初始化函数  c) 初始化函数调用:  void UART_Configuration(void); //串口初始化函数调用  初始化代码:  vo
一、STM32F407----CAN过滤器----简介在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。因此,发送者以广播的形式把报文发送给所有的接收者。节点在接收报文时,根据标识符(CAN ID)的值决定软件是否需要该报文;如果需要,就拷贝到SRAM里;如果不需要,报文就被丢弃且无需软件的干预。为满足这一需求,bxCAN为应用程序提供了14个位宽可变的、可配置的过滤器组(13
# 深度学习模型在STM32F103RC上的应用 深度学习在近年来取得了巨大的成功,在各种领域都有着广泛的应用。而随着物联网的发展,越来越多的设备需要具备深度学习能力,包括一些嵌入式设备。本文将介绍如何在STM32F103RC单片机上实现深度学习模型的部署和运行。 ## STM32F103RC简介 STM32F103RC是意法半导体推出的一款ARM Cortex-M3内核的微控制器,具有丰富
原创 2024-04-24 03:51:03
401阅读
主机环境:Windows 7 SP1开发环境:MDK5.14目标板:STM32F103C8T6开发库:STM32F1Cube库和STM32_USB_Device_Library现在来分析哈USB器件库代码,先来看usbd_core文件,其头文件只有一些函数声明,没啥可说的,只有一点,之前分析usbd_conf.c文件时里面USB中断回调函数中调用的底层接口都是在usbd_core.h文件中声明的,
转载 2024-05-21 10:45:06
640阅读
stm32之间直接传送浮点数的实现方法指针变换小端模式字节流发送端接收端 指针变换一个变量,如果长度大于一个字节,就可以拆分为多个字节;同时,也可由多个字节合成一个变量。数据传输过程一般就是采用发送端拆分,接收端合成。其中指针变换语句是核心:int x; x=*((int*)&x);其中x=指向该地址((强制指针类型转换)取地址); 该表达式可以将任意地址的几个字节“识别”为某一个类型
基于STM32的舱内温湿度显示设计本次设计使用正点原子的STM32F103ZET6精英开发板。 数据采集:温湿度传感器采用DHT11来采集湿度,使用DS18B20来采集温度。 显示:显示部分分为TFT-LCD显示和上位机Labview显示。本设计只供学习和交流不涉及商业用途。 文章目录基于STM32的舱内温湿度显示设计设计简介一、设计要求二、设计步骤1.DS18B20温度采集2.DHT11温湿度采
文章目录一.ADC简介二.ADC功能框图讲解1.电压输入范围2.输入通道3.转换顺序4.触发源5.转换时间6.数据寄存器7.中断8.电压转换三.初始化结构体四.单通道电压采集1.头文件2.引脚配置函数3.NVIC配置函数4.ADC配置函数5.中断函数6.主函数一.ADC简介STM32f103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道。其中ADC1和ADC2都有16个外部通道,A
目录背景说在前面工作流程寄存器介绍ADC寄存器ADC->CR2DMA寄存器DMA2_Stream0 ->CR程序TIM3ADC1DMA开启顺序尾声 背景有一次我想在407上跑4096点的FFT,如果用软件触发ADC的方式(最简单)思路就是开定时器,在定时器中断中开触发,但是经过测试,实际效果的话,低速的情况下,准度还可以,但是速率一旦上去,如500K后,效果非常差。后来看了网上以及4
一、STM32F103知识总结-GPIO1.GPIO的工作方式:2.GPIO的相关函数:3.GPIO的初始化:4.GPIO设置:(1).GPIO置0,置1:(2).读GPIO电平/数据: 1.GPIO的工作方式:GPIO支持4种输入模式(浮空输入、上拉输入、下拉输入、模拟输入)和4种输出模式(开漏输出、开漏复用输出、推挽输出、推挽复用输出)。同时,GPIO还支持三种最大翻转速度(2MHz、10M
转载 2024-03-02 09:06:35
264阅读
GPIO是芯片和外界沟通的桥梁,GPIO有很多模式,不同的模式有不同的配置,应用于不同的场合。STM32F103系列的I/O引脚共有8种工作模式,输入模式有四种浮空输入上拉输入下拉输入模拟输入其中输出模式有四种:推挽输出开漏输出复用推挽输出复用开漏输出通过百问网对STM32F103GPIO部分的学习,这部分又深入了一些。浮空输入浮空输入是 STM32 复位之后 默认模式。浮空输入模式是相对于上拉或
转载 2024-06-06 16:45:32
143阅读
1.明确三个步骤板子采用的是stm32最小系统板stm32f103c8t6,根据原理图得知C13管脚低电平点亮led寄存器点灯需要以下3步:1.查看stm32f103ct86中文手册,可以得知要配置通道APB2上的GPIOC时钟,操作如下:第一步: 找总线AHB外设使能时钟寄存器的地址,复制起始地址,左边是起始地址,右边是终止地址第二步:找APB2外设使能时钟寄存器的偏移地址,复制偏移地址,加上面
stm32 ADC 简介stm32的ADC是 12位逐次逼近型 模拟数字转换器;它包括18个通道,可以用来测量16个外部通道和2个内部通道.ADC转换的结果存放在16位数据寄存器(ADC规则数据寄存器,ADC_DR 和 ADC注入数据寄存器,ADC_JDCx)中,这个数据寄存器可以设置对齐方式为左对齐或右对齐.ADC通道与GPIO对应表(图片来自整点原子STM32F1开发指南库函数版本)规则通道组
前些天理解了fft变换的理论和对其工程应用进行了实例分析,详见我的名为《C语言实现fft理论基础与工程应用的实例分析》的博客,用C语言编写的fft算法比较容易看懂,但带来的缺点就是执行效率低,对于要求实时操作(例如电机控制)的反应速度不够灵敏。本篇内容将简要分析STM32自带的DSP库文件,其用汇编语言编写,代码执行效率明显优于C语言,ST公司封装好了了库文件,我们不必看懂其汇编代码,只要会调用
引言笔者接触嵌入式领域软件开发以来,几乎用的都是 ARM Cortex-M 内核系列的微控制器。感谢C语言编译器的存在,让我不用接触汇编即可进行开发,但是彷佛也错过了一些风景,没有领域到编译器之美和CPU之美,所以决定周末无聊的休息时间通过寻找资料、动手实验、得出结论的方法来探索 ARM CPU 架构的美妙,以及C语言编译器的奥秘。(因为我个人实在是不赞同学校中微机原理类课程的教学方法)。一、浮点
学习资料:《野火零死角玩转STM32——F103》EXTIEXTI——外部中断/事件控制器。可单独配置中断或者事件,及触发事件的属性(?)。 中断编程步骤1.初始化产生中断的GPIO当GPIO作为中断的输入源时(如按键按下产生中断),需要初始化GPIO,配置为输入模式。如配置GPIOC13作为输入源:GPIO_InitTypeDef GPIO_InitStruct; //初始
1.ADC采用值转换成具体的物理量值ADC采样值在寄存器中是16位整形数据,要转换成具体的电压量,则必须进行换算。例如12位的转换精度,满量程的二进制为0000 1111 1111 1111,对应十进制数为1095,对应的电压为3.3V。所以计算公式为            &n
转载 2024-06-13 17:41:59
472阅读
原标题:STM32H7榨干了Cortex-M7的最后一滴血有个非常重磅的消息ST给自己的STM32家族又新增了一条新的产品线—— H7H 代表的是High Pefrmance之意 (此为笔者臆测)7 则表示这是基于ARM Cortex-M7架构修改而来熟悉的工程师可能会问,不是已经有基于M7架构的STM32F7了吗?那H7到底有何不同?其实H7是比F7更高性能的代表, 是STM32产品中的全新旗舰
  浮点运算一直是定点CPU的难题,比如一个简单的1.1+1.1,定点CPU必须要按照IEEE-754标准的算法来完成运算,效率低下。虽然对32为单片机来说,将浮点数进行Q化处理能充分发挥32位单片机的运算性能,但是精度会受到限制。而对于有FPU(浮点运算单元)的单片机来说,浮点加法只是几条指令的事情。  STM32F4xx属于Cortex M4F架构,这和M0、M3的最大不同就是多了一个F-fl
       ARM 处理器并不支持浮点运算 (Floating Point Math)。所有的浮点运算都是在浮点运算模拟器上进行,因此特别缓慢。需要浮点运算的函式,常要耗费数千个循环才能执行完毕。这就是为何游戏开发时,通常都使用定点 (Fixed Point) 格式的运算。定点运算实际上是使用整数,但指定固定数目的位元做為数值的分数部份。就好像是指定某一数
目录一:输入模式1.1:模拟输入1.2: 浮空输入 1.3:上拉输入 1.4:下拉输入1.5: 为什么没有复用输入配置模式 二:输出模式2.1:推挽输出2.2:开漏输出 2.3:复用推挽输出2.4:复用开漏输出 一:输入模式1.1:模拟输入模拟输入(GPIO_Mode_AIN):这种输入方式和浮空输入非常相似,都不接入内部的上拉和下拉电阻,它们二者
  • 1
  • 2
  • 3
  • 4
  • 5