ESP-idf 搭建OpenC

工程创建,初步编译

1、把esp-idf 中的例子:esp-idf/examples/wifi/getting_started/station复制一份出来

2、在station文件夹下创建一个文件夹:components  (必须是这个名字),在这个文件夹下,添加需要用到的  .c /.h,并且创建相应的 CMakeLists.txt 文件。

        CMakeLists.txt 文件内容:添加相应的 .c 和 .h 文件到编译器

file(GLOB_RECURSE srcs *.c)

idf_component_register(SRCS ${srcs}
                 INCLUDE_DIRS  "."
)

3、在station 文件夹下的 CMakeLists.txt 中添加:set(EXTRA_COMPONENT_DIRS ./components/drivers) 

4、测试:在station 文件夹下的main函数中调用components中定义的相关功能

5、编译:idf.py build

6、烧录:idf.py -p /dev/ttyUSB0 flash

7、日志:idf.py -p /dev/ttyUSB0 monitor

设计框架

1、串口初始化,用于接收从串口助手发来的指令、数据

2、WiFi station 初始化,接收到用户发来的ssid 和 pwd后连接网络,并且掉电后重连

3、适配quecthingSDK至工程

4、解析串口收到的数据

遇到的问题

1、

 看门狗的问题,在qhal_Dev.c里

/**************************************************************************
** 功能	@brief : 看门狗喂狗,有看门狗时需要实现喂狗
** 输入	@param :         
** 输出	@retval:    
***************************************************************************/

void FUNCTION_ATTR_ROM Qhal_devFeeddog(void)
{
    // esp_task_wdt_reset();
}

暂时还未解决这个问题,待解决。

2、登录DMP时,出现以下错误

没联网   :(

3、串口接收数据,最大到120就进入中断了,需要在uart.c中改

参考:问题三

    uart_intr_config_t uart_intr = {
        .intr_enable_mask = UART_INTR_CONFIG_FLAG,
        .rxfifo_full_thresh = 2048,//UART_FULL_THRESH_DEFAULT,     在这里改!!!!
        .rx_timeout_thresh = UART_TOUT_THRESH_DEFAULT,
        .txfifo_empty_intr_thresh = UART_EMPTY_THRESH_DEFAULT,
    };

4、vTaskDelay(1000);//延时10s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值