arduino怎么和C语言程序通信,c – 如何将arduino库与标准C代码一起使用
我正在使用
Eclipse kepler进行AVR开发.
我拥有的代码是C(开源),我已经调整它以便它完美运行.我的目标是ATmega2560,采用arduino mega2560的形式.
使用arduino板严格用于硬件方便;我们正在开发硬件作为定制板,其中包含大多数核心arduino mega2560组件.
我需要在这个项目中使用几个库,它们只能用作arduino库,即电子纸屏幕库(来自seeedstudio)和Nordic的BLE nRF8001.
如果我在eclipse中使用插件创建一个新的arduino项目,我可以完美地构建和运行arduino库的测试.
当我尝试将两个代码库合并在一起时,我似乎无法调用添加的arduino库中的函数 – 如果我调用它们,编译器会抛出链接错误.
Building target: Virgin2ManualArdInsert.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,Virgin2ManualArdInsert.map -mmcu=atmega2560 -o "Virgin2ManualArdInsert.elf" ./avr/adc.o ./avr/eeprom.o ./avr/lcd_and_input.o ./avr/main.o ./avr/strings.o ./avr/unimplemented.o ./avr/usart.o ./aes.o ./baseconv.o ./bignum256.o ./ecdsa.o ./endian.o ./fft.o ./fix16.o ./hash.o ./hmac_sha512.o ./messages.pb.o ./p2sh_addr_gen.o ./pb_decode.o ./pb_encode.o ./pbkdf2.o ./prandom.o ./ripemd160.o ./sha256.o ./statistics.o ./stream_comm.o ./test_helpers.o ./transaction.o ./wallet.o ./xex.o
./avr/main.o: In function `main':
main.c:(.text.startup.main+0xc): undefined reference to `writeEink'
collect2: error: ld returned 1 exit status
makefile:53: recipe for target 'Virgin2ManualArdInsert.elf' failed
make: *** [Virgin2ManualArdInsert.elf] Error 1
作为测试,我只是尝试从main.c中调用eInk.cpp中的基本“写入显示”调用:
extern "C"{
void writeEink()
{
EPAPER.begin(EPD_SIZE); // setup epaper, size
EPAPER.setDirection(DIRNORMAL); // set display direction
eSD.begin(EPD_SIZE);
GT20L16.begin();
// int timer1 = millis();
EPAPER.drawString("testing", 10, 10);
EPAPER.drawNumber(12345, 60, 40);
EPAPER.drawFloat(-1.25, 2, 80, 65);
EPAPER.display(); // use only once
}
是一个从arduino核心构建的静态库的方式吗?我已经尝试过了(虽然看起来大部分程序已经过时)并且库不想链接/被调用.
在我的C代码中包含C / Arduino调用的正确程序是什么?
我尝试过使用extern“C”{function()};在我的.cpp文件和.h文件中,但没有用.
感谢您提供任何帮助或指示我可以自己解决的问题.
arduino怎么和C语言程序通信,c – 如何将arduino库与标准C代码一起使用相关推荐
- 弦截法c语言程序,高数介质定理——弦截法求根代码实践(C语言)
在高等数学中,我们一开始接触概念时就接受了ε-δ(epsilon-delta)语言的洗礼,但即使到课程的结束,许多人依然会对各种抽象的数学符号.定理证明感到无所适从,我也不例外,尽管在写这篇博客以前已 ...
- c语言程序的英式棋盘,使用棋盘法的贪吃蛇代码
使用棋盘法的贪吃蛇代码 在我此前发了一篇对其他人的贪吃蛇C代码的分析和注释,在那个代码中的算法主要是用一个线性表存储蛇的所有身体节点的位置.然后随着游戏进行,需要把相应的蛇身节点依次平移一次(把数组里 ...
- 电脑运行c语言程序就蓝屏,Win10电脑卡机遇到蓝屏代码0xc000014c应该怎么办?
Win10电脑卡机遇到蓝屏代码0xc000014c应该怎么办?许多用户在使用电脑的时候都有遇到过电脑蓝屏问题,最终导致电脑无法正常的使用,遇到这种情况我们要怎么操作呢?下面小编就带着大家一起来看一下吧 ...
- 《零基础看得懂的C语言入门教程 》——(三)轻轻松松理解第一个C语言程序
一.学习目标 了解C语言代码的一般结构 了解函数的概念 了解printf函数的使用方法 了解头文件的概念 了解system函数的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语 ...
- c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt
c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...
- c语言在linux下运行程序设计,如何在Linux下运行C语言程序
如何在Linux下运行C语言程序 C语言是一个有结构化程序设计.具有变量作用域(variable scope)以及递归功能的过程式语言.以下是小编为大家搜索整理的如何在Linux下运行C语言程序,希望 ...
- 在Linux下运行C语言程序
市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核.桌面环境和各种常用的必备工具,国内使用较多的是Ubuntu(乌班图).CentOS.Fedora. 我以Fedora 2 ...
- 怎么用centos7运行c语言程序_在Linux下运行C语言程序
市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核.桌面环境和各种常用的必备工具,国内使用较多的是Ubuntu(乌班图).CentOS.Fedora. 我以Fedora 2 ...
- c语言单片机自动浇花系统,LLAKG:Arduino 自动浇花系统(第3集:C语言程序升级与功能优化)...
LLAKG:Arduino 自动浇花系统(第3集:C语言程序升级与功能优化) [复制链接] 第三集: C语言程序升级与功能改进 我叫张柏峦,今年9岁,我喜欢电子科学 第三集视频中,我们再深入的介绍一下 ...
最新文章
- Apache 编译安装
- 跟人聊天的总结:为什么选择SAP
- 静态call 动态call LINK
- DSP SCI模块实验
- mysql数据库连接配置路径_关于mysql安装后更改数据库路径方法-linux环境
- 项目设计之----命令模式的利用
- INSTALL_FAILED_UID_CHANGED解决办法
- Android仿微信源码下载
- 【无标题】2022电工(技师)操作证考试题及在线模拟考试
- 服务器系统怎么么安装手绘板驱动,wacom数位板如何使用?wacom数位板驱动安装教程!...
- 人工智能——深度学习
- Python小数整数输出
- electron-vue-windows
- 3d 图表的javaapi
- autocad2022版安装提示提示“The feature you are trying to use is on a network resource ...”失败解决办法
- 阮一峰访谈问题有奖征集(图灵访谈)
- 三维动画制作软件测试指标,102092三维动画软件基础课程标准已审核.doc
- 遗传算法——君主方案代码实现
- 【翻译】Mathematical Analysis of Algorithms
- 网络安全 中间人攻击-DNS欺骗 使用ettercap