您好!
我们会看到一些奇怪的行为、只是需要确认。
我们有一个端口。 假设是9.0。 两个选择寄存器都被置位、这就是所谓的"超级三态"模式。 该引脚的其他寄存器为输出低电平、无上拉电阻。 现在、当我再次写入两个选择寄存器时、会发生什么情况? 硬件中是否发生任何情况?
此致
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我们会看到一些奇怪的行为、只是需要确认。
我们有一个端口。 假设是9.0。 两个选择寄存器都被置位、这就是所谓的"超级三态"模式。 该引脚的其他寄存器为输出低电平、无上拉电阻。 现在、当我再次写入两个选择寄存器时、会发生什么情况? 硬件中是否发生任何情况?
此致
大家好、Tunguskar、
一旦启用 ESI 模块、'FR6989上的端口9就会有所不同。
如果未启用 ESI、则端口9的行为类似于常规端口。 再次向端口寄存器写入相同的值不会改变任何东西。
启用 ESI 将导致 在 所有四个通道上使用 ESI 模拟功能。 ESI 模块的模拟功能可用于端口9上的所有八个引脚。 这些功能不能单独关闭。 ESICIx 也用作输入、但您可以在某种程度上将其用作 GPIO。 未使用 ESICI 引脚上的高切换率将影响所选 ESICI 信号的传感器信号质量。 使用 ESI 时、仅将未使用的 ESICI 用于静态信号传输、或仅在不感应旋转时使用。 如果您在 ESI 打开时看到一些奇怪的情况、您可能已经看到了这种效果。
我希望这对我有所帮助、祝你度过美好的一天
Johann。
Johann、您好、感谢您的回复。
否 ESI 接口未激活。 我的问题已释放到 IrDA 二极管。 端口连接到二极管的阳极。
正常处理是:
RX_PortPinSettings()
{
SEL0 = 1
SEL1 = 1
}
DEACTIVE_PortPinSettings()
{
SEL0 = 1
SEL1 = 1
}
通常情况下,如果 未收到内存,系统将唤醒,调用 RX_PortPinSettings() Deactive_PortPinSettings()。
我们看到的是,调用 RX_PortPinSettings()时,会出现一些小的干扰。 起初这不是问题。 但当计数器部分通过光电元件发送唤醒字节时。 这个干扰、就在端口设置启动时、会变得更高、并导致 RX 缓冲器中出现0xFF。
此致 Christian
Christian、您好、
设置 P9SEL0.x 和 P9SEL1。 两个1选择 ESI 功能!
如果您为此使用不同的端口
您只需使用以下序列:
//从复位 sel0=0开始;sel1=0
P9SEL0=1;
P9SEL1=1;
//结果为 sel0=1;sel1=1;
但这会经历 sel0=1;sel1=0状态;因为这是两个不同的指令。
从 sel0=0;sel1=0直接变为 state sel0=1;sel1=1;
只需写入 P9SELC=1;
这在两个位上都很重要。
祝你度过美好的一天
Johann