Странный 1 между байтами в Sealevel 5104E ⇐ C#

Место общения программистов C#
Anonymous
Странный 1 между байтами в Sealevel 5104E

Сообщение Anonymous »

Когда я пытаюсь отправлять информацию через устройство Seamac, что -то вдоль трубопровода добавляет один между каждым байтом информации, как видно из осциллографа. Доступ установлен на ReadWriteAccess, а CreationDisposition установлено на OpenExisting < /p>

Код: Выделить всё

        _localDeviceHandle = CreateFile(
"\\\\.\\SeaMAC" + portAddressParam, (uint)access, 0,
IntPtr.Zero, (uint)creationDisposition,
(uint)FileAttribute.Normal, IntPtr.Zero);

m_commCfg.ConfigVersion = 4;
m_commCfg.Electrical = SeaMacDevice.Electrical.EIA530;
m_commCfg.Framing = SeaMacDevice.Framing.Sdlc;
m_commCfg.PreTxDelayTime = 0;
m_commCfg.PostTxDelayTime = 0;
m_commCfg.CharacterSize = 8;
m_commCfg.StopBits = 1;
m_commCfg.Parity = 0;
m_commCfg.Loopback = false;
m_commCfg.Echo = false;
m_commCfg.MergeFrames = false;
m_commCfg.RsetSource = TimingSource.Rset;
m_commCfg.TsetSource = TimingSource.Brg;
m_commCfg.TsetFromHere = true;
m_commCfg.BitRate = 1000000;
m_commCfg.Oscillator = 2000000;
m_commCfg.BrgSourceFromRset = true;
m_commCfg.CrcPolynomial = Crc.Ccitt;
m_commCfg.CrcPresetOnes = true;
m_commCfg.IdleMode = IdleMode.ContOne;
m_commCfg.ClockEncoding = ClockEncodingMethod.None;
m_commCfg.SdlcAddressMode = AddressMode.FromAny;
m_commCfg.DpllBaseFromRset = true;
m_commCfg.SyncCharacterSize = 8;
m_commCfg.SdlcFlagsShareZero = false;
m_commCfg.PreambleLength = 0;
m_commCfg.PreamblePattern = PreamblePattern.Ones;
m_commCfg.SyncCharacter = 0x7E;

ComConfigV4 blankCfg = new ComConfigV4();
int configSize = Marshal.SizeOf(m_commCfg);
int dummy = 0;

bool bSuccess =
FileApi.DeviceIoControl(_localDeviceHandle,
Ioctls.SetComConfig,
ref m_commCfg,
configSize,
ref blankCfg,
configSize,
ref dummy,
IntPtr.Zero);
< /code>
и вот команда записи. < /p>
        count = (uint)transmitBuffer.Length;

bSuccess = FileApi.WriteFile(
_localDeviceHandle,        // returned from CreateFile()
transmitBuffer,            // will contain the received data
count,                     // number of bytes to write+
out count,                 // actual amount of data in bytes
IntPtr.Zero                // non-overlapped read
);
заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/796 ... evel-5104e

Вернуться в «C#»