问题标签 [teensy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
70 浏览

arduino - Arduino 的命令行参数(Teensy)

以闪烁草图为例,是否可以在编译时通过命令行参数或类似的东西设置 LED 引脚?

在我的实际草图中,我想设置一些变量(数字,也许是字符串)。

到目前为止我唯一发现的是这个 StackOverflow 问题

https://arduino.stackexchange.com/questions/32519/environment-variable-to-change-build

(我使用的是 Teensy 3.5,而不是 Arduino,如果这有什么不同的话)

0 投票
3 回答
2896 浏览

c++ - “'SomeFuction'的多重定义”。不知道如何修复

我正在编写一个 Arduino 应用程序(在 VSCode 中使用 platformIO),并包括一个外部 CAN 库(FlexCAN_T4)。我想在一个单独的文件(protocol.cpp)中定义我所有的协议/消息处理程序回调,并从我的主文件(main.cpp)中引用它们。所以我用我所有的函数签名创建了一个头文件(protocol.h),并包含来自protocol.cpp和main.cpp的protocol.h。

但是我得到了“'flexcan_isr_can1()'的多重定义”(这是一个在引用库 FlexCAN_T4 中定义的函数)。我无法弄清楚如何摆脱这个错误,并且仍然拥有我所有的函数签名和常量以及无法正常工作的东西。

示例错误消息(FlexCan_T4.h 中定义的每个非类函数一个):

协议.h

协议.cpp

主文件

从某种意义上说,这些错误是有道理的,因为 protocol.h(以及,可传递的,FlexCAN_T4.h)被多次#included。

但是我怎样才能保持这种良好的代码组织,我的回调在 main.cpp 之外定义?包含这些依赖项的正确方法是什么?

0 投票
0 回答
57 浏览

c - 检查像素是否在青少年游戏中发生碰撞

我正在尝试检查我的操纵杆控制的角色是否与存储在数组中的墙壁像素发生碰撞。角色有一个与其位置左上角相关的坐标和一个表示绘制它的“位图”的二维数组。但是我要么没有碰撞,要么角色无法移动,因为代码认为它发生了碰撞。

我已经完成了调用碰撞测试的多种变体——在碰撞函数和在移动函数中调用它时都尝试了它。我最近切换到 2 for 循环,因为 1 只比较它们各自数组中相同位置的像素,而不是与所有像素进行比较。我按照下面评论中的建议进行了一些更改,现在我已将问题缩小到始终返回 0 的碰撞函数。我通过与敌方角色发生碰撞发现了这一点,当我遇到 if temp == 0 时,玩家在没有的情况下死亡移动,但是当它设置为 if (temp == 1) 时,即使玩家接触到敌方角色也不会死亡。

pixelbank 是存储墙壁像素的位置(int pixelbank[64][2]) c_x 和 c_y 是绘制字符的起点,c_xy 包含偏移量,例如 c_xy[0][0] = 1 & c_xy[0 ][1] = 0,因为在 c_x+1、c_y+0 处绘制了一个像素。

我希望我的角色不能穿过墙壁,但他要么是,要么他根本不能移动,但我的代码在编译时没有提供任何错误。

另外,如果它有帮助,我正在使用 48x84 LCD 屏幕来显示我的代码

0 投票
0 回答
44 浏览

c - 角色的自动移动不起作用

我试图让角色随机自动移动并反弹墙壁。从理论上讲,我拥有的代码应该可以工作,但是角色并没有移动。我没有收到任何错误,并试图找到一个问题,但做不到。

我修复了声明和一些比较的几个问题,但是我无法找到另一个阻止此代码运行的问题。我在 48x84 LCD 屏幕上运行它。

主要功能不准确,但当前运行的顺序是相同的

我希望汤姆能够自动移动并从屏幕边界反弹并沿随机方向移动,但目前汤姆根本没有移动,但没有出现错误,其他所有游戏元素都可以正常工作

0 投票
2 回答
1241 浏览

c++ - 移位寄存器 74HC595 输出电流

我正在测试/调试一个使用 74HC595 移位寄存器(Arduino Teensy3.2 @ 3.3V)的 C++ 程序。

我想将 SR 的 8 个输出连接回 Arduino 板上的 8 个输入引脚。

我的问题是:移位寄存器的输出和 Arduino 输入之间是否需要电阻?如何知道从 SR 输出流出的电流?

我确实看过数据表,但这让我更加困惑: https ://www.taydaelectronics.com/datasheets/A-251.pdf

设置寄存器的代码:

0 投票
2 回答
836 浏览

c++ - 在 Teensy 3.6 上使用 ADC

我正在尝试将我在 Arduino Mega 上创建的程序移植到 Teensy 3.6 上。我使用我找到的一段代码对音频信号进行采样,然后对其进行快速傅立叶变换,但现在我正在移植它,Teensy 不接受他们在 Arduino 上收集音频样本的方式。我可以使用 AnalogRead 来获得相同的效果吗?我怎样才能移植这段代码以同样的方式工作?当它说它是“//清除 ADIF 位以便 ADC 可以执行下一个操作 (0xf5)”时,这段代码在做什么,我是否也需要将它移植过来?谢谢

此代码在 Arduino Mega 上完美运行,但 Teensy 给了我错误:

0 投票
1 回答
866 浏览

arduino - 错误在'{'标记之前不允许函数定义:对于teensy 3.2 arduino

我在代码的 void 循环块中遇到错误,我不知道到底出了什么问题,为什么它会给我以下错误:在 '{' 标记之前不允许函数定义

这是我第一次尝试此代码,所以我不知道出了什么问题

请帮忙,因为这对我的课很重要。我真的很感激!:)

更新:这是我收到的错误消息:

Arduino:1.8.10(Mac OS X),板:“Teensy 3.2 / 3.1,串行,96 MHz(超频),更快,美国英语”

在 /Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:28:0 中包含的文件中:/Applications/Arduino.app/Contents/Java/hardware/teensy/avr/libraries/EEPROM/EEPROM.h:在函数中'无效设置()':

/Applications/Arduino.app/Contents/Java/hardware/teensy/avr/libraries/EEPROM/EEPROM.h:136:5:错误:本地类模板中成员模板的声明无效< typename T > T &get( int idx, T&t){ ^

/Applications/Arduino.app/Contents/Java/hardware/teensy/avr/libraries/EEPROM/EEPROM.h:143:5:错误:本地类模板中成员模板的声明无效< typename T > const T &put( int idx , 常量 T &t ){
^

Test1KnobberCode:37:14: 错误: 在 '{' token void setup() { ^

Test1KnobberCode:54:13: 错误: 在 '{' token void loop() { ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:31:5: 警告:未使用的变量 'knobChan' [-Wunused-variable] int knobChan = 1; int buttonChan = 1; int 旋钮CC = 14; int buttonCC = 15; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:31:23: 警告:未使用的变量 'buttonChan' [-Wunused-variable] int knobChan = 1; int buttonChan = 1; int 旋钮CC = 14; int buttonCC = 15; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:31:43: 警告:未使用的变量 'knobCC' [-Wunused-variable] int knobChan = 1; int buttonChan = 1; int 旋钮CC = 14; int buttonCC = 15; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:31:60: 警告:未使用的变量 'buttonCC' [-Wunused-variable] int knobChan = 1; int buttonChan = 1; int 旋钮CC = 14; int buttonCC = 15; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:32:5: 警告:未使用的变量 'kPin' [-Wunused-variable] int kPin = 0; 诠释 bPin = 0; 诠释行为 = 1; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:32:19: 警告:未使用的变量 'bPin' [-Wunused-variable] int kPin = 0; 诠释 bPin = 0; 诠释行为 = 1; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:32:33:警告:未使用的变量“行为”[-Wunused-variable] int kPin = 0;诠释 bPin = 0; 诠释行为 = 1; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:33:5: 警告:未使用的变量 'inputAnalog' [-Wunused-variable] int inputAnalog, ccValue, iAlag; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:33:18: 警告:未使用的变量 'ccValue' [-Wunused-variable] int inputAnalog, ccValue, iAlag; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:33:27: 警告:未使用的变量 'iAlag' [-Wunused-variable] int inputAnalog, ccValue, iAlag; ^

/Users/bharatvangani/Documents/Arduino/Test1KnobberCode/Test1KnobberCode.ino:34:9: 警告:未使用的变量'toggled' [-Wunused-variable] boolean toggled = false; ^

Test1KnobberCode:116:1: 错误: 输入结束时预期的 '}' } ^

为“Bounce.h”找到多个库 使用:/Applications/Arduino.app/Contents/Java/hardware/teensy/avr/libraries/Bounce 为“EEPROM.h”找到多个库 使用:/Applications/Arduino.app /Contents/Java/hardware/teensy/avr/libraries/EEPROM 退出状态 1 在“{”标记之前不允许函数定义

0 投票
1 回答
1488 浏览

python - teensy bord 与系统之间使用 python 进行串行通信

我对物联网领域相当陌生。我正在设置一个带有 teensy 的传感器,用于读取其数据并使用串行通信传输到使用 python 读取数据并将其存储到数据库中的系统。

我面临的问题是,当我使用arduino 串行监视器检查我的程序时,我得到了疯狂的采样速度,比如 10k 读数在 40 毫秒内完成,但是当我尝试使用python读取相同的程序时,它甚至没有给我超过1000每秒读数,如果没有数据库代码,它每秒只能读取 200 个样本。有什么办法可以提高这个采样率,还是我必须设置任何额外的参数才能通过串行通信?

这是我的 teensy 代码:

对于蟒蛇:

PS:每秒 1000 个样本是我在不使用数据库命令时获得的速率,包括它们,我每秒只能获得大约 250 个样本。

任何帮助或建议表示赞赏,谢谢。

0 投票
2 回答
118 浏览

ftdi - 通过 SparkFun FTDI Basic Breakout 上传到 Teensy 4.0

我有一个由 Teensy 4.0 控制的大型项目,我不小心断开了 mini-USB。无论如何我可能会买一个新的,但我想尝试使用 RX TX 引脚上传来学习如何做到这一点。我有一个 SparkFun FTDI Basic Breakout,但我能找到的所有教程都是针对 Teensy 的,有没有说明这一点的教程,或者你能告诉我如何使用 FTDI 从 Arduino IDE 上传到青少年吗?谢谢!

0 投票
1 回答
153 浏览

c++ - 编译器在 C++ 中调用另一个函数时在参数中查找已删除的构造函数

我试图控制微控制器中的四个不同对象(传感器、电机、旋转编码器和负责逻辑的类),其中两个功能主要是switch state语句,一个从串行端口读取并切换一个相应的变量,以及从该变量中读取并调用函数的变量。我可以直接在 my 中从单个对象调用函数loop,但是当我使用函数调用它们时,serialTask();编译器会失败。这是我的标题:

这是motor.h. 我在构造函数中使用了所有这些参数,因为我使用了两个库,它们使用这些元素来构造它们自己的对象TMC2130StepperStepperStepControl

这是我的编码器,rotary.h

这是我的sensor.h

这是另一堂课open-celluloid.h

除此之外,我还有另一个 .h 文件,其中包含以下功能:

问题是文件中的函数serialTask();如下所示functions.cpp

每当我在 main 中调用此函数时loop(),编译器都会告诉我use of deleted function 'Motor::Motor(const Motor&)'。这是我的main.cpp文件的样子:

此外,我还有另一个 .h 文件pinout.h,其中我的所有引脚都定义为常量并从其他文件中调用,但这似乎并不重要。编译器还会将我发送到我用于电机的库深处的错误,但这只发生在我调用serialTask(). 也许重新定义有问题,我真的迷路了,非常感谢任何帮助。这是我收到的其他错误消息: