3800|9

3

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

大佬们,求救啊,被困3天了一直想不明白 [复制链接]

为啥图2,用子函数格式  就可以点亮点阵啊,而用图1格式 就点亮一瞬间,再也不亮了。
此帖出自51单片机论坛

最新回复

楼主以后可以用第二种方法写,传值进一个临时变量。 或者 unsigned char temp=0x80; for(i = 0; i < 8; i++) { temp=0x80; if( TRUE == hang & temp ) { /* 相应操作 */ } else { /* 相应操作 */ } temp >>= 1; /* 类似的从高位到低位进行位判断 */ }   详情 回复 发表于 2021-12-30 23:26
点赞 关注
 

回复
举报

3

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

 

此帖出自51单片机论坛
 
 
 

回复

1411

帖子

3

TA的资源

版主

板凳
 

你把代码复制到帖子中,照片看不清楚

此帖出自51单片机论坛
 
个人签名

没有什么不可以,我就是我,不一样的烟火! 

 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

4
 

插眼,我没看出哪里有什么问题。解决了还请踹我一脚。

此帖出自51单片机论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

5
 

hang =hang<<1;

改变了hang[]数组的内容。

改成:

dat=hang[b]; //后面内容同右边试下。

for(i=0;i<8;i++)

{

    ....

}

函数以变量为参数不会改变参数的内容,只有以指针或数组为参数才可能改变参数内容。

 那个dat=hang;改不过来,下面改了:怪

此帖出自51单片机论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

6
 

dat=hang[b];

此帖出自51单片机论坛
 
 
 

回复

7244

帖子

2

TA的资源

版主

7
 

楼上正解,图1中【hang】数组被修改了,图2采用了一个中间变量dat,【hang】数组未被修改。

此帖出自51单片机论坛
 
 
 

回复

4008

帖子

0

TA的资源

版主

8
 

我的理解时被优化了,编译器认为hang[b]=hang[b]<<1;没必要执行,可以察看汇编码验证一下

另外for(i=0;i<8...然后查表出8421有点繁琐,改成 for (i=1;i!=0;i<<=1)就顺溜了

此帖出自51单片机论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

9
 

绝了,看了楼上才反应过来楼主的问题:

仅能输出一次。

这么一看,问题确实如楼上描述那样。之前我一直想这个操作是可以输出数据的,和楼主诉求大相径庭。

在第一次输出之后,每一字节数据都被右移8位,通常来说,(无符号数)右移或者左移都是填充0。也就是说,在第一次输出之后,楼主的数据已经全部变成0了,这就是没有输出的原因。

此帖出自51单片机论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

10
 

楼主以后可以用第二种方法写,传值进一个临时变量。

或者

unsigned char temp=0x80;

for(i = 0; i < 8; i++) {

temp=0x80;

if( TRUE == hang[i] & temp ) {

/* 相应操作 */

} else {

/* 相应操作 */

}

temp >>= 1;

/* 类似的从高位到低位进行位判断 */

}

此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表