以莹唤星 发表于 2024-8-4 21:21:05

本帖最后由 以莹唤星 于 2024-8-4 22:38 编辑

soma 发表于 2024-8-4 21:15
先用位移法看一下能不能正常,P6=~(0x01

位移法没问题,数组还是不行

void main()
{
u8 i;
    P4M0 = 0x00; P4M1 = 0x00;
    P6M0 = 0x00; P6M1 = 0x00;
        P40 = 0;
       
while(1)
        {
                for(i = 0;i < 8;i++)
                {
                        P6 = ~(0x01 << i);                       
                        delayms(500);                                               
                }
        }

}

Lkck8210 发表于 2024-8-5 08:55:04

可能被优化掉,加code试试

乘风飞扬 发表于 2024-8-5 08:59:19

实验箱例程包里面的跑马灯例子就是用数组,直接用例子试试。测试正常后再进行修改或者移植。
u8 code ledNum[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

    while(1)
    {
      P6 = ~ledNum;        //输出低驱动
      ledIndex++;
      if(ledIndex > 7)
      {
            ledIndex = 0;
      }
      delay_ms(250);
      delay_ms(250);
    }

haiyang201 发表于 2024-8-5 09:03:43

视频打不开呢 ?

lezjin 发表于 2024-8-5 09:19:36

可以仿真一下看看,观察这个也不复杂

小白爱上51 发表于 2024-8-5 10:58:05

P6=LED试试,数组能这么用吗

以莹唤星 发表于 2024-8-5 12:05:36

乘风飞扬 发表于 2024-8-5 08:59
实验箱例程包里面的跑马灯例子就是用数组,直接用例子试试。测试正常后再进行修改或者移植。
...

好,那我晚上试试

以莹唤星 发表于 2024-8-5 23:12:47

本帖最后由 以莹唤星 于 2024-8-5 23:18 编辑

乘风飞扬 发表于 2024-8-5 08:59
实验箱例程包里面的跑马灯例子就是用数组,直接用例子试试。测试正常后再进行修改或者移植。
...
这个代码复制到主函数里也不行,但是把数组函数移到主函数前面就没问题,正常了

以莹唤星 发表于 2024-8-5 23:13:42

问题解决了,数组函数不能放在主函数内,移到主函数前面就正常了
页: 1 [2]
查看完整版本: 求助下数组流水灯