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);
}
}
} 可能被优化掉,加code试试
实验箱例程包里面的跑马灯例子就是用数组,直接用例子试试。测试正常后再进行修改或者移植。
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);
} 视频打不开呢 ?
可以仿真一下看看,观察这个也不复杂 P6=LED试试,数组能这么用吗
乘风飞扬 发表于 2024-8-5 08:59
实验箱例程包里面的跑马灯例子就是用数组,直接用例子试试。测试正常后再进行修改或者移植。
...
好,那我晚上试试 本帖最后由 以莹唤星 于 2024-8-5 23:18 编辑
乘风飞扬 发表于 2024-8-5 08:59
实验箱例程包里面的跑马灯例子就是用数组,直接用例子试试。测试正常后再进行修改或者移植。
...
这个代码复制到主函数里也不行,但是把数组函数移到主函数前面就没问题,正常了 问题解决了,数组函数不能放在主函数内,移到主函数前面就正常了
页:
1
[2]