我无法让旋转编码器与AVR微控制器一起正常工作.编码器是机械ALPS编码器,我使用的是Atmega168.
澄清
我曾尝试使用外部中断来收听引脚,但看起来它太慢了.当引脚A变为高电平时,中断程序开始,然后检查引脚B是否为高电平.我们的想法是,如果引脚B变高,引脚A变高,那么它就会逆时针旋转.如果引脚B为低电平,则它按顺时针方向旋转.但似乎AVR检查引脚B需要太长时间,所以它总是读得很高.
我还尝试创建一个程序,只需阻塞直到引脚B或引脚A发生变化.但可能是旋转编码器时噪音太大,因为这也不起作用.我的最后一次尝试是有一个计时器,它将最后8个值存储在缓冲区中,并检查它是否从低到高.这也不起作用.
我已经尝试过对编码器进行范围设计,它似乎在第一个Pin的2到4ms之间使用,直到另一个Pin发生变化.
是否可以在未设置为默认播放设备的播放设备上播放声音?我需要通过多个输出设备同时播放多个文件.
有谁知道.net的解决方案?(C#)
谢谢!
你能告诉我是否有更好的方法在VHDL中编写优先级编码器而不仅仅是使用if-else语句?我的意思是,我有这个代码,它的工作原理,但它可以写得更短吗?Switch是一个std_logic_vector.
谢谢你的帮助!
shifting : PROCESS(CLK_IN, new_length_ready, switch)
VARIABLE highest_switch : INTEGER RANGE 0 TO 15 := 15;
BEGIN
-- priority encoder, changes the length of the snake track
-- ( i.e., number of leds for the snake to move )
IF switch(15) = '1' THEN
highest_switch := 15;
ELSIF switch(14) = '1' THEN
highest_switch := 14;
ELSIF switch(13) = '1' THEN
highest_switch := 13;
ELSIF switch(12) = '1' THEN
highest_switch := 12;
ELSIF switch(11) = '1' THEN
highest_switch := 11; …Run Code Online (Sandbox Code Playgroud) 当我使用mpeg4或h264编码器时,我能够使用ffmpeg 3.1.0的API成功编码图像以生成有效的AVI文件.但是,当我使用快速同步编码器(h264_qsv)时,avcodec_encode_video2会在某些时候挂起.我发现当使用1920x1080的图像时,avcodec_encode_video2很少会挂起.使用256x256图像时,该功能很可能会挂起.
我在下面创建了测试代码,演示了avcodec_encode_video2的挂起.代码将创建一个1000帧,256x256 AVI,比特率为400000.帧被简单分配,因此输出视频应该只是绿色帧.
使用Windows 7和Windows 10,使用32位或64位测试应用程序观察到该问题.
如果有人知道如何避免avcodec_encode_video2挂起,我将非常感激!在此先感谢您的任何帮助.
extern "C"
{
#ifndef __STDC_CONSTANT_MACROS
#define __STDC_CONSTANT_MACROS
#endif
#include "avcodec.h"
#include "avformat.h"
#include "swscale.h"
#include "avutil.h"
#include "imgutils.h"
#include "opt.h"
#include <rational.h>
}
#include <iostream>
// Globals
AVCodec* m_pCodec = NULL;
AVStream *m_pStream = NULL;
AVOutputFormat* m_pFormat = NULL;
AVFormatContext* m_pFormatContext = NULL;
AVCodecContext* m_pCodecContext = NULL;
AVFrame* m_pFrame = NULL;
int m_frameIndex;
// Output format
AVPixelFormat m_pixType = AV_PIX_FMT_NV12;
// Use for mpeg4
//AVPixelFormat m_pixType = AV_PIX_FMT_YUV420P;
// Output frame rate …Run Code Online (Sandbox Code Playgroud) 我正在做一个预测项目(为了好玩),基本上我从nltk中提取了男性和女性名字,将名字标记为“ male”或“ female”,然后得到每个名字的最后一个字母,最后使用不同的机器学习方法可以根据姓氏来训练和预测性别的算法。
因此,我们知道Python的sklearn不能处理分类数据,因此我使用LabelEncoder将最后一个字母转换为数值:
转换前:
name last_letter gender
0 Aamir r male
1 Aaron n male
2 Abbey y male
3 Abbie e male
4 Abbot t male
name last_letter gender
0 Abagael l female
1 Abagail l female
2 Abbe e female
3 Abbey y female
4 Abbi i female
Run Code Online (Sandbox Code Playgroud)
如果我们连接两个数据帧,则删除名称列并随机播放:
last_letter gender
0 a male
1 e female
2 g male
3 h male
4 e male
Run Code Online (Sandbox Code Playgroud)
然后我用了LabelEncoder:
from sklearn.preprocessing import LabelEncoder
label_encoder = LabelEncoder()
for …Run Code Online (Sandbox Code Playgroud) 我想将字典转换为JSON字符串,其中布尔True值转换为数字1,布尔False值转换为数字0.我正在使用一个JSONEncoder子类,但它似乎忽略了布尔...
import json
class MyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, bool):
return 1 if obj else 0
return super().default(obj)
data = { 'key-a' : 'a', 'key-true' : True, 'key-false' : False }
jsondata = json.dumps(data, cls=MyEncoder)
print(jsondata)
Run Code Online (Sandbox Code Playgroud)
我希望这是结果:
{"key-true": 1, "key-a": "a", "key-false": 0}
Run Code Online (Sandbox Code Playgroud)
但是,这就是我得到的:
{"key-true": true, "key-a": "a", "key-false": false}
Run Code Online (Sandbox Code Playgroud)
我知道我可以在传递之前以编程方式修改数据json.dumps,但是有什么办法可以通过JSONEncoder子类获得我想要的结果吗?
有人知道ScreenVideo(v1或v2)的Java视频编码器是免费的吗?我知道ffmpeg有一个C++版本,Lee Felarca在AS3中写了一个; 但我真的很想在Java中有一个.
AS3:http://www.zeropointnine.com/blog/assets_code/SimpleFlvWriter.as.txt
我一直在通过MediaCodec将视频直接渲染到我的UI中从SurfaceView获取的Surface.这非常有效.
我现在正在尝试使用MediaCodec作为编码器.作为测试,我想渲染到Surface(如上所述)并通过配置为编码器的MediaCodec的不同实例进行环回.
我看到编码器的createInputSurface()方法.我想我希望编码器创建这个表面然后让解码器MediaCodec使用它作为要绘制的表面.首先,这可能吗?
其次,我不确定如何从编码器创建的Surface创建SurfaceView.我只从SurfaceView中提取了一个Surface,而我从文档中看不到如何反向执行此操作.
我想使用gobtoencode和decodeobject,我这样做:
type transProp struct {
a []int
b []float64
}
func (p transProp) MarshalBinary() ([]byte, error) {
// A simple encoding: plain text.
var b bytes.Buffer
fmt.Fprintln(&b, p.a, p.b)
return b.Bytes(), nil
}
// UnmarshalBinary modifies the receiver so it must take a pointer receiver.
func (p *transProp) UnmarshalBinary(data []byte) error {
// A simple encoding: plain text.
b := bytes.NewBuffer(data)
_, err := fmt.Fscanln(b, &p.a, &p.b)
return err
}
func TestGobEncode(t *testing.T) { …Run Code Online (Sandbox Code Playgroud) 我有包含圆括号“例如:演示(1)”的cookie值
encoder ×10
decoder ×2
python ×2
android ×1
atmega ×1
avcodec ×1
avr ×1
c# ×1
expression ×1
ffmpeg ×1
go ×1
gob ×1
hang ×1
if-statement ×1
java ×1
javascript ×1
json ×1
label ×1
media ×1
mediacodec ×1
python-3.x ×1
red5 ×1
scikit-learn ×1
service ×1
surfaceview ×1
uri ×1
vhdl ×1