单片机奇偶交替闪烁_新人请教,4种闪烁方式交替循环的彩灯编码出现问题

我按照网上找到的程序打如下,我用CVAVR编译时出现错误: function return type 'int' doesn't match its previous declaration: 'unsigned char' from line: 33,提示我没有返回值吗?想知道哪里出错

#include

#include

#include

void task1(void) // 左移循环 2轮

{

unsigned char  position,i;

position = 0;

i = 16;

while(i--)

{

PORTA = ~(0x80 >> position);

if(++position >= 8)

position = 0;

delay_ms(500);

}

PORTA=0xFF;

}void task2(void) //右移循环 2轮

{

unsigned char  position,i;

position = 0;

i = 16;

while(i--)

{

PORTA = ~(1 << position);

if(++position >= 8)

position = 0;

delay_ms(500);

}

PORTA=0xFF;

}void task3(void) //间隔点亮,明暗交替

{

bit position;

unsigned char i;

position = 1;

i = 16;

while(i--)

{

if(position )

{

PORTA = 0b10101010;

}

else

{

PORTA = 0b01010101;

}

position = !position;

delay_ms(500);

}

PORTA=0xFF;

}void task4(void) // 随机点亮

{

unsigned char i;

i = 16;

while(i--)

{

PORTA = (unsigned  char)rand();

delay_ms(500);

}

PORTA=0xFF;

} void main(void) //主函数

{

PORTA=0xFF;

DDRA=0xFF;

while (1)

{

task1(); delay_ms(500);

task2(); delay_ms(500);

task3(); delay_ms(500);

task4(); delay_ms(500);

};

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值