单片机计数范围超过65535怎么办

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:45:23
我用外部中断计脉冲数,脉冲数超过设定值则执行某个动作,脉冲计数要求是最大记到999999,远远超出long Int的最大计数65536,请问各位大侠该怎么办

再用一个16位2进制数COUNTER2,当你这个数COUNTER1计满65536时,COUNTER2加1.你也可以设COUNTER1为999,每当计数达到999时,COUNTER2加1,当COUNTER2等于1001时,脉冲个数为999999.

用unsigned long 型的数据就可以了,四字节
PS:65536是unsigned int 的范围,你记错啦

long(C# 参考)
long 关键字表示一种整型,该类型根据下表显示的大小和范围存储值。
类型 范围 大小 .NET Framework 类型
long
-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
有符号 64 位整数

那就用另一个再计。