liuzaiy 发表于 2022-10-8 22:34

PPS寄存器

板子已经画好了,现在需要用PIC16F18313,SOP8封装的7脚RA0既可以作为模拟电压输入端,也可以在需要的时候,作为UART 的TX发送脚。当然是分时复用的。请问代码这样写可以吗?
作为TX脚时,
TRISA0=0;
ANSA0=0;
RA0PPSbits.RA0PPS = 0b10100;//RA0 源是TX/CK;
作为模拟口时,
TRISA0=1;
ANSA0=1;
RA0PPSbits.RA0PPS = 0b11011;    //PPS切换到“保留”

liuzaiy 发表于 2022-10-8 22:40

切换到模拟口时,貌似第三句话RA0PPSbits.RA0PPS = 0b11011;    必须要写。不然不准确。

zhenykun 发表于 2022-10-8 22:43

这种用法合理吗?

liuzaiy 发表于 2022-10-8 22:45

有没有什么隐患???

zwll 发表于 2022-10-9 19:22

测试能用就可以

pengf 发表于 2022-10-9 19:27

是的,模拟输入和数字输入冲突

jiajs 发表于 2022-10-9 19:30

但是模拟输入和数字输出不冲突

zhenykun 发表于 2022-10-9 19:33

对,所以你要把数字输出关闭

dingy 发表于 2022-10-9 19:35

PPS只是映射数字功能。模拟输入是固定的。

jiahy 发表于 2022-10-9 19:37

如果你一定要把TX功能分配到和ANA0复用的这个口上,你只要将TX映射到该端口,然后分时切换该端口模拟/数字功能即可。

chenqianqian 发表于 2022-10-9 20:38

对测试一下,问题不大。

Henryko 发表于 2022-11-5 19:54

模拟输入和数字输入冲突
页: [1]
查看完整版本: PPS寄存器