我使用Bouncy Castle软件包在平台上生成密钥对.
SecureRandom random = new SecureRandom();
ECKeyPairGenerator pGen = new ECKeyPairGenerator();
ECKeyGenerationParameters genParam = new ECKeyGenerationParameters(params,random);
pGen.init(genParam);
AsymmetricCipherKeyPair pair = pGen.generateKeyPair();
Run Code Online (Sandbox Code Playgroud)
这里pair是类型AsymmetricCipherKeyPair.而且,我需要使用这一对在服务器上生成X509V1Certificate.但是,X509Certificate setPublicKey(PublicKey pubkey)只接受类型的对象PublicKey.所以我需要PublicKey从AsymmetricCipherKeyPair服务器检索一个.但是,我得到了ECPublicKeyParameters,这在setPublicKey方法中是不被接受的.
所以,我在这里的要求是得到PublicKey一个AsymmetricCipherKeyPair.
我正在研究Arduino Mega 2560项目.在Windows 7 PC上,我使用的是Arduino1.0 IDE.我需要建立一个波特率为115200的串行蓝牙通信.当RX上的数据可用时,我需要接收一个中断.我见过的每一段代码都使用"轮询",这是在Arduino循环中放置Serial.available的条件.如何在Arduino的循环中替换这种方法以获得中断及其服务程序?似乎attachInterrupt()没有提供此目的.我依靠中断从睡眠模式中唤醒Arduino.
我开发了这个简单的代码,它应该打开连接到引脚13的LED.
#include <avr/interrupt.h>
#include <avr/io.h>
void setup()
{
pinMode(13, OUTPUT); //Set pin 13 as output
UBRR0H = 0;//(BAUD_PRESCALE >> 8); // Load upper 8-bits of the baud rate value into the high byte of the UBRR register
UBRR0L = 8; // Load lower 8-bits of the baud rate value into the low byte of the UBRR register
UCSR0C |= (1 << UCSZ00) | (1 << UCSZ10); // Use 8-bit character sizes
UCSR0B |= (1 …Run Code Online (Sandbox Code Playgroud) microcontroller bluetooth arduino interrupt serial-communication
首先,我不知道这个应该留在SO还是去SU:你告诉我。解决方案可能与编程有关。
我正在嵌入式设备上执行 Linux 并使用 RS-232 @ 9600 波特率与其进行通信。在 Windows 上使用 PuTTY 一切正常:我有一个 shell,可以键入和执行命令。
问题是:当我启动命令时,我无法使用 CTRL+C。例如,当 ping 某台机器时,ping 进入无限循环,我无法使用 CTRL+C 停止它。但是,当出现 Bash 提示符时,CTRL+C 会起作用并转到下一行(因此它会被传输)。^C我还注意到当我在运行命令时执行 CTRL+C 时,终端会显示。通过 Telnet 连接时,CTRL+C 在任何地方都可以正常工作。
我尝试使用 PuTTY 的“特殊命令”中断,但不起作用。我也尝试过不同的终端模拟器,同样的问题。
所以我猜这个问题与内核有关。对此我有什么可以调查的吗?
编辑:我正在运行 BusyBox v1.13.2。stty -a(RS-232)的输出为:
speed 9600 baud; rows 24; columns 80;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = …Run Code Online (Sandbox Code Playgroud) 我即将开始一个项目,我必须通过串口与医疗设备进行通信(从中提取数据).该设备的文档说它通过Kermit协议进行通信.我甚至想过克米特已经10年了.自从我使用它20年以来.这有什么图书馆吗?如果我自己滚动,涉及什么?
我在.NET 4.0 C#中开发.
这个问题的解决方案可能非常简单,但我不熟悉动态地与设备连接.我正在做的是我正在制作一个python可执行代码,因此用户不必在他们的计算机或任何类型的python解释器上闲置,这意味着我不知道该设备将插入哪个USB端口至.该程序需要能够打开与通过串行转换为USB转换器连接的设备的连接.如何确定哪个连接设备是打开端口的正确设备?我正在使用pySerial与设备进行交互.任何帮助将不胜感激.
有时我突然需要通过串行端口连接到设备的控制台。问题是,我从来不记得与每个特定设备一起使用的端口设置(波特率、数据位、停止位等),并且当真正需要时,文档似乎永远不会随处可见。
我编写了一个 Python 脚本,它使用简单的暴力方法(即迭代所有可能的设置,发送一些测试输入并显示响应,以便人们决定它是否有意义),但是:
所以问题是:有谁知道自动检测远程设备正在使用哪些端口设置的程序?
我买了一台通过USB连接电脑的设备.我即将使用Matlab对此设备进行编程.我希望我的计算机能够在通信端口中看到此设备(连接时),而不是USB设备.设备管理器将其视为带有USBasp驱动程序的"libusb".
我想要的是将其连接转换为COM端口,以便在我的程序中我可以轻松地声明连接设备的COM端口然后我可以在其上写入/读取数据.
我正在使用while循环读取串行数据.但是,我无法控制采样率.
代码本身似乎需要花费0.2秒才能运行,所以我知道我将无法以更快的速度运行.但我希望能够准确控制我采样的速度.
我觉得我可以使用'sleep'来做到这一点,但问题是有可能在不同的点上循环本身需要更长的时间来读取(取决于通过串行数据传输的精确内容),所以代码会有弥补平衡.
例如,假设我想每1秒采样一次,并且循环需要0.2s到0.3s才能运行.我的代码需要足够智能才能睡眠0.8秒(如果循环需要0.2秒)或0.7秒(如果循环需要0.3秒).
import serial
import csv
import time
#open serial stream
while True:
#read and print a line
sample_value=ser.readline()
sample_time=time.time()-zero
sample_line=str(sample_time)+','+str(sample_value)
outfile.write(sample_line)
print 'time: ',sample_time,', value: ',sample_value
Run Code Online (Sandbox Code Playgroud) Windows Phone 8是否支持串行通信?
我正在研究我的毕业设计.我打算用手机通过串口与RFID设备通信.
我得到三个解决方案.
就个人而言,我更喜欢2.但我不确定Windows Phone是否支持串行通信.如果没有,有什么解决方案吗?
我向串口发送0xFF
结果我看到 0x3F。
所有其他字节都是正确的。
情况是这样的……
外部盒将这些字节发送到 PC...
0xFF、0x0D、0x00、0x30、0x31、0x53、0x55、0x43、0x43、0x45、0x53、0x53
C# 在缓冲区中生成这个...
0x3F、0x0D、0x00、0x30、0x31、0x53、0x55、0x43、0x43、0x45、0x53、0x53
第一个字节缺少前两位。有没有人见过这个 ?
如果这里有一篇文章解释了发生了什么,更重要的是为什么,甚至最重要的是如何解决它,请指出我。谢谢。
这是代码;我希望我已经了解了 StackOverFlow 系统;我仍然是这个社区的新人,我的 C# 知识大约只有 1 或 2 个月的历史。
public static void OurBackGroundSerialPortReceiver(object sender, SerialDataReceivedEventArgs e )
{
//// Item 1, tell the world, particularly the
//// chief dispatch routin, that we are receiving
aUartSemaphoreThatTells.WhatTheUartBackgroundRxIsDoing = (int)aValueWhichIndicatesThat.theUARTisReceivingData;
SerialPort CurrentPort = (SerialPort)sender; //// Int routine gave is this in the arguments
int LastByteInUartBuffer = CurrentPort.ReadBufferSize;
int TheLastByteTheBoxSent = CurrentPort.BytesToRead;
string inputData = CurrentPort.ReadExisting(); //// This is a …Run Code Online (Sandbox Code Playgroud) serial-port ×8
python ×3
c# ×2
pyserial ×2
android ×1
arduino ×1
bluetooth ×1
bouncycastle ×1
interrupt ×1
java ×1
java-me ×1
kermit ×1
linux ×1
linux-kernel ×1
matlab ×1
putty ×1
python-2.7 ×1
usb ×1
usbserial ×1
while-loop ×1