前几天在XLP开发板上实验串口功能,发现发送正常,但是却无法接收到数据,也就是说TX功能正常,但是RX功能不正常。既然发送功能正常,说明串口本身没有问题。在仔细查看原理图和数据手册,发现在XLP开发板上,PIC24F16K102使用了串口2做为通信口,而串口2的RX和模拟端口AN3复用。将AN3对应的模拟功能禁用,再实验发现串口的RX功能正常。
小结:
使用PIC24F16K102的IO时,一定需要注意模拟端口。在存在模拟端口复用时,如果做为输入(包括IO电平寄存器、外中断、串口RX、键盘中断CN等),都需要先使能对应IO的数字功能,这样才能保证这些功能的正常使用;如果IO口做为输出,功能可能不会受到影响。
PIC24以前的IO映射功能非常实用,也非常方便,可以根据需要灵活的分配外设功能使用的IO(这个功能和Cypress的单片机非常类似)。但是有些可惜的是在新的XLP系列中,这个功能被取消了,估计一是为了降低功耗,再就是为了节省成本。
文章评论(0条评论)
登录后参与讨论