串行输入信息中“1”数检测器设计

2019-03-25 15:25发布

设计任务与要求:  设计一个能够统计串行输入的N位二进制数X中“1”的个数的数字系统。该系统完成如下功能:对串行输入数据X的位数进行累计,也就是对串行输入数据中“1”、“0”的个数进行统计。对串行输入数据X进行“0”、“1”判断。当X=1时,“1”数计数器加1计数。判断X的全部数位是否统计完毕,输出串行输入的N位二进制数X中“1”的个数值,工作结束。
没太明白这个原理,我该怎么下手呢。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
littleshrimp
1楼-- · 2019-03-25 21:01
< 定义一个256字节的数组常量,存储对应索引的1的个数,读取的串口一个字节数据,通过数组得到这个字节1的个数。
maychang
2楼-- · 2019-03-26 00:32
 精彩回答 2  元偷偷看……
dcexpert
3楼-- · 2019-03-26 01:27
用中断计数也比较简单。
maychang
4楼-- · 2019-03-26 02:01
dcexpert 发表于 2015-1-2 20:34
用中断计数也比较简单。

在波特率较高时,两个“1”之间的时间不足以执行中断。
此外,串行码中连续两个“1”或者连续三个“1”,怎么计数?
xuyiyi
5楼-- · 2019-03-26 05:41



maychang 发表于 2015-1-2 22:42
在波特率较高时,两个“1”之间的时间不足以执行中断。
此外,串行码中连续两个“1”或者连续三个“1”,怎么计数?


先将数据读入缓冲区,等有时间了再慢慢比较。
ienglgge
6楼-- · 2019-03-26 07:21
”串行输入“   指的是串口吗。如果是的话,可以用中断接收,存入缓冲,到需要统计的时候,把“1”和“0”的个数都算出来就行了啊

一周热门 更多>