JN516x的DIO控制

DIO

JN516x单片机有20DIO引脚,分别为DIO0-DIO19,每个IO引脚可以设置为输出或者输入模式,当然它们也作为复用引脚,例如ADC、UARTs、Timers、SI、SPI,PWM,RF、COMP等

  1. 设置IO输入输出方式,函数原型如下
    PUBLIC void vAHI_DioSetDirection(
    uint32 u32Inputs,
    uint32 u32Outputs);
    示例:假如你想设置GIO11引脚为输出模式
#define DIO11_MAC (1<<11)
vAHI_DioSetDirection(0, DIO11_MAC );
  1. DIO输出模式下,电平设置,函数原型如下
    PUBLIC void vAHI_DioSetOutput(
    uint32 u32On,
    uint32 u32Off);
    示例:假如你想设置GIO11引脚为输出模式下为高电平
#define DIO11_MAC (1<<11)
vAHI_DioSetDirection(0, DIO11_MAC );、
vAHI_DioSetOutput(DIO11_MAC ,0)
  1. 设置DIO上拉模式
    在JN5169中,每个DIO都有一个相关联的上拉电阻。“上拉”的目的是在没有外部负载连接到DIO时,防止引脚的状态“浮动”
    -也就是说,当启用时,在没有外部负载(或存在弱外部负载)的情况下,上拉将销连接到高(on)状态。可以使用函数vAHI_DioSetPullup()启用/禁用所有DIOs的上拉-默认情况下,所有的上拉都是启用的。同样,如果在调用vAHI_DioSetPullup()时,片内外设正在使用共享DIO,那么除了连接到外部32kHz晶体外,还将应用指定的DIO上拉设置
    注释:DIO上拉设置是通过睡眠来维持的。如果不需要,可以通过禁用DIO上拉(在睡眠或正常操作期间)来节省电能。
    PUBLIC void vAHI_DioSetPullup(
    uint32 u32On,
    uint32 u32Off);
    示例:假如你想设置GIO10引脚为输入上拉模式
vAHI_DioSetDirection((1<<10), 0);
vAHI_DioSetPullup((1<<10), 0);
  1. 读取DIOs状态
    可以使用u32AHI_DioReadInput()函数获得DIOs的状态。这个函数将返回所有DIOs的状态,不管它们是被配置为输入或输出,还是被外围设备使用。
    一组连续的8个DIOs可以用来并行地输入一个字节——set DIO0-7或DIO8-15可以用于此目的,其中0或8位用于字节中最不重要的位。可以使用u8AHI_DioReadByte()函数获得DIO集合上的输入字节。集合中的所有DIOs必须预先配置为输入。

  2. DIO中断和唤醒
    配置为输入的DIOs可用于生成系统控制器中断。如果微控制器在睡觉,这些中断可以用来唤醒它。集成的外围设备API包括一组“DIO中断”函数和一组“DIO唤醒”函数,但是这些函数的效果是相同的(因为它们访问硬件中的相同寄存器位)。下面的小节将描述这两个函数集的用法。
    注意:由于’ DIO interrupt ‘和’ DIO wake '函数访问相同的JN516x寄存器位,您必须确保这两组函数在应用程序代码中没有冲突。

/* Set the edge detection for falling edges */
vAHI_DioWakeEdge(0, (1<<10));
/* Enable interrupts to occur on selected edge */
vAHI_DioWakeEnable((1<<10), 0);
  1. 配置数据输出
    JN516x设备有两个引脚,DO0和DO1,可以在设备处于唤醒状态时用作通用数字输出。DO引脚共享作为SPI主控器、定时器2和定时器
    这些引脚可以配置如下:
    bAHI_DoEnableOutputs() 可以 用来 使 (or disable) DO 别针 作为 通用 的 数字 输出 —— default, DO 别针 被 禁用 的 通用 数字 输出 升高。
    vAHI_DoSetDataOut()可用于将DO引脚的输出状态设置为on或off(以任何组合的形式)——默认情况下,在开机时输出状态为on。
    vAHI_DoSetPullup()可用于在任何组合中将DO引脚的上拉状态设置为on或off——默认情况下,上拉在上电时启用。

DO引脚不能通过睡眠来保持其状态,也不能用于将设备从睡眠中唤醒。从复位,在睡眠期间和从睡眠中醒来,做大头针恢复为禁用的通用输出与上拉启用

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一只很笨很懒的肥猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值