ESP8266模拟串口

本文介绍如何利用ESP8266的GPIO进行初始化,并配置输入中断,结合硬件定时器回调函数来模拟串口通信的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GPIO初始化

void ICACHE_FLASH_ATTR bluetooth_uart_init() {
	hw_timer_init(0, 1);//硬件定时器初始化
	hw_timer_set_func(hw_test_timer_cb);
	hw_timer_arm(bond);

	PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4);
	PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);
	gpio_output_set(0, BIT14, BIT14, 0); //0
	gpio_output_set(BIT4, 0, BIT4, 0); //1

	drv_Input_Init();
}

输入中断配置

static void GPIO_ISR_Handler( void )
{
    /** 读取GPIO中断状态 */
    u32 pin_status = GPIO_REG_READ( GPIO_STATUS_ADDRESS );

    /** 关闭GPIO中断 */
    ETS_GPIO_INTR_DISABLE();

    /** 清除GPIO中断标志 */
    GPIO_REG_WRITE( GPIO_STATUS_W1TC_ADDRESS, pin_status );

    /** 检测是否已开关输入引脚中断 */
    if ( pin_status & BIT( SWITCH_Pin_NUM ) )
    {
    	recive_flag = 1;

    }
    //uart0_sendStr("I");

    /** 开启GPIO中断 */
    //ETS_GPIO_INTR_ENABLE();
}
static void drv_Input_Init( void )
{
    PIN_FUNC_SELECT( SWITCH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值