esp8266 SOC方案经过半年沉淀之后再度重启二
2018-08-2014:16:10
以下是输出控制
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0);
GPIO_OUTPUT_SET(GPIO_ID_PIN(0), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1); //TXD
GPIO_OUTPUT_SET(GPIO_ID_PIN(1), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
GPIO_OUTPUT_SET(GPIO_ID_PIN(2), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3); //RXD
GPIO_OUTPUT_SET(GPIO_ID_PIN(3), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4);
GPIO_OUTPUT_SET(GPIO_ID_PIN(4), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5);
GPIO_OUTPUT_SET(GPIO_ID_PIN(5), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA2_U, FUNC_GPIO9);
GPIO_OUTPUT_SET(GPIO_ID_PIN(9), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA3_U, FUNC_GPIO10);
GPIO_OUTPUT_SET(GPIO_ID_PIN(10), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);
GPIO_OUTPUT_SET(GPIO_ID_PIN(12), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13);
GPIO_OUTPUT_SET(GPIO_ID_PIN(13), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);
GPIO_OUTPUT_SET(GPIO_ID_PIN(14), level);PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15);
GPIO_OUTPUT_SET(GPIO_ID_PIN(15), level);gpio16_output_conf();
gpio16_output_set(level);以下是输入采集
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0);
result = GPIO_INPUT_GET(GPIO_ID_PIN(0));PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1); //TXD
result = GPIO_INPUT_GET(GPIO_ID_PIN(1));PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
result = GPIO_INPUT_GET(GPIO_ID_PIN(2));PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3); //RXD
result = GPIO_INPUT_GET(GPIO_ID_PIN(3));PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4);
result = GPIO_INPUT_GET(GPIO_ID_PIN(4));PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5);
result = GPIO_INPUT_GET(GPIO_ID_PIN(5));PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA2_U, FUNC_GPIO9);
result = GPIO_INPUT_GET(GPIO_ID_PIN(9));PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA3_U, FUNC_GPIO10);
result = GPIO_INPUT_GET(GPIO_ID_PIN(10));PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);
result = GPIO_INPUT_GET(GPIO_ID_PIN(12));PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13);
result = GPIO_INPUT_GET(GPIO_ID_PIN(13));PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14);
result = GPIO_INPUT_GET(GPIO_ID_PIN(14));PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15);
result = GPIO_INPUT_GET(GPIO_ID_PIN(15));gpio16_input_conf();
result = gpio16_input_get();
2018-07-1719:36:23
继上一次发博之后,今天5分钟搞定SOC开发。



重点在于导入方式
第二种导入方式,针对第三方云平台项目用第一种方法无法导入问题。例如“机智云”生成的项目文件夹。
步骤1:解压从机智云下载的项目并复制到project文件夹内。双击"OpenWorkSpace"批处理文件,自动打开。简化步骤
<ignore_js_op>
步骤2:将项目手动复制进去。下图选中的就是我刚才复制的项目文件夹。
<ignore_js_op>
步骤3:双击打开该文件夹,直到定位到有“MakeFile”的文件夹处。并复制文件路径,到安信可IDE内用。注意路径上有文件名,不能出现中文。
<ignore_js_op>
步骤4:双击打开AiThinker_IDE。“File”->"Import"。图略了。
步骤5:双击下图的“Existing Code as Makefile Project”
<ignore_js_op>
步骤6:将刚才复制的路径直接粘贴到“Existing Code Location”处,省地点“Browse”按钮一层层找了。下面选"Cygwin GCC"。 点“Finish”。
<ignore_js_op>
导入成功,但还有些地方需要修改,否则编译不成功。我是从机智云论坛上看来的,目前我还没整明白。就是双击打开MakeFile,将下面这段程序参数修改下。
APP?=0
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=0
改成
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6
boot赋值为new,意思就是可以升级
APP 赋值为1,就可以生成user1的bin 文件 如果需要OTA云端升级,就要用到user2文件,只要在这里将APP值赋为2就行了。
SPI_SPEED是下载的速度
SPI_MODE是下载模式
SPI_SIZE_MAP是flash的大小这个可以看上面那个文档详细介绍 赋值为0表示使用的flash是512k
有一处没搞清楚,安信可官方的SPI_SIZE_MAP?=2 机智云论坛上的那位大神是SPI_SIZE_MAP?=4,而下面有位版主说要改成SPI_SIZE_MAP?=6 反正都能编译成功。
esp8266 SOC方案经过半年沉淀之后再度重启二的更多相关文章
- esp8266 SOC方案经过半年沉淀之后再度重启
我发誓这是最后一次玩esp8266,该脱坑了...... 以前看不懂的教程 http://club.gizwits.com/thread-6447-1-1.html 2018教程 http://clu ...
- 基于SOC方案的嵌入式开发-远程定时设备
Soc方案实现简单的定时开关灯 http://club.gizwits.com/forum.php?mod=viewthread&tid=7787&highlight=%E5%AE%9 ...
- TI的H264 SOC方案
TI的H264 SOC方案是目前常用的视讯解决方案,TI针对视频会议,视频监控,视频存储等场景细化需求并优化了H264技术. 1. TI H.264背景 如今视频压缩技术在视频领域有非常多的应用需求. ...
- Realm数据持久化方案的简单介绍和使用(二)
接上篇... 4. 可空属性&默认值&忽略属性 默认情况下, 属性值可空, 如果强制要求某个属性非空, 可以使用如下方法: 遵循协议方法 + (NSArray *)requiredPr ...
- 无线冲方案 MCU vs SoC
参考: MCU还是SoC:2018无线充电技术走向何方? 方案 分立/集成 特点 框图 MCU方案 分立方案 MCU芯片负责Qi协议的运算和外围电路控制,ST MCU居多:单线圈,双线圈,三线圈都有: ...
- 双十一HostGator独立服务器方案
一年一度的“双十一”购物狂欢节到来,各大电商平台线上消费的各种“吸金”开启了“双十一”模式,一年一度的“双十一”网购狂欢又开始以“巨大的价格优势”来勾起消费者的购买欲望. 此次双十一期间,HostGa ...
- 分布式唯一ID生成方案是什么样的?(转)
一.前言 分布式系统中我们会对一些数据量大的业务进行分拆,如:用户表,订单表.因为数据量巨大一张表无法承接,就会对其进行分库分表. 但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题, ...
- 前端模块化方案全解(CommonJS/AMD/CMD/ES6)
模块化的开发方式可以提高代码复用率,方便进行代码的管理.通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数.目前流行的js模块化规范有CommonJS.AMD.CMD以及ES6的模块 ...
- 打造开源GIS方案
现在GIS用途较多,最近要有所接触,所以决定自己打造一个已经又的方案.均以Java作为开发 二位地图:客户端:geotools,swing,geoserver; web:openlayer,geose ...
随机推荐
- Linux纯Shell实现DNSPod动态域名
http://www.anrip.com/post/872 开发背景: 公司有台嵌入式拨号上网设备,内置busybox和完整wget命令(支持https协议),但没有curl.python.ruby. ...
- {head first} --- networking 1
Head first系列的书确实非常好,深入浅出解说网络的组成.让曾经那些生涩的概念生动起来. Chapter 1 维修物理网络 CAT5电缆: 两端为RJ-45接头(水晶头).内部为UTP(非屏蔽双 ...
- webpack-入口篇
入口起点[Entry Points]: 单个入口(简写)语法 用法:entry: string|Array<string> 例子(webpack.config.js) const conf ...
- 在head里的CSS link 竟然粗如今body里了?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVhY2Vfb2Zfc291bA==/font/5a6L5L2T/fontsize/400/fill/I0 ...
- [Qt总结篇]终端远程升级client
环境: QT4.8.5 for Windows(Qt Creator+MinGW) 一.写在前面: 1.深度:鉴于C/C++的功底还远远不足,个人主要精力还是学习C/C++,所以没打算继续深入研究Qt ...
- NSSet所有API学习。
/****************集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址.只是NSArray是有序的集合,NSSet是无序的集合,同一时候NSSet能够保证数据 ...
- gitlab常见错误解决办法
1 fail: gitlab-workhorse: runsv not running systemctl start gitlab-runsvdir.service systemctl status ...
- ios33--线程安全
// // ViewController.m // 05-掌握-线程安全 // // 多线程下载文件:每个线程下的部分可能是交错的,到时候就拼接不了.除非每个线程下载的不是交错的,而是从头到尾依次分开 ...
- YTU 2535: C++复数运算符重载(+与<<)
2535: C++复数运算符重载(+与<<) 时间限制: 1 Sec 内存限制: 128 MB 提交: 867 解决: 532 题目描述 定义一个复数类Complex,重载运算符&qu ...
- POJ 2080:Calendar
Calendar Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12546 Accepted: 4547 Descrip ...