遇到一个用arduino ide给esp32编程的问题请教

程序如下:
#include <ssd1306.h>// 导入 SSD1306 库
#include <ssd1306_console.h>
Ssd1306Console console;// 定义控制台对象实例
// 引脚定义
const int pinA1 = 26;//M1A 对应引脚
const int pinB1 = 27;//M1B 对应引脚
const int pinA2 = 25;//M2B 对应引脚
const int pinB2 = 17;//M2A 对应引脚
const int speedPin = A3;// 定义模拟角度传感器引脚
// 定义电机 PWM
int leftPWM ;
int rightPWM;
void setup() {
 ssd1306_128x64_i2c_init();// 初始化 SSD1306 液晶显示屏
 ssd1306_clearScreen();
 ssd1306_setFixedFont(ssd1306xled_font6x8);
 // 定义通道
 ledcSetup(0, 5000, 10);
 ledcSetup(1, 5000, 10);
 ledcSetup(2, 5000, 10);
 ledcSetup(3, 5000, 10);
 // 关联引脚以及通道
 ledcAttachPin(pinA1, 0);
 ledcAttachPin(pinB1, 1);
 ledcAttachPin(pinA2, 2);
 ledcAttachPin(pinB2, 3);
 // 设置模拟输入采样位数,取值范围为 0~1023
 analogSetWidth(10);
}
void loop() {
 int val = analogRead(speedPin);// 将模拟角度传感器的值赋值给 val
 leftPWM = val;
 rightPWM = val;
 forward();
 console.printf("speed: %d\n", val);// 在 SSD1306 上显示 PWM 的值
}
// 小车前进
void forward() {
 ledcWrite(0, leftPWM);
 ledcWrite(1, 0);
 ledcWrite(2, rightPWM);
 ledcWrite(3, 0);
}

出现报错如下:

C:\Users\KING\Documents\Arduino\libraries\ssd1306\src\intf\vga\esp32\CompositeOutput.cpp: In member function 'void CompositeOutput::check_buffer()':

C:\Users\KING\Documents\Arduino\libraries\ssd1306\src\intf\vga\esp32\CompositeOutput.cpp:280:112: error: invalid conversion from 'size_t* {aka unsigned int*}' to 'TickType_t {aka unsigned int}' [-fpermissive]

         i2s_write_bytes(I2S_PORT, (char*)line, sizeof(uint16_t) * (m_end - line), &bytes_written, portMAX_DELAY);

                                                                                                                ^

C:\Users\KING\Documents\Arduino\libraries\ssd1306\src\intf\vga\esp32\CompositeOutput.cpp:280:112: error: too many arguments to function 'int i2s_write_bytes(i2s_port_t, const void*, size_t, TickType_t)'

In file included from C:\Users\KING\Documents\Arduino\libraries\ssd1306\src\intf\vga\esp32\CompositeOutput.h:12:0,

                 from C:\Users\KING\Documents\Arduino\libraries\ssd1306\src\intf\vga\esp32\CompositeOutput.cpp:5:

C:\esp32luxi\Arduino_ESP32\Arduino-1.8.9_ESP32\hardware\espressif\esp32/tools/sdk/include/driver/driver/i2s.h:274:5: note: declared here

 int i2s_write_bytes(i2s_port_t i2s_num, const void *src, size_t size, TickType_t ticks_to_wait) __attribute__ ((deprecated));

     ^

"ssd1306.h" 对应多个库
 已使用: C:\Users\KING\Documents\Arduino\libraries\ssd1306
 未使用:C:\esp32luxi\Arduino_ESP32\Arduino-1.8.9_ESP32\libraries\ssd1306-1.7.18
exit status 1
为开发板 ESP32 Dev Module 编译时出错。

不知该如何解决,希望有同样问题的帮解决下,感觉是1306库的问题,但是尝试重新安装库了还是不好使!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何老师机器人大讲堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值