HCI UART/ GPIO interrupt

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
CaLi_4592466
Level 4
Level 4
25 replies posted 10 replies posted 5 replies posted

项目以 CYW20706 为主控芯片,会用SPI 接外部flash, I2C 接 三轴传感器,ADC 读取外部电池电压,中断引脚会接到三轴传感器的中断引脚上。

现在有两个问题请教下:

1. 当CYW20706的中断 连接到 三轴传感器上的中断引脚。当 蓝牙模块 进入HIDOFF 模式时,是否任意的外部中断可以唤醒设备?还是只有特殊的引脚才能唤醒?

另外,怎么配置 蓝牙模块的 中断 是 高电平唤醒,还是低电平唤醒?

2. 能否在 使用SPI 的同时,同时使用HCI UART 进行debug 信息输出?API-REF-20706-A2_Bluetooth.pdf 文档中对于 HCI UART 的接口函数没有找到?有没有具体的文档描述?

0 Likes
1 Solution
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

1. 在HIDOFF模式下,所有的LHL GPIO引脚都可以唤醒设备。可以在wiced_hal_gpio.h文件中找到相应的LHL引脚。

    可以使用wiced_hal_gpio_configure_pin(BYTE pin,UINT16 config, BYTE outputVal)配置中断产生的方式,在gpiodriver.h中可以找到下面几种唤醒方式:

    /// GPIO configuration bit 0:3, Summary of Interrupt enabling type

    GPIO_EN_INT_MASK             = GPIO_EDGE_TRIGGER_MASK | GPIO_TRIGGER_POLARITY_MASK |           GPIO_DUAL_EDGE_TRIGGER_MASK | GPIO_INTERRUPT_ENABLE_MASK,

    GPIO_EN_INT_LEVEL_HIGH       = GPIO_INTERRUPT_ENABLE | GPIO_LEVEL_TRIGGER,

    GPIO_EN_INT_LEVEL_LOW        = GPIO_INTERRUPT_ENABLE | GPIO_LEVEL_TRIGGER | GPIO_TRIGGER_NEG,

    GPIO_EN_INT_RISING_EDGE      = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER,

    GPIO_EN_INT_FALLING_EDGE     = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER | GPIO_TRIGGER_NEG,

    GPIO_EN_INT_BOTH_EDGE        = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER | GPIO_EDGE_TRIGGER_BOTH,

2. 为什么要使用HCI UART?我们一般是将log打印到PUART上的。trace总共有三个路径可选,PUART, HCI UART和BTSpy(WICED UART)。请参考doc文件夹下的文档WICED-CYW920706WCDEVAL-Kit-Guide.pdf中4.4部分关于trace viewing的说明。

View solution in original post

0 Likes
4 Replies
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

1. 在HIDOFF模式下,所有的LHL GPIO引脚都可以唤醒设备。可以在wiced_hal_gpio.h文件中找到相应的LHL引脚。

    可以使用wiced_hal_gpio_configure_pin(BYTE pin,UINT16 config, BYTE outputVal)配置中断产生的方式,在gpiodriver.h中可以找到下面几种唤醒方式:

    /// GPIO configuration bit 0:3, Summary of Interrupt enabling type

    GPIO_EN_INT_MASK             = GPIO_EDGE_TRIGGER_MASK | GPIO_TRIGGER_POLARITY_MASK |           GPIO_DUAL_EDGE_TRIGGER_MASK | GPIO_INTERRUPT_ENABLE_MASK,

    GPIO_EN_INT_LEVEL_HIGH       = GPIO_INTERRUPT_ENABLE | GPIO_LEVEL_TRIGGER,

    GPIO_EN_INT_LEVEL_LOW        = GPIO_INTERRUPT_ENABLE | GPIO_LEVEL_TRIGGER | GPIO_TRIGGER_NEG,

    GPIO_EN_INT_RISING_EDGE      = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER,

    GPIO_EN_INT_FALLING_EDGE     = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER | GPIO_TRIGGER_NEG,

    GPIO_EN_INT_BOTH_EDGE        = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER | GPIO_EDGE_TRIGGER_BOTH,

2. 为什么要使用HCI UART?我们一般是将log打印到PUART上的。trace总共有三个路径可选,PUART, HCI UART和BTSpy(WICED UART)。请参考doc文件夹下的文档WICED-CYW920706WCDEVAL-Kit-Guide.pdf中4.4部分关于trace viewing的说明。

0 Likes

Hi Owen,

2. 关于为什么要使用HCI UART,因为CYW20706的所有引脚都已经,被我接到外设上了,没有多余的UART来跑 DEBUG 信息。

我们的外设有 ADC 读取 外部电池电压,SPI外接 外部flash, IIC 外接 G-sensor/pulse sensor,外部中断引脚。所以没有UART的配置了。
另外的问题就是 我用的SPI 外接 外部flash和 HCI UART 输出LOG 信息,能否同时使用?是否会影响?

0 Likes

可以同时使用的,不会有影响。

0 Likes

谢谢!

0 Likes