OpenEdv-开源电子网

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

求助:一直搞不懂ODR寄存器与(Pxout(n)/Pxin(n))的区别

[复制链接]

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2012-9-3
在线时间
4 小时
发表于 2012-9-21 23:58:30 | 显示全部楼层 |阅读模式
我是一个新手,刚学stm32没多久,一直搞不懂ODR寄存器与(Pxout(n)/Pxin(n))的区别,书上写(Pxout(n)/Pxin(n))是控制输入输出高低电平的,但是好像ODR不一样是控制输出电平的吗?真搞不懂啊,求助啊!!!
打造完美
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
285
金钱
285
注册时间
2012-9-10
在线时间
5 小时
发表于 2012-9-22 04:28:35 | 显示全部楼层
回复【楼主位】Berlin:
---------------------------------
好好看看参考手册第8章吧  能问出这个问题说明你至今没看过 
首先stm32 ODR有5个 分别是a-e 是只用低16位的32位的寄存器 支持位操作 关于位带操作看 权威指南 87页
你所谓的Pxout 是对应ODR位的 别名地址的定义 
回复 支持 反对

使用道具 举报

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2012-9-3
在线时间
4 小时
 楼主| 发表于 2012-9-22 08:50:27 | 显示全部楼层
回复【2楼】canglang:
---------------------------------
谢谢你啊~
打造完美
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-9-22 09:47:01 | 显示全部楼层
回复【楼主位】Berlin:
---------------------------------
一个简单些,一个复杂些。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2012-9-3
在线时间
4 小时
 楼主| 发表于 2012-9-22 10:48:45 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
我看了手册了,还是搞不懂,当IO口设为输出时,弱ODR某一位设为输出1,这和Pxout(n)=1,是不是一样啊?就是这个不懂!求原子哥指教
打造完美
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2196
金钱
2196
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-9-22 10:55:21 | 显示全部楼层
"若ODR某一位设为输出1"
两种方式都反汇编看看,你就知道哪种代码在多线程或者有中断的情况下才是安全的。
https://github.com/roxma
回复 支持 反对

使用道具 举报

34

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
285
金钱
285
注册时间
2012-9-10
在线时间
5 小时
发表于 2012-9-22 11:21:16 | 显示全部楼层
回复【5楼】Berlin:
回复【4楼】正点原子: --------------------------------- 我看了手册了,还是搞不懂,当IO口设为输出时,弱ODR某一位设为输出1,这和Pxout(n)=1,是不是一样啊?就是这个不懂!求原子哥指教
---------------------------------
结果是一样的 例如让PA0输出高 ODR设置是 GPIOA->ODR|=0x01  用pxout就是 Aout(0)=1 用Pxout省事 不容易出错 
回复 支持 反对

使用道具 举报

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2012-9-3
在线时间
4 小时
 楼主| 发表于 2012-9-22 11:22:41 | 显示全部楼层
回复【7楼】canglang:
---------------------------------
哦!原来这样,谢谢你啊,终于明白了
打造完美
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 23:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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