打印
[STM8]

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

[复制链接]
529|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对应的是哪个位啊?

使用特权

评论回复
5
xxrs| | 2020-10-12 20:31 | 只看该作者
当然是BIT3了,
先不说左边那四个高位,后面的分别称为:BIT3    BIT2   BIT1   BIT0

使用特权

评论回复
6
pangb| | 2020-10-12 20:35 | 只看该作者
PD_CR1这个如果是说设置PD某个位为推挽的那么当然将BIT3置位就是设置PD3为推挽了,这个还需要你在手册里确认一下是不是这个寄存器

使用特权

评论回复
7
guoyt| | 2020-10-12 20:39 | 只看该作者

使用特权

评论回复
8
guoyt| | 2020-10-12 20:43 | 只看该作者
你一定看的是这个,这是针对某一位说的,而一个端口有很多位,这里需要将这个8BIT的端口对应的那个位搞定为1,就是BIT3,其他都是0那就是0x08了。

使用特权

评论回复
9
yinxiangh|  楼主 | 2020-10-12 21:00 | 只看该作者
对的 感谢

使用特权

评论回复
10
bqyj| | 2020-10-12 21:04 | 只看该作者
上面大神回答的真精彩,就是这样,不过如果看手册真不好理解。

使用特权

评论回复
11
xxrs| | 2020-10-12 21:09 | 只看该作者
原来如此,我一直没搞太懂。

使用特权

评论回复
12
zwll| | 2020-10-12 21:17 | 只看该作者
3 2 1 0 对应的就是1000 当然就是8啊

使用特权

评论回复
13
dingy| | 2020-10-12 21:20 | 只看该作者
基本功的问题

使用特权

评论回复
14
houcs| | 2020-10-12 21:23 | 只看该作者
多看看代码 就能看懂了

使用特权

评论回复
15
chenjunt| | 2020-10-12 21:26 | 只看该作者
代码看的少  多看看就好了啊

使用特权

评论回复
16
zyf部长| | 2020-10-12 21:32 | 只看该作者
多看代码 自然能懂

使用特权

评论回复
17
huwr| | 2020-10-12 21:36 | 只看该作者
这个是最基础啊  多看看就知道了

使用特权

评论回复
18
yinxiangh|  楼主 | 2020-10-12 21:39 | 只看该作者

搞定了,呵呵,犯了低级错误……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

723

主题

7134

帖子

2

粉丝