c语言从0000循环到9999,keil4 0到9999用怎么编程?

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

jyxg1331

2020.01.21

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:57%    等级:8

已帮助:460人

我的main函数里是

while(1)

{

j=1;

digitron_put_buf(DIGITRON_0, j % 10);

digitron_put_buf(DIGITRON_1, j / 10 % 10);

digitron_put_buf(DIGITRON_2, j / 100 % 10);

digitron_put_buf(DIGITRON_3, j / 1000 % 10);

digitron_dynamic_display();

}

(中间程序省略。。。。。。。。。。。)

选择数码管

static void digitron_select(enum DIGITRON numb)

{

unsigned char n;

for(n = 0; n < NUM_DIGITRONS; n++) /**< 关闭所有数码管 */

{

HAL_GPIO_WritePin(digitron[n].port, digitron[n].pin, GPIO_PIN_RESET);

}

if(numb != DIGITRON_NULL)

{

HAL_GPIO_WritePin(digitron[numb].port, digitron[numb].pin, GPIO_PIN_SET); /**< 点亮数码管 */

}

显示数字

static void digitron_data(unsigned char dat)

{

led_on(DIGITRON_MAP[dat]);

}

调试的时候有个警告,

..\..\src\digitron.c(94): warning: #223-D: function "led_on" declared implicitly

led_on(DIGITRON_MAP[dat]);

数码管显示第一回合是对的 0 0 0 1,按理说应该是一直在0 0 0 1 的,但第一回合后就一直是 0 0 0 0 了,还有赋值其他数时都显示不对,但串口打印是对的。

求大神帮忙找找问题

00分享举报

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值