完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
y1=2/8;
y2=2%8; P1=y2; // temp[x][y1]=posnow[x][y1]; LCD_Set_Pos(5,y1); if(y2==0x00) {tmp=0x80;LCD_WrDat(0x80);P1=0x80;} else if(y2==0x01) {tmp=0x01; LCD_WrDat(0x01);P1=0x01; } else if(y2==0x02) {tmp=0x02; LCD_WrDat(0x02);P1=0X02; } else if(y2==0x03) {tmp=0x04; LCD_WrDat(0x04);P1=0X04; } else if(y2==0x04) {tmp=0x08; LCD_WrDat(0x08);P1=0X08; } else if(y2==0x05) {tmp=0x10; LCD_WrDat(0x10);P1=0X10; } else if(y2==0x06) {tmp=0x20; LCD_WrDat(0x20);P1=0x20; } else if(y2==0x07) {tmp=0x40; LCD_WrDat(0x40);P1=0x40; } 为什么执行不了if判断语句??P1=y2是接小灯,亮的结果表明y2有赋值!! |
|
相关推荐
6个回答
|
|
|
|
|
|
哥们,你问到点子上了。现在我把子函数重新写了。 void lcd_d(uchar x,uchar y) { unsigned char a1,a2,tmp; a1=y/8; a2=y%8; if(a2==0) {tmp=0x80; } else if(a2==1) {tmp=0x01;} else if(a2==2) {tmp=0x02;} else if(a2==3) {tmp=0x04;} else if(a2==4) {tmp=0x08;} else if(a2==5) {tmp=0x10;} else if(a2==6) {tmp=0x20;} else if(a2==7) {tmp=0x40;} } 能正常判断if了,但是在主函数中它与LCD_Set_Pos()这个函数不能共存。不论我在主函数中先运行lcd_d()再运行LCD_Set_Pos(),还是把他们顺序换一下,LCD_Set_Pos()函数不能跑。但是我把lcd_d()注释掉,就能正常运行了。为什么??? |
|
|
|
我在之前的工程里调试好的子函数复制到这个工程就各种奇葩了。。。难不成是昨天晚上关机姿势不对??? |
|
|
|
函数不能跑也应该是运行到函数中的某条语句才行啊,,,看来问题出在LCD_Set_Pos()这个函数内部的可能性比较大
|
|
|
|
LCD_Set_Pos()这个函数内部会不会是有一个死循环,跳不出来。
|
|
|
|
在这个工程里面,如果在主函数里,之前不运行void lcd_d()函数,是可以跑完的。如果跑完void lcd_d()函数再跑LCD_Set_Pos()就不行了,很奇怪。我新建了工程,把.C和.H文件复制进去就完全正常了。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
522 浏览 0 评论
656 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
978 浏览 0 评论
1042 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
735 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12043 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 09:29 , Processed in 0.742455 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号