切换到宽版
  • 3842阅读
  • 2回复

ESP8266SDK开发,延时点灯, [复制链接]

上一主题 下一主题
离线mckk520
 

发帖
222
M币
1613
专家
9
粉丝
33
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2018-09-21
,
,
玩转ESP8266模块,以前用 arduino 开发,好多功能未能完全发挥,
显示初学SDK开发ESP8266,
第一个程序成功,,实验定时器,串口打印,及软件延时,LED闪烁,
,
,
,
,
,
,

,
,
,
,
  1. /*********************************************************************************************
  2. 程序名:  LED闪烁(控制WIFI模块的GPIO口)
  3. 编写人:     
  4. 编写时间:  
  5. 硬件支持:  
  6. 接口说明:  
  7. 修改日志:  
  8.   NO.1-                                
  9. /*********************************************************************************************
  10. 说明:
  11. /*********************************************************************************************/
  12. #include "driver/uart.h"  //串口0需要的头文件
  13. #include "osapi.h"  //串口1需要的头文件
  14. #include "gpio.h"  //端口控制需要的头文件
  15. #include "c_types.h"
  16. #include "ets_sys.h"
  17. #include "osapi.h"
  18. #include "user_interface.h"
  19. #include "gpio.h"
  20. /** 定时器结构体 */
  21. static os_timer_t os_timer;
  22. void delay_ms(uint16 x)
  23. {
  24.         for(;x>0;x--)
  25.         {
  26.              system_soft_wdt_feed (); // 喂软硬件狗
  27.         os_delay_us(1000);
  28.         }
  29. }
  30. /** LED操作命令 */
  31. void Led_Cmd(bool status ){
  32.     if (status == true ) {
  33.         GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 0);
  34.     } else {
  35.         GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 1);
  36.     }
  37. }
  38. void Led_Task_Run(void){
  39.     static bool status = false;
  40.       if ( status == true ) {
  41.             status = false;
  42.         } else  {
  43.             status = true;
  44.         }
  45.         os_printf("====执行操作6666====== ,%d",status);
  46.         os_printf("\r\n\r\n");
  47.         Led_Cmd( status );
  48. }
  49. void  user_init(void)//初始化
  50. {
  51.    /** 设置串口0和串口1的波特率*/
  52.         uart_init(115200, 115200);
  53.         os_printf("\r\n\r\n");
  54.         os_printf("===  重新上电 ,OPEN ====\r\n");
  55.         os_printf("===Hello,World!====\r\n");
  56.         //PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4); \\对GPIO4的定义
  57.            PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
  58.         //  Led_Cmd(false);
  59.         GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 0);
  60.        /** 关闭该定时器 */
  61.        //   os_timer_disarm( &os_timer );
  62.        /** 配置该定时器回调函数 */
  63.        //    os_timer_setfn( &os_timer, (ETSTimerFunc *) ( Led_Task_Run ), NULL );
  64.        /** 启动该定时器 */
  65.        //  os_timer_arm( &os_timer, 50, true );
  66.        while(1)
  67.        {
  68.            delay_ms(3000);
  69.            GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 1);
  70.            os_printf("===正常 while(1) 循环  ====\r\n");
  71.               delay_ms(3000);
  72.                GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 0);
  73.        }
  74. }
  75. void user_rf_pre_init()
  76. {
  77. }


本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线cmheia

发帖
11646
M币
6479
专家
9
粉丝
117
只看该作者 1楼 发表于: 2018-09-21
请登录后查看
离线mckk520

发帖
222
M币
1613
专家
9
粉丝
33
只看该作者 2楼 发表于: 2018-09-22
请登录后查看
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个