找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1488|回复: 12
收起左侧

不知道怎么处理error c202问题undefined identifier

[复制链接]
ID:1117546 发表于 2024-4-20 23:43 | 显示全部楼层 |阅读模式
请问一下是什么问题我找半天找不出来
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define LED P3
  5. #define undefined identifier

  6. uchar i, flagl,flag2,flag3,flag4;

  7. sbit k1=P2^4;
  8. sbit k2=P2^5;
  9. sbit k3=P2^6;
  10. sbit k4=P2^7;

  11. uchar table1[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfc,0xff};

  12. uchar table2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf};

  13. uchar table3[]={0x7e,0xbd,0xdb,0xe7,0xf};

  14. uchar table4[]={0xaa,0x55};

  15. void delay(uint x)
  16. {
  17. uint i;
  18. while(x--)
  19. for(i=50;i>0;i--);
  20. }

  21. void keyscan()
  22. {if(k1==0){
  23. delay(10);
  24. if(k1==0){
  25. flag2=0;
  26. flag3=0;
  27. flag4=0;
  28. flagl=1;
  29. }
  30. }
  31. if(k2==0){
  32. delay(10);
  33. if(k2==0){
  34. flag3=0;
  35. flagl=0;
  36. flag4=0;
  37. flag2=1;
  38. }
  39. }
  40. if(k3==0){
  41. delay(10);
  42. if(k3==0){
  43. flag1=0;
  44. flag2=0;
  45. flag4=0;
  46. flag3=1;
  47. }
  48. }
  49. if(k4==0){
  50. delay(10);
  51. if(k4==0){
  52. flag1=1;
  53. flag2=0;
  54. flag3=0;
  55. flag4=1;
  56. }
  57. }
  58. }
  59. void main(){
  60. while(1)
  61. {keyscan();
  62. if(flagl==1){
  63. for(i=0;i<16;i++){
  64. LED=table1[i];
  65. delay(200);
  66. keyscan();
  67. }
  68. }
  69. if(flag2==1){
  70. for(i=0;i<14;i++){
  71. LED=table2[i];
  72. delay(300);
  73. keyscan();
  74. }
  75. }
  76. if(flag3=-1){
  77. for(i=0;i<5;i++){
  78. LED=table3[i];
  79. delay(250);
  80. keyscan();
  81. }
  82. }
  83. if(flag4==1){
  84. for(i=0;i<2;i++){
  85. LED=table4[i];
  86. delay(600);
  87. keyscan();
  88. }
  89. }
  90. }
  91. }
复制代码
屏幕截图 2024-04-20 234055.png
回复

使用道具 举报

ID:76027 发表于 2024-4-21 06:56 | 显示全部楼层
uchar i, flagl,flag2,flag3,flag4; 看看第一个flag后面是什么,1 还是 l ?
回复

使用道具 举报

ID:1109793 发表于 2024-4-21 07:11 | 显示全部楼层
很明显,前边你定义的是flagi,使用的是flag1,一个字母i,一个数字1,当然说你的flag1没有定义啊
回复

使用道具 举报

ID:1109793 发表于 2024-4-21 07:16 | 显示全部楼层
不好意思,好像不是字母i,是字母l,小写的L
回复

使用道具 举报

ID:18307 发表于 2024-4-21 07:51 | 显示全部楼层
定义的是flagl,函数体里是flag1
回复

使用道具 举报

ID:908826 发表于 2024-4-21 08:39 | 显示全部楼层
我用我的编译器试了试,发现你在定义变量flag1的时候最后一个字符不是1而是l。
回复

使用道具 举报

ID:341045 发表于 2024-4-21 09:04 | 显示全部楼层
是不是数字1打成字母L了. 或者你前面第7行定义的是字母L
回复

使用道具 举报

ID:69038 发表于 2024-4-21 09:40 | 显示全部楼层
右键点击错误信息行,选复制,打开百度,粘贴进去,点搜索,就会看到你想要的答案。。
回复

使用道具 举报

ID:69038 发表于 2024-4-21 09:41 | 显示全部楼层
或者改一下你编辑器的字体,说不定也能看到问题所在。
回复

使用道具 举报

ID:227818 发表于 2024-4-21 09:53 | 显示全部楼层
把这两个变量重新输入一遍就行了,前边定义的跟你后边用的不一样,你可以用查找比较下。
回复

使用道具 举报

ID:1110945 发表于 2024-4-21 10:12 | 显示全部楼层
不会英语的可以找“百度翻译”翻译一下就知道了,后面的“undefined”是未定义
的意思,肯定是前面定义的地方出错了。
你会发现前面定义的时候是“flagl”(后面是字母“l”不是数字“1”),最后用的是数字
“1”,改一下就好了。
回复

使用道具 举报

ID:1117546 发表于 2024-4-21 16:10 | 显示全部楼层
xiaobendan001 发表于 2024-4-21 07:11
很明显,前边你定义的是flagi,使用的是flag1,一个字母i,一个数字1,当然说你的flag1没有定义啊

谢谢,刚刚去看了确实是这个问题
回复

使用道具 举报

ID:1117546 发表于 2024-4-21 16:17 | 显示全部楼层
找到问题了确实是flagl和flag1的区别,flag1没有被被定义所以出现报错,1打成l了
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表