精品学习网
所在位置:主页 > 物联网 > C语言 把一个浮点型数据通过COM口传给DSP或单片机,需要把该浮点型数据转换为二进制吗?

C语言 把一个浮点型数据通过COM口传给DSP或单片机,需要把该浮点型数据转换为二进制吗?

发布时间:2022-08-26 12:00来源:www.51edu.com作者:畅畅

1. 你的“定点”方式是对的,可以解决 浮点数存储格式可能不一致的问题

float x 100 --> 定点整数 --> 直接发送整数对应的内存字节即行

假设你有个串口发送函数 sendbuf(char *p,char size)

float x;
int ivalue = x *100;
sendbuf( (char *)&ivalue,sizeof(int));
即可

接收端直接接收到地整型变量里(可能需考虑大小端存储问题) 就可以使用
效率还算可以

2. 浮点--->定点---> 字串 ----->发送----------接收---> 定点--->浮点

这样处理通用性比较好,调试过程很方便可以直观地看到数据,但效率较低。

3. 最佳效率当然是搞清楚两边是不是一样的浮点存储格式及大小端方式
运气好的话直接发送
float x =....;
sendbuf((char *)&float,sizeof(float));

想学习dsp怎么办?

DSP种类很多,首先选择一块自己入门的DSP。TI的DSP对校园支持力度比较大,市面上的参考书多是针对2000和5000系列的,分别用于电机控制和音频以及其他数据处理的,用的较多。


不要问怎么学,还是应该多问问自己要学什么,不要跟风。根据自己选择的型号,第一阶段先把DSP当单片机操作,这个阶段就是买开发板,学习开发板附带光盘的代码,先当代码民工。等到自己有一定能力了,再进入第二阶段,了解DSP的算法处理和高级用法。

关于硬件描述语言与C语言,汇编语言

VHDL是硬件描述语言
一般在CPLD或者FPGA等可编程器件中使用
可以操作该器件的IO端口等
语法和C语言类似
C和汇编一般在PC、单片机和DSP使用
在单片机和DSP中使用时,很多情况也是操作硬件的

DSP技术有什么特点?和继电保护有关联吗?

硬件资源丰富。FLASH存储器作为一种新型存储器,与传统采用的冯诺依曼结构不同,大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据,其显著特点是抗干扰能力强,编程速度快,并且支持在线编程,对于芯片的固化和操作都是通过命令宏存器来完成的,用来存放程序和定值,安全可靠,读取速度陕,SRAM采用高集成度的静态存储器,读取速度快,容量大。

数据处理能力强,能促进保护性能的提高。由于常规的CPU数据处理能力有限,曾经有许多能提高保护性能,但计算量很大的优良方案是基于常规CPU的保护,因此不得不放弃,或者采取近似、简化的方式,使许多优异的性能得不到发扬或仅仅发挥部分的功能,DSP强大的数据处理能力让这些问题不再棘手,就好比汽车换了一部更先进的引擎。

开发手段先进。C32支持汇编及ANSIC的混合编程,提供C语言开发工具和C库函数,且有实时多任务操作系统的支持,其汇编语言与常规的单片机相比有许多鲜明的特点,一方面指令丰富,效率高,另一方面,它逐步融合了高级语言的许多优点,在此基础上开发产品,支持软件丰富,开发灵活陕捷,可靠性高,对于硬件的调整升级,相应的软件升级和维护十分方便灵活。

  • 热门资讯
  • 最新资讯
  • 手游排行榜
  • 手游新品榜