打印
[XMC™]

为什么XMC库不使用控制器的端口输出寄存器TESTBOARD_150PC_OUT ?

[复制链接]
873|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2024-3-8 22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么XMC库不使用控制器的端口输出寄存器TESTBOARD_150PC_OUT ?
程序库仅使用端口输出修改寄存器 Pn_OMR 来设置或清除数字输出。

使用特权

评论回复
沙发
IFXNaZhang| | 2024-3-11 17:01 | 只看该作者
直接操作Pn_OUT寄存器会存在读改写(read-modify-write)的问题,当用OUT写port口的时候它先把port的当前状态读回来,根据要写的数据修改读回来的数据,再写到port口,这种操作可能会对该端口的其他pin产生影响。UM中有提到:Note that the bits of Pn_OUT.Px can be individually set/reset by writing appropriate values into the port output modification register Pn_OMR, avoiding read-modify-write operations on the Pn_OUT, which might affect other pins of the port.

使用特权

评论回复
板凳
LOVEEVER| | 2024-3-27 18:16 | 只看该作者
应该是避免对其他引脚的影响

使用特权

评论回复
地板
jf101| | 2024-3-28 17:28 | 只看该作者
寄存器应该都有映射关系吧

使用特权

评论回复
5
Betty996| | 2024-3-29 13:25 | 只看该作者
官方例程看看?例程应该有正确操作吧

使用特权

评论回复
6
Carina卡| | 2024-3-29 14:30 | 只看该作者
使用控制器的端口输出寄存器可能会限制库的兼容性,因为不同的控制器可能具有不同的寄存器和引脚映射

使用特权

评论回复
7
Charlotte夏| | 2024-3-29 15:32 | 只看该作者
确保库在多个控制器上的可移植性和兼容性,可能选择了一种通用的方法来控制输出

使用特权

评论回复
8
Emily999| | 2024-3-29 16:37 | 只看该作者
使用控制器的端口输出寄存器可能会限制库的灵活性,因为这些寄存器通常具有特定的功能和限制

使用特权

评论回复
9
Allison8859| | 2024-3-29 17:41 | 只看该作者
一般可以使用其他方法,库可以提供更多的配置选项和功能,以满足不同应用的需求。

使用特权

评论回复
10
alxd| | 2024-3-29 18:45 | 只看该作者
库的设计可能采用了一种更高级的抽象层,以隐藏底层硬件的细节。这样可以简化库的使用和提供更好的用户体验,而不需要直接操作底层寄存器

使用特权

评论回复
11
Betty1299| | 2024-3-29 20:02 | 只看该作者
建议还是仿真看看,看流程和清除数据是怎么操作的

使用特权

评论回复
12
Charlene沙| | 2024-3-30 06:24 | 只看该作者
我觉得可能是你操作的流程不对吧

使用特权

评论回复
13
Annie556| | 2024-3-30 08:06 | 只看该作者
一般是需要读取IO的状态,然后再更改状态的

使用特权

评论回复
14
Belle1257| | 2024-3-30 10:08 | 只看该作者
这个不太清楚,你可以换个寄存器试试是否能清除?

使用特权

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

本版积分规则

2038

主题

7363

帖子

10

粉丝