[STM8] 0X08这个是推挽输出是怎么算出来的

[复制链接]
957|17
 楼主| yinxiangh 发表于 2020-10-11 23:48 | 显示全部楼层 |阅读模式
STM8 看别人写的程序 PD_CR1 = 0x08;  // 设置PD3为推挽输出 ,想问下0X08这个是推挽输出是怎么算出来的
 楼主| yinxiangh 发表于 2020-10-11 23:53 | 显示全部楼层
查了下手册如果是推挽输出DDR =1  CR1=1  CR2=0   但是0X08不知道怎么得来的,求指教
chuxh 发表于 2020-10-12 20:23 | 显示全部楼层
0x08==0b 0000 1000
你还懂啊?
dingy 发表于 2020-10-12 20:26 | 显示全部楼层
你要看手册,这个1对应的是哪个位啊?
xxrs 发表于 2020-10-12 20:31 | 显示全部楼层
当然是BIT3了,
先不说左边那四个高位,后面的分别称为:BIT3    BIT2   BIT1   BIT0
pangb 发表于 2020-10-12 20:35 | 显示全部楼层
PD_CR1这个如果是说设置PD某个位为推挽的那么当然将BIT3置位就是设置PD3为推挽了,这个还需要你在手册里确认一下是不是这个寄存器
guoyt 发表于 2020-10-12 20:39 | 显示全部楼层
guoyt 发表于 2020-10-12 20:43 | 显示全部楼层
你一定看的是这个,这是针对某一位说的,而一个端口有很多位,这里需要将这个8BIT的端口对应的那个位搞定为1,就是BIT3,其他都是0那就是0x08了。
 楼主| yinxiangh 发表于 2020-10-12 21:00 | 显示全部楼层
对的 感谢
bqyj 发表于 2020-10-12 21:04 | 显示全部楼层
上面大神回答的真精彩,就是这样,不过如果看手册真不好理解。
xxrs 发表于 2020-10-12 21:09 | 显示全部楼层
原来如此,我一直没搞太懂。
zwll 发表于 2020-10-12 21:17 | 显示全部楼层
3 2 1 0 对应的就是1000 当然就是8啊
dingy 发表于 2020-10-12 21:20 | 显示全部楼层
基本功的问题
houcs 发表于 2020-10-12 21:23 | 显示全部楼层
多看看代码 就能看懂了
chenjunt 发表于 2020-10-12 21:26 | 显示全部楼层
代码看的少  多看看就好了啊
zyf部长 发表于 2020-10-12 21:32 | 显示全部楼层
多看代码 自然能懂
huwr 发表于 2020-10-12 21:36 | 显示全部楼层
这个是最基础啊  多看看就知道了
 楼主| yinxiangh 发表于 2020-10-12 21:39 | 显示全部楼层

搞定了,呵呵,犯了低级错误……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

723

主题

7134

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部