打印

写PROTbits 位操作影响其他位

[复制链接]
794|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiajs|  楼主 | 2021-12-6 23:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
对PORTA进行位操作,会影响其他位怎么回事,写LATAbits则不会,这是为什么呀,型号是p33FJ16GS502.h

使用特权

评论回复
沙发
jiajs|  楼主 | 2021-12-6 23:09 | 只看该作者

使用特权

评论回复
板凳
jiajs|  楼主 | 2021-12-6 23:12 | 只看该作者

使用特权

评论回复
地板
renyaq| | 2021-12-6 23:14 | 只看该作者
"读-修改-写"问题,输出请使用LAT寄存器组

使用特权

评论回复
5
supernan| | 2021-12-6 23:18 | 只看该作者
对于PORT寄存器组来说,你看着操作的是一个bit,实际CPU是把PORT寄存器读进来然后修改之后写出去。

使用特权

评论回复
6
jiajs|  楼主 | 2021-12-6 23:21 | 只看该作者
这就是所谓的“读修改写”。恰恰呢PORT寄存器直接对应外部IO的状态,如果外部IO有比较大的容性负载,你又连续修改同一个PORT的不同bit,这一读就乱套了。

使用特权

评论回复
7
chuxh| | 2021-12-6 23:22 | 只看该作者
我仔细读了 还是没懂这种情况是为什么,手册没有写位操作

使用特权

评论回复
8
llljh| | 2021-12-6 23:25 | 只看该作者
仔细看datasheet的IO口章节....有介绍读修改写的规则的.

使用特权

评论回复
9
jiajs|  楼主 | 2021-12-6 23:27 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
10
tpgf| | 2022-1-4 19:46 | 只看该作者
这俩寄存器组的区别是是很么呢

使用特权

评论回复
11
keaibukelian| | 2022-1-4 19:50 | 只看该作者
这一位的作用什么呢

使用特权

评论回复
12
磨砂| | 2022-1-4 19:53 | 只看该作者
可以在头文件中借鉴一下

使用特权

评论回复
13
晓伍| | 2022-1-4 19:55 | 只看该作者
其他地方进行操作了吗

使用特权

评论回复
14
八层楼| | 2022-1-4 19:57 | 只看该作者
有些寄存器比较特殊的

使用特权

评论回复
15
观海| | 2022-1-4 19:58 | 只看该作者
读取什么种类的寄存器会影响其数值呢

使用特权

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

本版积分规则

940

主题

11975

帖子

6

粉丝