Ⅰ 单片机串口接收数据格式问题
一个字节 产生16进字符就是两个字符了,
还原时,每两个字符再还原一个字节就行了。
发送: 1A-----> '1' 'A'
接收: '1'-----> 1,'A'----->10
1*16+10=26 即1A, 就变成一个字节了。很简单
Ⅱ 单片机程序的“.c”和“.h”格式都有什么区别
.c文件是整个程序中的一个或几个函数组成,在别的.C文件里可以调用它,不只是在主函数中。这样做可以增强程序的模块化,提高程序的可读性。当编制好一个模块时你可以保存在一个工程下,文件名改为**.C。这样在另一个.C文件中的文件头处只要你对它进行说明就可以调用它。比如#include string.cx0dx0a那么你就可以在你说明了的.C文件中调用它,这样枝陪仔一个模块可以在很多处调用,使得编程复杂度降低。程序编译时把你所说明的文件复制到你调用处程序就可以运行猛汪了。x0dx0a.H文件是对单片机一些端口及一些常用的程序的库说明,x0dx0a比如我们在程序中用到端口一即P1,我们能够用它是因为在库中已对它进行了说明乱腊,对P1赋予了一个端口地址,这样程序编译是才不会出错,不然会提示你UNDIFINEDx0dx0a.C文件一般是自己创建的。而.H文件是系统自带,不过自己也可以创建.H文件,主要对用到的一些标号进行说明,其中也可以包括一些常用的函数x0dx0a用户自己创建的.C文件是放在工程目录下,.H文件一般放在编译器的某个目录下,程序编译的时候从默认目录中搜索,如果找到则复制到程序开头处。
Ⅲ 在玩单片机 的时候总是会说什么定点运算和浮点运算,始终不明白,这个浮点运算是什么,
定点运算实际就是整数(定点小数,可以视为整数)运算,浮点运算实际就是实数运算。
假如处理器是32位的,也就是说32位都用来表示整数的话,那么对于无符号整数就是 0~2^32-1,对于有符号整数就是 -2^31~2^31-1。如果是实数的话,机器有两种办法来表示,一种是定点,即小数点位置是固定的;另一种就是浮点,即小数点位置不固定,计算方法也比较麻烦,通常会比整数运算代价大很多。
因为计算机只能存储整数,所以实数都是“约等于”出来的,浮点运算是很慢的而且会存在精度问题(也即误差)。
基本所有处理器都支持定点运算,但不是所有的都支持浮点运算。