求助,点灯遇到问题
我的程序中控制P00和P01都是控制一个二极管。1,在我的超级循环里只对P00和P01操作,通过逻辑分析仪,我得到了想要的结果。
输出,紫色P00,蓝色P01
程序
2,当我在程序里增加了b1=b和a *=2,其中a是int,b和b1是long int
这时输出,紫色P00,蓝色P01出现异常的输出,但是明显异常的输出并不出现在程序改动的位置
程序里增加了b1=b和a *=2
请高手帮忙分析个原因。
b1=b和a *=2需要时间 wangxiangtan 发表于 2024-5-2 07:43
b1=b和a *=2需要时间
但是他不应该影响P01的输出 你如果delay的话差距会更大{:4_165:} 我这个是BETA版本,不知道是什么因素,我改变了程序,希望能找出原因。程序还是简单,我先让P01输出两次低,再让P00输出8次低。程序结果是正确的。
当我在程序箭头中增加一句加法时P01的低会有一个变化,
比较奇怪 jwd 发表于 2024-5-2 08:25
你如果delay的话差距会更大
并不有间隔,我就是想测一下执行时间,我是发现他影响了输出,请再看一下刚上传的 我又在P01输出高时,执行加法,发现没有引起P01电平变化,只是时间延长,时间延长是正常的
希望大家指导下
你看看你的编译后的汇编是不是有语句被优化掉了?或者你选择编译等级0试试 用支持仿真的 STC8H8K64U/STC32G12K128,仿真跟踪进去看下
51 如何仿真,STC8H8K64U自带硬件USB直接仿真,视频讲解回放 - 仿真/编译器/头文件 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
页:
[1]
2