指令索引ABS绝对值ACS反余弦ADF加法ASN反正弦ATN反正切CMF比较浮点值CNF比较取负的浮点值COS余弦DVF除法EXP指数FDV快速除法FIX转换浮点值成整数FLT转换整数成浮点值FML快速乘法FRD快速反向除法LDF装载浮点值LFM装载多个浮点值LGN自然对数LOG常用对数MNF传送取负的值MUF乘法MVF传送值/浮点寄存器到一个浮点寄存器NRM规格化POL极化角POW幂RDF反向除
转载 2024-09-15 20:58:37
337阅读
最近研究了下GD32F470芯片手册,发现标称的内存512KB, 其实是连TCMSRAM一起算的,即TCMSRAM+SRAM0+SRAM1+SR件手动加上TCMSRAM初始化,经测试可以正常使用。
原创 2024-05-07 14:05:02
594阅读
假设有一个浮点数 float FL = 3.14159267 (和圆周率很像啊),它在计算中的是怎样存储的呢?步骤1: 转换为二进制表示,浮点数分为整数部分和小数部分,对于该浮点数来说,整数部分为3,浮点数部分为0.14159267. 这里假设FL是4个字节,32浮点数表示. 十进制 二进制 3 【0000,0011】 0.14159267 【0010,0100,0011,1111,0110
我们都知道单精度浮点数(Single,float,Real)由32位0或1组成,它具体是如何来的。浮点数的32位N=1符号位(Sign)+8指数位(Exponent)+23尾数部分(Mantissa)符号位(Sign) : 0代表正,1代表为负【占1位】 指数位(Exponent)::用于存储科学计数法中的指数数据,并且采用移位存储【占8位】 尾数部分(Mantissa):尾数部分【占23位】 单
转载 11月前
357阅读
对下面的指令先做一些说明: st(i):代表浮点寄存器,所说的出栈、入栈操作都是对st(i)的影响 src,dst,dest,op等都是指指令的操作数,src表示源操作数,dst/dest表示目的操作数 mem8,mem16,mem32,mem64,mem80等表示是内存操作数,后面的数值表示该操作数的内存位数(8位为一字节) x <- y
转载 2024-08-12 16:19:17
140阅读
 浮点运算一直是定点CPU的难题,比如一个简单的1.1+1.1,定点CPU必须要按照IEEE-754标准的算法来完成运算,对于8位单片机来说已经完全是噩梦,对32为单片机来说也不会有多大改善。虽然将浮点数进行Q化处理能充分发挥32位单片机的运算性能,但是精度受到限制而不会太高。对于有FPU(浮点运算单元)的单片机或者CPU来说,浮点加法只是几条指令的事情。  &nbs
Arm Keil | GigaDevice GD32F470ZG
原创 2024-06-26 15:49:41
30阅读
stm32之间直接传送浮点数的实现方法指针变换小端模式字节流发送端接收端 指针变换一个变量,如果长度大于一个字节,就可以拆分为多个字节;同时,也可由多个字节合成一个变量。数据传输过程一般就是采用发送端拆分,接收端合成。其中指针变换语句是核心:int x; x=*((int*)&x);其中x=指向该地址((强制指针类型转换)取地址); 该表达式可以将任意地址的几个字节“识别”为某一个类型
一、浮点型数据在内存中存储的表示实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。数的精度取决于尾数的尾数。比如32位机上float型为23位(因为规范化数的数码最高位恒为1,不必存储,实际精度为24位,下面会有详解),double型为52位。单精度float型存储在内存中的大小为4个字节,即32位。xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx浮点表示法类似于科学计
浮点数在内存中的表示 C语言:浮点数在内存中的表示 单精度浮点数: 1位符号位 8位阶码位 23位尾数 双精度浮点数: 1位符号位 11位阶码位 52位尾数 实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。数的精度取决于尾数的位数。比如32位机上float型为23位 double型为52位。 单精度float型存储在内存中的大小为4个字
转载 2024-09-02 13:27:43
129阅读
  对程序员来说,用来表示小数的浮点类型是最常接触到的基础数据类型之一。它包括单精浮点数(float,4字节)和双精浮点数(double,8字节)两种。但为何称表示小数的数据类型为浮点类型呢?顾名思义,所谓浮点即指小数中的小数点是可浮动的,但它是如何浮动的呢?能不能不浮动?  其实,计算机中表示小数的数据类型可以分为定点数和浮点数两种。只是因为定点数表示小数
 前言一般进行远程监控时,2.4G无线通信是充当远程数据传输的一种方法。这时就需要在现场部分具备无线数据发送装置,而在上位机部分由于一般只有串口,所以将采集到的数据送到电脑里又要在上位机端设计一个数据接收的适配器。这里基于stm32分别设计了现场部分和适配器部分,这里只是基本通信功能实现的讲解,一些复杂的技术比如加密、可靠等要根据具体的应用来设计~总体说明这里采用stm32作为MCU,采
常见问题1、当STM32的PA13/14/15引脚连接其他外设时,ST_link会出现internal grammar error 。2、但有时未连接上述引脚也会出现此情况,可以通过保持reset按钮按下后不动,在stm32开发环境Keil中点击download按钮,随后松开reset。3、在启动文件中有着stm32的分频设置,如果当前的外部晶振和内部设置的大小不匹配,则通讯时必然会出现乱码。4、
STM32F4时钟系统的知识在《STM32F4中文参考手册》第六章复位和时钟控制章节有非常详细的讲解,网上关于时钟系统的讲解也有很多,讲不出啥特色,时钟模块是芯片非常重要的组成部分,我们必然要提到时钟系统的知识。这些知识也不是什么原创,纯粹根据官方提供的中文参考手册和自己的应用心得来总结的,如有不合理之处望大家谅解。STM32F4时钟树概述众所周知,时钟系统是CPU的脉搏,就像人的心跳一样。所以时
硬件:正点原子探索者开发板下位机:lwip1.4裸跑 上位机:JPerf2.0.2 测试结果:最快传输速到达到10.2MBytes,平均带宽80.7Mb/s稳定速度:传输速到达到8.55MBytes,平均带宽72.1Mb/s所用lwip配置如下:#ifndef __LWIPOPTS_H__ #define __LWIPOPTS_H__ #define SYS_LIGHTWEIGHT_PROT
转载 2024-07-03 08:48:23
318阅读
FPU 简介FPU 即浮点运算单元(Float Point Unit)。浮点运算,对于定点 CPU(没有 FPU 的 CPU)来说必须要按照IEEE-754 标准的算法来完成运算,是相当耗费时间的。而对于有 FPU 的 CPU来说,浮点运算则只是几条指令的事情,速度相当快。STM32F4 属于 Cortex M4F 架构,带有 32 位单精度硬件 FPU,支持浮点指令集,相对于 Cortex M0
转载 2024-07-14 19:28:57
607阅读
             在 KELI MDK 数据类型中进了如下定义char 占用 1 个字节short int 占用 2 字节//注意这里!int 占用 4 字节long 占用 4 字节 //注意这里!long int 占用 4 字节 //注意这里!float 占用 4 字节double 占用 8 字节即有如下宏定
目录前言一、什么是GPIO?二、STM32引脚的种类三、STM32GPIO的工作模式3.1输入模式(浮空、上拉、下拉、模拟)3.2输出模式(推挽、复用推挽、开漏、复用开漏)3.3重映射模式 四、库函数代码编写4.1 F1系列GPIO配置4.2 F4系列GPIO配置 五、GPIO控制函数总结前言最近参加比赛,需要将f1的代码移植为f4中,为了以后方便开发也为了给想学习stm32f
文章目录一.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
STM32 UART串口printf函数应用及浮点打印代码空间节省 (HAL)在应用STM32的UART接口打印输出串口字符信息时,可以通过printf函数的重载和应用实现。但要打印输出浮点数据时,采用常规方式,对于Flash空间小的MCU,常常出现代码空间不够的报错,这里设计了替代的函数实现浮点转字符,从而解决空间不够报错的问题。STM32 printf()函数重载要使用printf函数通过串口
  • 1
  • 2
  • 3
  • 4
  • 5