杰理AC690X---引脚使用冲突处理

IO口冲突处理

高阻态处理

有些芯片一个引脚中绑定了两个IO口,需要做以下处理:

 

假设要使用三号管脚的PC3来做输出输入,则需要把USBDM引脚置高阻态;假设要把USBDM拿来做输出输入,则需要把PC3置高阻态。

其他双绑引脚也是一样的,如第五号管脚,假设要用5号管脚来做MIC输入,则需要把PB13和PA3都置高阻态。置高阻态的语句如下:

普通GPIO

JL_PORTB->DIR |= BIT(3);

JL_PORTB->PU  &= ~BIT(3);

JL_PORTB->PD  &= ~BIT(3);

JL_PORTB->DIE  |= BIT(3);

USB口

USB_DM_PU(0);

USB_DM_PD(0);

USB_DM_DIR(1);

 

PR口

PORTR_PU(PORTR1,0);

PORTR_PD(PORTR1,0);

PORTR_DIR(PORTR1,1);

PORTR_DIE(PORTR1,1);

 

引脚使用冲突

有时候我们在调程序,上板发现IO口并没有按我们设定的状态运行,这个时候如果排查完确定不是引脚原因的话, 就可以看看是不是软件上多出使用了同一个IO口造成的。主要有以下位置可以检查:

  1. Led灯引脚配置

  1. 按键引脚配置

  1. 串口打印引脚冲突

  1. AUX检测引脚冲突

  1. Mute引脚冲突

  1. LED数码管引脚冲突

  1. LCD引脚

找不到怎么办

假设你使用了PA0这个引脚,但是你按照上面的位置都检查了一遍,依然发现这个引脚还是不工作,那么有以下可能:

  1. 开发板芯片烧坏了,刚好PA0这个引脚烧坏了,换个口试试
  2. PA0代码配置有问题,看看上下拉和引脚上面有没有冲突,或者看看输入输出的配置有没有问题,最直接的就是换口测试,因为不可能所有的口都不行。
  3. 全局搜索PA0这个引脚,看看除了以上位置,还有没有在其他地方呗调用。

 

全局搜索技巧:

以上截图都是基于本人自己整理的SDK,使用公版SDK的情况下,道理是一样的,只是sdk_cfg.h里面没有截图中的那些我自己整理的宏定义。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jim天河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值