问题标签 [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 投票
1 回答
109 浏览

linux - 通过串口发送一些无符号整数时出错(teensy -> raspi)

我在尝试通过 USB 在 teensy 和 Raspberry Pi3 之间进行通信时遇到了一些麻烦。

当我发送 unsigned int 时,我收到的所有包含值 13 字节的数字都错误,该字节更改为值 10

例如 :

但不是为了其他人...

不管我是在 pi 上使用我的程序还是发送 cat 命令/dev/ttyACMO。但是,当我在另一台计算机上执行相同操作时,一切正常。

我在另一台计算机上遇到了同样的问题,所以我认为问题来自我安装的错误库。

你有什么主意吗?

PS:teensy 上的代码很简单:

0 投票
0 回答
48 浏览

arduino - How to debug unexpected analogue output in Arduino?

I'm working on Some Neopixels and Arduino (teensy 3.2) and fairly new to both.

I have a strip of the LEDs, one PIR, and an LDR to differentiate between day and night and turn off the LEDs. What I'm trying to achieve is to have the LEDS go full brightness when PIR motion is detected but only when the LDR is a certain value.

The issue is that the PIR is over-riding the LDR and going full brightness day or night, how can I make the Analog Pin of the LDR trump the PIR?

My code is here:

0 投票
1 回答
207 浏览

arduino - 微控制器 SD 卡

我有一个使用 Arduino 或 Teensy 的项目,我需要从 SD 卡的二进制文件“字节”中不断读取字节,并以某个稳定的频率buf=file.read()通过端口操作(PORTD = buf...或循环内)进行输出。PORTD = file.read()

我读过由于SD卡延迟,file.read()命令不会每次都同时执行,所以输出频率不会稳定。当我打开文件一次读取直到循环结束然后关闭文件时,是否会发生这种延迟?

如果是这样,另一种解决方案是从 SD 卡中读取每个 512 字节,并在 struct 的帮助下将它们存储到 buf 数组。现在的问题是,每次我读取 512 字节时,我都必须等待它们的到来加上 SD 卡读取延迟。是否可以制作两个每个 512 字节的缓冲区数组 -> 填充第一个 -> 在频率为 10 或 20 Khz 或更高的定时器中断内使用第一个数组开始端口操作,因此输出始终具有稳定的频率而在另一个循环中,我尝试填充另一个数组?我的意思是可以file.read(buf, size of(512))毫无问题地中断“”命令吗?

如果是这样,我怎样才能处理平滑的数据速率并拥有稳定的频率?

我相信微控制器音频播放器也会出现同样的问题。他们在哪里播放 SD 卡中的 wav 文件。请帮我。提前致谢!

0 投票
1 回答
5312 浏览

macos - 如何将 Teensy 板添加到 VS Code 和 Arduino 插件?

我目前正在使用带有 Teensyduino 的 Arduino IDE 编写 Teens y2.0。它可以工作,但 Arduino IDE 很垃圾,所以我想使用 VS Code。然而,虽然 Arduino VS 代码插件工作正常,但它不会将 Teensy 识别为板,即使 Teensyduino 将其库等安装到 Arduino IDE 包中。

有谁知道如何将 Teensy 支持添加到 VS Code 或我可以使用的可以识别电路板的替代 IDE?

OSX Sierra / 带有 vscode-arduino 插件的 VS Code v0.24 / Teensy 2.0

0 投票
1 回答
1867 浏览

arduino - DMA 是在微处理器上接收高速数字数据的正确方法吗?

我一直在使用 Teensy 3.6 微控制器板(180 MHz ARM Cortex-M4 处理器)来尝试实现传感器驱动程序。传感器通过 SPI 进行控制,当它被命令进行测量时,它通过两条线(DOUT 和 PCLK)发送数据。PCLK 是一个 5 MHz 时钟信号,位通过 DOUT 发送,在 PCLK 信号的下降沿测量。数据帧本身由 1,024 个 16 位值组成。

我的第一次尝试是一种相对简单的方法:我在 PCLK 引脚上附加了一个中断,以寻找下降沿。当它检测到下降沿时,它会设置一个新位可用的布尔值,并将另一个布尔值设置为 DOUT 线的值。程序的主循环从这些位生成一个 uint_16 值,并为整个测量帧收集 1,024 个这些值。

然而,这个程序几乎立即锁定了青少年。从我的实验来看,它似乎在附加中断后立即锁定。我相信微处理器被中断淹没了。

我认为正确的做法是使用 Teensy 的 DMA 控制器。我一直在阅读 Paul Stoffregen 的 DMAChannel 库,但我无法理解。我需要从 PCLK 数字引脚触发 DMA 测量,并从 DOUT 数字引脚读取位。有人能告诉我我是否以正确的方式看待这个问题吗?我是否忽略了某些东西,我应该查看哪些资源来更好地了解 Teensy 上的 DMA?

谢谢!

我把它放在 Software Engineering Stack Exchange 上,因为我觉得这主要是一个编程问题,但如果是 EE 问题,请随时将其移至 EE SE。

0 投票
1 回答
127 浏览

arduino - Teensy 3.1 键盘脚本执行

我正在尝试将 Teensy 3.1 编程为键盘,并且我正在使用来自https://www.pjrc.com/teensy/td_keyboard.html的示例。

我成功地将脚本上传到 Teensy,脚本立即开始执行。问题是,在那之后,如果我拔掉 Teensy 并再次插上它,什么都不会发生。有人知道我做错了什么吗?

0 投票
1 回答
951 浏览

arduino - Platform.io 通过 SWD (J-LINK) 上传到 Teensy 3.6

我正在使用优秀的 ht​​tp: //platformio.org/和 Visual Studio Code 为 Teensy 3.6(Arduino 兼容板)进行开发。

这很好用。但我想通过 SWD(串行线调试)进行更好的调试。所以我断开了与 Arduino 兼容的 USB 芯片,转而通过 SWD 和 JLINK 连接。与此类似:https ://mcuoneclipse.com/2017/04/29/modifying-the-teensy-3-5-and-3-6-for-arm-swd-debugging/

我可以使用“J-Link Lite”软件刷新我通过platformio构建的固件就好了。我也可以毫无问题地运行 J-Link GDB 服务器。但我无法让 IDE 集成工作。

我的platformio.ini样子是这样的:

仍然忽略upload_protocol,当我platformio.exe run --target upload通过IDE调用upload()时,我得到的只是

所以它仍在尝试通过与 Arduino 兼容的 USB 连接而不是通过 SWD 连接进行上传。如何让 platformio 更改上传方法或 upload_protocol?

0 投票
1 回答
50 浏览

enums - Implementing enum like functionality with custom types

I'm working on a USB MIDI controller using a Teensy. The controller is a row of 7 buttons, each button is a progression degree and the 7 buttons make up a chord progression. When pressed the device sends a MIDI note on/off message to play a chord.

In my code I have intervals stored in an enum:

#xA;

I also have an array of chords, like so:

#xA;

I'd like to access the chords in a similar way to the enum of intervals so I can do something like this (psudeocode):

#xA;

I know it's not possible to have an enum of custom types, but is there any way I could get close to this? I've considered using a HashTable, but I'd have to implement it from scratch and I don't fancy that if I can help it.

0 投票
1 回答
928 浏览

c++ - 将类函数传递给另一个类函数

抱歉可能重复,但我不理解我找到的示例和代码片段。

我有一个名为“EncoderWrapper”的类,其中包含一些功能。其中一个函数称为“onAfterTouch”,并在“EncoderWrapper.h”文件中声明。

这些函数将成为我使用的库的另一个类函数的回调

注意:我对 C++ 完全陌生,所以如果我正在做一些“禁止”或混淆某些术语,我想说声抱歉。

问题是:如何将我的类函数(成员函数?)传递给库的“setHandleAfterTouch”函数?

这不起作用:

...我的 IDE 说

调用 usb_midi_class:setHandleAfterTouch(void (EncoderWrapper::*)(byte, byte)) 没有匹配函数

我也试过

但这行不通……而且我不明白这一点。

非常感谢每个帮助 ;-)

0 投票
1 回答
247 浏览

c++ - Teensy/Arduino 库编译错误

我目前正在使用 Arduino IDE 为我的 Teensy 编写一个库应用程序,到目前为止,它已经足够直截了当。然而,我遇到了一些奇怪的编译错误,我似乎无法理解。我的库包括众所周知的 IRRemote 库,以便我创建几乎是一个包装库的内容,以便更具体地了解我需要与 IR Remote 库交互的方式。我遇到的问题是 IR Remote 库函数之一:

尽管这看起来像是一个直接使用的函数,但我遇到的问题是函数的第一个参数。我已经尝试了各种方法来将一些东西传递给这个函数参数,但无论我做什么,它都不会编译。目前我已经设置了一个变量

当我尝试打电话时

我得到一个编译器错误

有趣的是,如果我直接从 Arduino .ino 文件中调用相同的函数,而不是通过我的库调用,代码编译并运行得非常好。我错过了一些明显的东西吗?