您现在的位置: 主页 > MCU > 单片机学习 > 第62节:大数据的加法运算 -
本文所属标签:
为本文创立个标签吧:

第62节:大数据的加法运算 -

来源: 网络用户发布,如有版权联系网管删除 2018-08-31 

[导读]从业近十年!手把手教你单片机程序框架 第62讲开场白:直接用C语言的“+”运算符进行加法运算时,“被加数”,“加数”,“和”,这三个数据的最大范围是unsigned long 类型

从业近十年!手把手教你单片机程序框架 第62讲

开场白:

直接用C语言的“+”运算符进行加法运算时,“被加数”,“加数”,“和”,这三个数据的最大范围是unsigned long 类型,也就是数据最大范围是4个字节,十进制的范围是0至4294967295。一旦超过了这个范围,则运算会出错。因此,当进行大数据加法运算时,我们要额外编程序,实现大数据的算法。其实这种算法并不难,就是我们在小学里学的四则运算算法。

我们先要弄清楚一个新的概念。不考虑小数点的情况下,数据有两种表现形式。一种是常用的变量形式,另外一种是上一节讲到的BCD码数组形式。变量的最大范围有限,而BCD码数组的形式是无限的,正因为这个特点,所以我们可以进行大数据运算。

这一节要教大家两个知识点:

第一个:如何通过用for循环语句改写上一节的组合BCD码跟非组合BCD码的转换函数。

第二个:如何编写涉及到大数据加法运算的算法程序函数,同时也复习了指针的用途。

第三个:如何在串口程序中通过关键字来截取所需要的数据。

具体内容,请看源代码讲解。

(1)硬件平台:

基于朱兆祺51单片机学习板。

(2)实现功能:

波特率是:9600 。

通过电脑串口调试助手模拟上位机,往单片机发送组合BCD码的被加数和加数。单片机把组合BCD码的运算结果返回到上位机。最大范围4位,从0到9999,如果超范围则返回EE EE EE报错。往单片机发送的数据格式:EB 00 55 XX XX 0d 0a YY YY 0d 0a指令,其中EB 00 55是数据头,XX 是被加数,可以是1个字节,也可以是2个字节。YY是加数,可以是1个字节,也可以是2个字节。0d 0a是固定的结束标志。

例如:

(a)1234+5678=6912

上位机发送数据:eb 00 55 12 34 0d 0a 56 78 0d 0a

单片机返回:69 12

(b)9999+56=10055 超过4位的9999,所以报错

上位机发送数据:eb 00 55 99 99 0d 0a 56 0d 0a

单片机返回:EE EE EE 表示出错了

(3)源代码讲解如下:

第六十二节源代码讲解.rar
文件类型: .rar c1335afac46d9186d2c75d8c4f84c4fd.rar (4.88 KB)

总结陈词:

既然这节讲了加法程序,那么下一节接着讲常用的减法程序,这种大数据的减法程序是什么样的?欲知详情,请听下回分解----大数据的减法运算。



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机学习 > 第62节:大数据的加法运算 -
 

"第62节:大数据的加法运算 -"的相关文章

网站地图

围观()