本文将带您了解关于从代码禁用pyserial中的DTR的新内容,另外,我们还将为您提供关于5行PHP代码禁用HTTP缓存、Code-Serialization:System.Web.Serializa
本文将带您了解关于从代码禁用pyserial中的DTR的新内容,另外,我们还将为您提供关于5 行 PHP 代码禁用 HTTP 缓存、Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs、com.esotericsoftware.kryo.serializers.DefaultArraySerializers.BooleanArraySerializer的实例源码、com.esotericsoftware.kryo.serializers.DefaultArraySerializers.CharArraySerializer的实例源码的实用信息。
本文目录一览:- 从代码禁用pyserial中的DTR
- 5 行 PHP 代码禁用 HTTP 缓存
- Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs
- com.esotericsoftware.kryo.serializers.DefaultArraySerializers.BooleanArraySerializer的实例源码
- com.esotericsoftware.kryo.serializers.DefaultArraySerializers.CharArraySerializer的实例源码
从代码禁用pyserial中的DTR
我正在尝试使用pyserial将数据发送到arduino。但是,当我打开COM端口时,它会将DTR设置为低电平并重置板。但是,我已经设置了arduino代码,因此必须按住两个按钮1秒钟,使其进入串行接收模式。如果可能的话,我宁愿不必在arduino引导时进行串行输入。
显然,您可以修改serialWin32.py文件,更改以下内容:
self._dtrState = win32.DTR_CONTROL_ENABLE
至:
self._dtrState = win32.DTR_CONTROL_DISABLE
但是,有什么方法可以直接在我的python脚本中直接禁用它吗?我还需要对所有系统执行此操作。我不想强迫人们仅使用此脚本来更改其基本串行配置。
串行端口如下打开:
com = serial.Serial(port,baud,timeout=1);
更新:
最后,我找到了一种适用于我的设置的解决方案。因为我不需要一直都做串行数据,所以只有当我将设备置于串行接收模式时,我才找到了一种从arduino本身禁用串行连接重置的方法。
许多帖子说,可以通过在5V和复位之间放置一个〜100
Ohm电阻来禁用DTR复位。但是我不希望这成为永久的事情。因此,我在PD5和复位之间放置了一个电阻。然后,在软件中:
void setup() {
//.......
DDRD &= ~(_BV(PD5)); //Set PD5 as input initially
PORTD |= (_BV(PD5)); //Set high
//.......
}
inline void setResetDisable(bool state)
{
if(state)
DDRD |= (_BV(PD5)); //Set PD5 as output to put 5V on reset line
else
DDRD &= ~(_BV(PD5)); //set back to input mode
}
所以现在,当我想进入串行模式时,我调用setResetDisable(true),该电阻在100欧姆电阻和复位引脚上抛出5V电压,从而防止DTR将其拉低并复位芯片:)然后我只调用setResetDisable(false
),当我退出串行模式时,可以正常编程该芯片。
5 行 PHP 代码禁用 HTTP 缓存
header("Content-Type: application/json");
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs
ylbtech-Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs |
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization; //引用序列化类库
public partial class _Default : System.Web.UI.Page
{
/// <summary>
/// 应对 Json.NET 使用序列化和反序列化。 为启用 AJAX 的应用程序提供序列化和反序列化功能。
/// ByYlbtech
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
var RegisteredUsers = new List<Person>();
RegisteredUsers.Add(new Person() { PersonID = 1, Name = "Bryon Hetrick", Registered = true });
RegisteredUsers.Add(new Person() { PersonID = 2, Name = "Nicole Wilcox", Registered = true });
RegisteredUsers.Add(new Person() { PersonID = 3, Name = "Adrian Martinson", Registered = false });
RegisteredUsers.Add(new Person() { PersonID = 4, Name = "Nora Osborn", Registered = false });
// 1、创建JavaScriptSerializer
var serializer = new JavaScriptSerializer();
// 2、序列化
// 将对象转换为 JSON 字符串
var serializedResult = serializer.Serialize(RegisteredUsers);
// Produces string value of:
// [
// {"PersonID":1,"Name":"Bryon Hetrick","Registered":true},
// {"PersonID":2,"Name":"Nicole Wilcox","Registered":true},
// {"PersonID":3,"Name":"Adrian Martinson","Registered":false},
// {"PersonID":4,"Name":"Nora Osborn","Registered":false}
// ]
// 3、反序列化
// 将指定的 JSON 字符串转换为 T 类型的对象
var deserializedResult = serializer.Deserialize<List<Person>>(serializedResult);
// Produces List with 4 Person objects
}
/// <summary>
/// Person实体类
/// </summary>
public class Person {
/// <summary>
/// 编号【PK】
/// </summary>
public int PersonID { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 是否注册
/// </summary>
public bool Registered { get; set; }
}
}

出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
com.esotericsoftware.kryo.serializers.DefaultArraySerializers.BooleanArraySerializer的实例源码
/** @param referenceResolver May be null to disable references. */ public Kryo (ClassResolver classResolver,ReferenceResolver referenceResolver,StreamFactory streamFactory) { if (classResolver == null) throw new IllegalArgumentException("classResolver cannot be null."); this.classResolver = classResolver; classResolver.setKryo(this); this.streamFactory = streamFactory; streamFactory.setKryo(this); this.referenceResolver = referenceResolver; if (referenceResolver != null) { referenceResolver.setKryo(this); references = true; } addDefaultSerializer(byte[].class,ByteArraySerializer.class); addDefaultSerializer(char[].class,ChararraySerializer.class); addDefaultSerializer(short[].class,ShortArraySerializer.class); addDefaultSerializer(int[].class,IntArraySerializer.class); addDefaultSerializer(long[].class,LongArraySerializer.class); addDefaultSerializer(float[].class,FloatArraySerializer.class); addDefaultSerializer(double[].class,DoubleArraySerializer.class); addDefaultSerializer(boolean[].class,BooleanArraySerializer.class); addDefaultSerializer(String[].class,StringArraySerializer.class); addDefaultSerializer(Object[].class,ObjectArraySerializer.class); addDefaultSerializer(KryoSerializable.class,KryoSerializableSerializer.class); addDefaultSerializer(BigInteger.class,BigIntegerSerializer.class); addDefaultSerializer(BigDecimal.class,BigDecimalSerializer.class); addDefaultSerializer(Class.class,ClassSerializer.class); addDefaultSerializer(Date.class,DateSerializer.class); addDefaultSerializer(Enum.class,EnumSerializer.class); addDefaultSerializer(EnumSet.class,EnumSetSerializer.class); addDefaultSerializer(Currency.class,CurrencySerializer.class); addDefaultSerializer(StringBuffer.class,StringBufferSerializer.class); addDefaultSerializer(StringBuilder.class,StringBuilderSerializer.class); addDefaultSerializer(Collections.EMPTY_LIST.getClass(),CollectionsEmptyListSerializer.class); addDefaultSerializer(Collections.EMPTY_MAP.getClass(),CollectionsEmptyMapSerializer.class); addDefaultSerializer(Collections.EMPTY_SET.getClass(),CollectionsEmptySetSerializer.class); addDefaultSerializer(Collections.singletonList(null).getClass(),CollectionsSingletonListSerializer.class); addDefaultSerializer(Collections.singletonMap(null,null).getClass(),CollectionsSingletonMapSerializer.class); addDefaultSerializer(Collections.singleton(null).getClass(),CollectionsSingletonSetSerializer.class); addDefaultSerializer(TreeSet.class,TreeSetSerializer.class); addDefaultSerializer(Collection.class,CollectionSerializer.class); addDefaultSerializer(TreeMap.class,TreeMapSerializer.class); addDefaultSerializer(Map.class,MapSerializer.class); addDefaultSerializer(TimeZone.class,TimeZoneserializer.class); addDefaultSerializer(Calendar.class,CalendarSerializer.class); addDefaultSerializer(Locale.class,LocaleSerializer.class); lowPriorityDefaultSerializerCount = defaultSerializers.size(); // Primitives and string. Primitive wrappers automatically use the same registration as primitives. register(int.class,new IntSerializer()); register(String.class,new StringSerializer()); register(float.class,new FloatSerializer()); register(boolean.class,new BooleanSerializer()); register(byte.class,new ByteSerializer()); register(char.class,new CharSerializer()); register(short.class,new ShortSerializer()); register(long.class,new LongSerializer()); register(double.class,new DoubleSerializer()); register(void.class,new VoidSerializer()); // Lambdas support // Enable only if JVM supports it try { String version = System.getProperty("java.version"); char minor = version.charat(2); if (minor >= '8') { register(Class.forName("java.lang.invoke.SerializedLambda")); register(Closure.class,(Serializer)Class.forName("com.esotericsoftware.kryo.serializers.ClosureSerializer") .newInstance()); } } catch (Exception e) { Log.trace("Serialization of Java8 lambdas is not available on this system."); } }
/** @param referenceResolver May be null to disable references. */ public Kryo (ClassResolver classResolver,new VoidSerializer()); }
/** @param referenceResolver May be null to disable references. */ public Kryo (ClassResolver classResolver,(Serializer)Class.forName("com.esotericsoftware.kryo.serializers.ClosureSerializer") .newInstance()); } } catch (Exception e) { Log.trace("Serialization of Java8 lambdas is not available on this system."); } }
/** @param referenceResolver May be null to disable references. */ public Kryo (ClassResolver classResolver,ObjectArraySerializer.class); addDefaultSerializer(BigInteger.class,CollectionsSingletonSetSerializer.class); addDefaultSerializer(Collection.class,MapSerializer.class); addDefaultSerializer(KryoSerializable.class,KryoSerializableSerializer.class); addDefaultSerializer(TimeZone.class,CalendarSerializer.class); lowPriorityDefaultSerializerCount = defaultSerializers.size(); // Primitives and string. Primitive wrappers automatically use the same registration as primitives. register(int.class,new DoubleSerializer()); }
com.esotericsoftware.kryo.serializers.DefaultArraySerializers.CharArraySerializer的实例源码
/** @param referenceResolver May be null to disable references. */ public Kryo (ClassResolver classResolver,ReferenceResolver referenceResolver,StreamFactory streamFactory) { if (classResolver == null) throw new IllegalArgumentException("classResolver cannot be null."); this.classResolver = classResolver; classResolver.setKryo(this); this.streamFactory = streamFactory; streamFactory.setKryo(this); this.referenceResolver = referenceResolver; if (referenceResolver != null) { referenceResolver.setKryo(this); references = true; } addDefaultSerializer(byte[].class,ByteArraySerializer.class); addDefaultSerializer(char[].class,ChararraySerializer.class); addDefaultSerializer(short[].class,ShortArraySerializer.class); addDefaultSerializer(int[].class,IntArraySerializer.class); addDefaultSerializer(long[].class,LongArraySerializer.class); addDefaultSerializer(float[].class,FloatArraySerializer.class); addDefaultSerializer(double[].class,DoubleArraySerializer.class); addDefaultSerializer(boolean[].class,BooleanArraySerializer.class); addDefaultSerializer(String[].class,StringArraySerializer.class); addDefaultSerializer(Object[].class,ObjectArraySerializer.class); addDefaultSerializer(KryoSerializable.class,KryoSerializableSerializer.class); addDefaultSerializer(BigInteger.class,BigIntegerSerializer.class); addDefaultSerializer(BigDecimal.class,BigDecimalSerializer.class); addDefaultSerializer(Class.class,ClassSerializer.class); addDefaultSerializer(Date.class,DateSerializer.class); addDefaultSerializer(Enum.class,EnumSerializer.class); addDefaultSerializer(EnumSet.class,EnumSetSerializer.class); addDefaultSerializer(Currency.class,CurrencySerializer.class); addDefaultSerializer(StringBuffer.class,StringBufferSerializer.class); addDefaultSerializer(StringBuilder.class,StringBuilderSerializer.class); addDefaultSerializer(Collections.EMPTY_LIST.getClass(),CollectionsEmptyListSerializer.class); addDefaultSerializer(Collections.EMPTY_MAP.getClass(),CollectionsEmptyMapSerializer.class); addDefaultSerializer(Collections.EMPTY_SET.getClass(),CollectionsEmptySetSerializer.class); addDefaultSerializer(Collections.singletonList(null).getClass(),CollectionsSingletonListSerializer.class); addDefaultSerializer(Collections.singletonMap(null,null).getClass(),CollectionsSingletonMapSerializer.class); addDefaultSerializer(Collections.singleton(null).getClass(),CollectionsSingletonSetSerializer.class); addDefaultSerializer(TreeSet.class,TreeSetSerializer.class); addDefaultSerializer(Collection.class,CollectionSerializer.class); addDefaultSerializer(TreeMap.class,TreeMapSerializer.class); addDefaultSerializer(Map.class,MapSerializer.class); addDefaultSerializer(TimeZone.class,TimeZoneserializer.class); addDefaultSerializer(Calendar.class,CalendarSerializer.class); addDefaultSerializer(Locale.class,LocaleSerializer.class); lowPriorityDefaultSerializerCount = defaultSerializers.size(); // Primitives and string. Primitive wrappers automatically use the same registration as primitives. register(int.class,new IntSerializer()); register(String.class,new StringSerializer()); register(float.class,new FloatSerializer()); register(boolean.class,new BooleanSerializer()); register(byte.class,new ByteSerializer()); register(char.class,new CharSerializer()); register(short.class,new ShortSerializer()); register(long.class,new LongSerializer()); register(double.class,new DoubleSerializer()); register(void.class,new VoidSerializer()); // Lambdas support // Enable only if JVM supports it try { String version = System.getProperty("java.version"); char minor = version.charat(2); if (minor >= '8') { register(Class.forName("java.lang.invoke.SerializedLambda")); register(Closure.class,(Serializer)Class.forName("com.esotericsoftware.kryo.serializers.ClosureSerializer") .newInstance()); } } catch (Exception e) { Log.trace("Serialization of Java8 lambdas is not available on this system."); } }
/** @param referenceResolver May be null to disable references. */ public Kryo (ClassResolver classResolver,new VoidSerializer()); }
/** @param referenceResolver May be null to disable references. */ public Kryo (ClassResolver classResolver,(Serializer)Class.forName("com.esotericsoftware.kryo.serializers.ClosureSerializer") .newInstance()); } } catch (Exception e) { Log.trace("Serialization of Java8 lambdas is not available on this system."); } }
/** @param referenceResolver May be null to disable references. */ public Kryo (ClassResolver classResolver,ObjectArraySerializer.class); addDefaultSerializer(BigInteger.class,CollectionsSingletonSetSerializer.class); addDefaultSerializer(Collection.class,MapSerializer.class); addDefaultSerializer(KryoSerializable.class,KryoSerializableSerializer.class); addDefaultSerializer(TimeZone.class,CalendarSerializer.class); lowPriorityDefaultSerializerCount = defaultSerializers.size(); // Primitives and string. Primitive wrappers automatically use the same registration as primitives. register(int.class,new DoubleSerializer()); }
关于从代码禁用pyserial中的DTR的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于5 行 PHP 代码禁用 HTTP 缓存、Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs、com.esotericsoftware.kryo.serializers.DefaultArraySerializers.BooleanArraySerializer的实例源码、com.esotericsoftware.kryo.serializers.DefaultArraySerializers.CharArraySerializer的实例源码的相关知识,请在本站寻找。
本文标签: