如何使用ESP8266库pwm.h?如果我只是在我的arduino项目中包含该库,则会收到错误:undefined reference to pwm_init
我需要一个40khz的正弦波用于超声波传感器,而且analogWrite在高频下工作不好。
很抱歉,如果答案很明显,我一直在谷歌搜索问题几个小时,我找不到任何有用的东西。
修改
我认为这是正确的pwm.c file。我该把它放在哪里?我尝试将此文件添加到我的项目中,但它不起作用。我猜它与该库中的其他文件有依赖关系。但是我怎么把C库添加到arduino项目呢?如果有一个标题pwm.h,为什么它还没有包含在ESP8266核心库中?
答案 0 :(得分:0)
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
是ESP8266 SDK的一部分,如果你安装了ESP8266 Addon With the Arduino Boards Manager,这个库应该在:
libpwm.a
为了使用PWM,您应该在草图.arduino15/packages/esp8266/hardware/esp8266/<SDK Version>/tools/sdk/lib/libpwm.a
中包含强制C修改:
pwm.h
然后,为了与extern "C" {
#include "pwm.h"
}
链接,您应该自定义链接命令,创建自定义平台配置文件libpwm.a
,添加
.arduino15/packages/esp8266/hardware/esp8266/<SDK Version>/platform.local.txt
您也可以在平台配置文件compiler.c.elf.extra_flags=-lpwm