- 50
- 0
- 约2.06千字
- 约 10页
- 2020-12-15 发布于浙江
- 举报
1. #include ets_sys.h
2. #include gpio.h
3. #include osapi.h
4. #include os_type.h
5. #include user_interface.h
6. #include espconn.h
7.
8. LOCAL os_timer_t timer;
9. char zt = 1;
10.
11. void timer_callback(){
12. if(zt == 1){
13. GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 0);
14. zt = 0;
15. }else{
16. GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 1);
17. zt = 1;
18. }
19. }
20.
21. void user_init(void)
22. {
23. //os_printf(SDK version:%s\n, system_get_sdk_version());
24. PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO2);
25.
26. os_timer_disarm(timer);
27. os_timer_setfn(timer,(os_timer_func_t *)timer_callback,NULL);
28. os_timer_arm(timer,1000,1);
29.
30.
31. }
32.
33. void user_rf_pre_init(){}
首先说一下原理,这里不能使用一般C语言的死循环的方式来实现,而是需要使用定时器来实现,定时器和针脚控制可参考《ESP8266_SDK_API编程手册_CN_v1.5.2》,下面我来简单解释一下程序代码。
这个程序里面涉及到的函数有三个,user_init()是入口函数,相当于main函数,user_rf_pre_init()是SDK1.1.0及之后版本需要增加的函数,暂时没啥用,timer_callback()是一个回调函数,下面的定时器会用到。
首先定义一个定时器函数和一个状态变量,用于判断LED灯的状态
[cpp] view plain copy
1. LOCAL os_timer_t timer;
2. char zt = 1;
首先入口函数中选择GPIO2管脚
[cpp] view plain copy
1. PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO2);
然后定义定时器,语法可参考编程手册,里面说的都很详细了
[cpp] view plain copy
1. os_timer_disarm(timer);
2. os_timer_setfn(timer,(os_timer_func_t *)timer_callback,NULL);
3. os_timer_arm(timer,1000,1);
os_timer_setfn(timer,(os_timer_func_t *)timer_callback,NULL);timer_callback就是自己的那个回调函数,GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 0);这句的意思就是GPIO2输出低电平,1为高电平,其它的口类似,具体的语法解释也可以参考编程手册,都有详细说明。
程序写好后Clean一下项目再编译一下生成0x00000.bin和0x40000.bin,按照基础篇的教程将这两个文件刷进模块,记住这里只要刷两个文件就可以了,所以刷写的时候只要勾选这两个文件前面的复选框,固件刷进去后断电重新加电模块开始工作。
**********注意*********
这里有一点问题要跟大家重点说一下,就因为这个小问题折腾了我好几天,差点被逼疯,就是led的接法,由于硬件是半路出家,模块的GPIO2口是内部上拉的,模块启动过后是高电平,一开始我是将LED接到GPIO2和GND之间,一加电GPIO2就被下拉了,导致模块无法正常启动,老是出问题,一直不知道原因,折腾老半天,还好得到网友指点,才解决了这个问题。这里接线一定要将LED接到VCC和GPIO2之间,这样加电模块才能正常工作,所以前面的代码中GPIO_OUTPUT_SET(GPIO_ID_PIN(2),
您可能关注的文档
- 学校教代会换届选举方案.pdf
- ERP市场营销策略分析.doc
- ERP事件相关电位基础知识介绍.pdf
- ERP数据开发利用报告.doc
- ERP系统软件的功能与特点.doc
- ERP系统数据开发方案.doc
- ERP系统物料编号管理规则.doc
- ERP学期期末作业.doc
- ERP营销总监报告.doc
- ERP应用存在的主要问题.pdf
- 2025广东广州市天河区拟招聘英语实习老师1人备考题库附答案.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷附答案解析.docx
- 2025广东广州市越秀区流花街道办事处招聘综合事务中心辅助人员1人笔试历年题库附答案解析.docx
- 2025广东广州市花都区新雅街清初级中学招聘临聘教师1人备考历年题库带答案解析.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷带答案解析.docx
- 江苏省盐城市东台市三仓镇区中学2026届八年级数学第一学期期末教学质量检测试题含解析.doc
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人备考题库带答案解析.docx
- 江苏省盐城市亭湖区2026届数学八上期末考试试题含解析.doc
- 安徽省蚌埠市淮上区2026届数学八年级第一学期期末达标检测模拟试题含解析.doc
- 2025广东广湛城旅游轮有限公司招聘备考历年题库附答案解析.docx
最近下载
- 某县纪委书记、监委主任2025年度民主生活会对照检查材料.docx VIP
- 项目8 物料识别系统搭建教学设计 高教版 传感器技术应用(双色).doc VIP
- 时政分享(修订版).pptx VIP
- 花椒管理技术课件.pptx
- 青岛版小学六年级科学上册全套一至五单元含填空大题-完整版全册.pdf VIP
- 2024年09月06日省环境评审中心账号高地500千伏输变电工程环境影响报告书技术评估报告.pdf VIP
- 2025年高一必修一生物期末考试卷及答案.doc VIP
- 武汉大学抬头信签纸.docx VIP
- 双曲线的焦半径圆性质探索过程.doc VIP
- (22页PPT)机房搬迁服务解决方案.pptx VIP
原创力文档

文档评论(0)