参考
源码
1 |
|
运行结果
1 | creat stack successful |
坑
- Sublime里运行程序不能输入数据,只能输出数据(卡在cin)
- 参考:动态顺序栈的简单实现 中,数组扩容未改变_capacity
1 | #include<iostream> |
1 | creat stack successful |
Windows开发建议在vscode中使用esp-idf explorer插件
vscode还支持macOS和Linxu,未试过在其他操作系统使用该插件
%USERPROFILE%\esp\esp-idf
目录下examples文件夹内有例程
每次用idf工具,需要执行%USERPROFILE%\esp\esp-idf
目录下的export添加环境变量,我是Windows,需要执行export.ps1,使用export.bat无效,ps1是Windows Power Shell脚本,需要电脑开启运行脚本权限,在管理员模式下Shell输入set-executionpolicy remotesigned
开启权限,然后就可以运行export.ps1
在工程文件夹内使用idf.py menuconfig
来配置工程
使用idf.py build
来编译程序(首次编译或更改SDK后的速度慢)
idf.py -p PORT flash monitor
来下载程序
这个工具非常好用,有GUI配SDK,在vscode用插件指令可以编译下载等
vscode cmd >ESP-IDF:Show Examples Projects
基于例程新建工程
编译,下载,调试,设置sdk等功能点点左下角图标就可以
通过esp32把红外热像Demo板的温度信号用TCP发到电脑上
recv(new_fd, buff, BUFSIZ, 0)
buff指针会程序中断,未查出原因,通过把每次接收到的数据包写入文件解决红外:80*62 的 3.3v spi接口上拉 160*120 fpc的 8Mbps UART ,DC5.0V降压
可见光:OV2640 200W 24pin 考虑fpga作为DVP-spi接口 fpga时钟
白光LED: DC3.4V 100-500mA
无线模块:24L01 2.4-2.52GHZ 250Kbps 500mW 27DB发射功率
电源:DC6V-8.4V 输入,加单向TVS和PTC保护 1uA低功耗LDO 接MCU ,带有EN使能脚的BUCK输出3.3V/5V
光敏 光电二极管加lmv321 放大 ADC
输出接口:SMA 无线 8pin 航插 RST,Vin ,rx/tx , SWD (ESD保护)
MCU:带RTC 32.768
《模拟电子技术基础》(第五版)P24
《模拟电子技术基础》(第五版)P33
注册完域名后进入后台-域名管理-我的域名
DNS使用的是易名DNS(免费版),网上听说易名DNS很烂,以后我再换一个DNS,易名DNS服务器是海外的,国内的DNS服务器需要备案,我的空间和服务器在本地,备案比较麻烦,就没备案
易名云解析中解析记录的一些配置如下
主机记录就是域名前缀,常见用法有:
www:解析后的域名为 www.ihcode.cn
@:直接解析主域名ihcode.cn
*:泛解析,匹配其他所有域名 *.ihcode.cn
要指向空间商提供的 IP 地址,选择「类型 A」,要指向一个域名,选择「类型 CNAME」
各类型的记录值一般是这样的:
A记录:填写您服务器 IP,如果您不知道,请咨询您的空间商
CNAME记录:填写空间商给您提供的域名
TTL(Time To Live),缓存的生存时间。指地方dns缓存您域名记录信息的时间,缓存失效后会再次到获取记录值。
600(10分钟):建议正常情况下使用600。
60(1分钟):如果您经常修改IP,修改记录一分钟即可生效。长期使用60,解析速度会略受影响。
3600(1小时):如果您IP极少变动(一年几次),建议选择3600,解析速度快。
易名云解析中URL转发的一些配置如下
域名,可以是 *.ihcode.cn 或者 www.ihcode.cn
类型:显性或隐性
设置显性URL转发后,当用户访问域名会自动转向访问指定值,址栏显示指定值
设置隐性URL转发后,当用户访问域名会自动转向访问指定值,址栏仍旧显示之前域名
转发值:就是要跳转的域名链接http://,可以带端口号
解析记录的记录值只能是IP地址或者是指向的该IP的DDNS域名,不能加端口号
使用url转发可以带端口号,但是隐性类型转发后无法获取网页logo和名称,UI不正确等问题,使用显性类型转发可以
修改完解析记录后需要至少10分钟才能正常使用
清空DNS缓存即可,Windows管理员CMD输入ipconfig /flushdns
Hexo 4000端口微信访问的时候会报非标准端口警告
考虑以后使用树莓派开一个web服务器,使用80端口映射到公网IP
参考:OV2640硬件开发手册
设计:Hao
layout:小张
参考:正点原子ov2640实验视频、OV2640数据手册、OV2640软件开发手册
接口:SCCB(类I2C)、DCMI(8bit并口)
传感器、传感器窗口、图像尺寸、图像窗口之间的关系如下图:
程序开发按照正点原子给的库很容易进行,但部分功能库里没有需要查阅软件开发手册和数据手册,对寄存器进行读写。
DOVDD是IO的电平,给了3.3V,因为和它通讯的单片机使用的电压也是3.3V,如果这里用2.8V可以也是可以,会产生电流倒灌,增加了产品不稳定的因素
ov2640模组在上电的时候比较烫手,温度有55℃上下,不使用的时候将PWDN拉高,停止给电
为了节约成本,24Mhz时钟可以由单片机输出,代替有源晶振
如果单片机没有DCMI接口,软件模拟速度跟不上,需要使用带FIFO的摄像头(ov7550),才可以由软件模拟读取并口数据,模拟的还没有尝试过,可以参考原子哥M3例程,F103使用0V7550
由于大多数低成本国产单片机不带DCMI接口,可以由高云FPGA驱动ov2640,通过SPI发送给单片机,这是本人五一节后要做的事情
SPI配置需要注意的参数:极性CPOL和相位CPHA,详解SPI中的极性CPOL和相位CPHA
如何判断CPOL:SCLK的空闲时候的电压,是0还是1,决定了CPOL是0还是1
如何判断CPHA:数据采样时刻对应着的SCLK的电平,是第一个边沿还是第二个边沿,对应着CPHA为0还是1
1 | void LCD_WR_REG(uint8_t dat) |
要打开224KB SRAM《AT32F403A & AT32F407入门使用指南》给了四种方法
1.2.3 AT32F403A_407零等待/非零等待Flash和内置SRAM大小选择配置大小选择配置说明
我用的是第三种方法,直接下一遍SRAM例程就开启了224KB SRAM
Level0:近乎不优化,用于调试代码。出现代码行不能设置断点可如此设置试试
Level1:部分优化。移除未调用的内联函数和静态函数,关闭debug窗口优化,此状态也能用于调试
Level2:默认优化等级。如果处于debug状态,部分代码行将不能被调试,具体做了什么优化好像没说
Level3:可能更牛的优化等级。会增加编译时间,可能会快,可能生成的文件大小会小,可能会暴毙
参考:hexo引用本地图片无法显示、hexo使用markdown图片无法显示问题

直接插入图片(注意不能有差别,多个”/“都不行)SiO<sub>2</sub>
2<sup>10</sup>Ω
参考:Hexo博客添加搜索功能
参考:npm WARN config global –global, –local are deprecated. Use –location 的解决方法