OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5237|回复: 5

IO口寄存器的循环赋值操作问题

[复制链接]

9

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2020-10-4
在线时间
13 小时
发表于 2022-10-25 15:26:59 | 显示全部楼层 |阅读模式
1金钱

                for(i=0;i<8;i++)
                {
                        LED++;       
                        GPIOC->BRR = LED;
                        delay_ms(200);
                        LED<<=1;//LED依次点亮       
                }
                LED++;       
                GPIOC->BRR = LED;
这里应该循环七次就够了呀,为什么要循环8次
i=0ED=10
i=1ED=110
i=2ED=1110
i=3ED=11110
i=4ED=111110
i=5ED=1111110
i=6ED=11111110
i=7ED=111111110
当i=6时已经满足了,i=7LED变成九位了,但是板子显示这样写没有问题,麻烦大佬解答一下

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2765
金钱
2765
注册时间
2018-11-8
在线时间
438 小时
发表于 2022-10-25 21:03:16 | 显示全部楼层
不知道LED是什么类型的变量
char型的话 只取低8位 多循环一次并不影响结果
如果是unsigned short 或者unsigned int的 多循环一次PC8会受到影响
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2022-10-26 00:20:45 | 显示全部楼层
你有几个灯?
回复

使用道具 举报

9

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2020-10-4
在线时间
13 小时
 楼主| 发表于 2022-10-26 21:36:08 | 显示全部楼层
babyrabbit 发表于 2022-10-25 21:03
不知道LED是什么类型的变量
char型的话 只取低8位 多循环一次并不影响结果
如果是unsigned short 或者uns ...

定义的是U8
回复

使用道具 举报

9

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2020-10-4
在线时间
13 小时
 楼主| 发表于 2022-10-26 21:37:33 | 显示全部楼层

PC0到PC7,8个灯
回复

使用道具 举报

9

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2020-10-4
在线时间
13 小时
 楼主| 发表于 2022-10-26 22:27:06 | 显示全部楼层
babyrabbit 发表于 2022-10-25 21:03
不知道LED是什么类型的变量
char型的话 只取低8位 多循环一次并不影响结果
如果是unsigned short 或者uns ...

已解决,函数执行完没有重新置零
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 21:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表