Page 1 of 1

【已解决】BT3L(tlsr8253) IO中断,没有进入中断函数

Posted: 2023年 Mar 16日 07:58
by wt呃呃

Code: Select all

void user_key_init(void)
{
	/* key gpio init */
	ty_pin_init(KEY_PIN, TY_PIN_MODE_IN_PU);
}

#define  GPIO_WAKEUP_MODULE_POLARITY    0
#define  WAKEUP_MODULE_GPIO             GPIO_PA0

uint32_t ty_pin_init(uint16_t pin, ty_pin_mode_t mode)
{
    gpio_set_func(pin, AS_GPIO);

if ((mode & TY_PIN_INOUT_MASK) <= TY_PIN_IN_IRQ) {
    gpio_set_input_en(pin, 1);
    gpio_set_output_en(pin, 0);
} else {
    gpio_set_input_en(pin, 0);
    gpio_set_output_en(pin, 1);
}

switch (mode) {
case TY_PIN_MODE_IN_PU:
    gpio_setup_up_down_resistor(pin, PM_PIN_PULLUP_10K);
    break;
case TY_PIN_MODE_IN_PD:
    gpio_setup_up_down_resistor(pin, PM_PIN_PULLDOWN_100K);
    break;
case TY_PIN_MODE_IN_FL:
    gpio_setup_up_down_resistor(pin, PM_PIN_UP_DOWN_FLOAT);
    break;
case TY_PIN_MODE_OUT_PP_LOW:
    gpio_write(pin, 0);
    break;
case TY_PIN_MODE_OUT_PP_HIGH:
    gpio_write(pin, 1);
    break;
default:
	break;
}

#if (GPIO_WAKEUP_MODULE_POLARITY == 1)
	cpu_set_gpio_wakeup (WAKEUP_MODULE_GPIO, Level_High, 1);  // pad high wakeup deepsleep
	GPIO_WAKEUP_MODULE_LOW;
#else
	cpu_set_gpio_wakeup (WAKEUP_MODULE_GPIO, Level_Low, 1);  // pad high wakeup deepsleep
	GPIO_WAKEUP_MODULE_HIGH;
#endif

return 0;
}

void user_key_irq_handler(void)
{	
	//TUYA_APP_LOG_DEBUG("======>key irq.");
	//tuya_ble_timer_start(sg_key_timer);
}

_attribute_ram_code_ void irq_handler(void)
{
	user_key_irq_handler();

irq_blt_sdk_handler ();

#if (HCI_ACCESS==HCI_USE_UART)
	unsigned char irqS = dma_chn_irq_status_get();
    if(irqS & FLD_DMA_CHN_UART_RX)	//rx
    {
    	dma_chn_irq_status_clr(FLD_DMA_CHN_UART_RX);

	u8* w = spp_rx_fifo.p + (spp_rx_fifo.wptr & (spp_rx_fifo.num-1)) * spp_rx_fifo.size;
	if(w[0]!=0)
	{
		my_fifo_next(&spp_rx_fifo);
		u8* p = spp_rx_fifo.p + (spp_rx_fifo.wptr & (spp_rx_fifo.num-1)) * spp_rx_fifo.size;
		reg_dma_uart_rx_addr = (u16)((u32)p);  //switch uart RX dma address
	}
}

if(irqS & FLD_DMA_CHN_UART_TX)	//tx
{
	dma_chn_irq_status_clr(FLD_DMA_CHN_UART_TX);
}
#endif
}

Re: BT3L(tlsr8253) IO中断,没有进入中断函数

Posted: 2023年 Mar 16日 11:24
by NICE

你好,能否详细描述一下问题,同时提供一下所用sdk版本。


Re: BT3L(tlsr8253) IO中断,没有进入中断函数

Posted: 2023年 Mar 21日 10:35
by wt呃呃

我使用的是tuya-ble-sdk-demo-project-tlsr8253 这份SDK,io没有进入io中断


Re: BT3L(tlsr8253) IO中断,没有进入中断函数

Posted: 2023年 May 18日 17:22
by NICE

你好,请问问题解决了吗?


Re: BT3L(tlsr8253) IO中断,没有进入中断函数

Posted: 2023年 Jun 6日 16:31
by NICE

参考该帖 viewtopic.php?t=986