Hi,
使用CH341PAR_LINUX资源,使用DEMO程序中的模拟SPI功能。请问SPI的波特率怎么设置?默认状态下的速度有限,可否提高?
谢谢!
Hi,
使用CH341PAR_LINUX资源,使用DEMO程序中的模拟SPI功能。请问SPI的波特率怎么设置?默认状态下的速度有限,可否提高?
谢谢!
Hi,
使用CH341PAR_LINUX资源,使用DEMO程序中的模拟SPI功能。请问SPI的波特率怎么设置?默认状态下的速度有限,可否提高?
谢谢!
您好:
可以使用如下提供的库文件中的如下API进行SPI设置:
/*
* ********************************************************************
* FUNCTION : Set Stream Mode
* arg:
* Mode : Set Stream Mode
* -> bit0~1 : set I2C SCL rate
* --> 00 : Low Rate /20KHz
* --> 01 : Default Rate /100KHz
* --> 10 : Fast Rate /400KHz
* --> 11 : Full Rate /750KHz
* -> bit2 : set spi mode
* --> 0 : one in one out(D3 :clk/ D5 :out/ D7 :in)
* --> 1 : two in two out(D3 :clk/ D4,D5 :out/ D6,D7 :in)
* -> bit7 : set spi data mode
* --> 0 : low bit first
* --> 1 : high bit first
* other bits must keep 0
* ********************************************************************
*/
BOOL CH34xSetStream( ULONG Mode )
BOOL CH34xStreamI2C( ULONG iWriteLength, PVOID iWriteBuffer,
ULONG iReadLength, PVOID oReadBuffer ) 函数里
mWrBuf[i++] = CH341A_CMD_I2C_STREAM;
if(( StreamMode & 0x03 ) == 0 )
{
mWrBuf[i++] = CH341A_CMD_I2C_STM_US | 10;
mWrBuf[i++] = CH341A_CMD_I2C_STM_US | 10;
}
这里有个调整I2C为低速的地方,但是其它高速、中速调整没有语句体现?
另外需用的是SPI,则调用 :
BOOL CH34xStreamSPIx( ULONG iChipselect, ULONG iLength,
PVOID ioBuffer, PVOID ioBuffer2 )
但是这个函数中没有发现类似( StreamMode & 0x03 )的设置速度的语句
BOOL CH34xStreamI2C( ULONG iWriteLength, PVOID iWriteBuffer,
ULONG iReadLength, PVOID oReadBuffer ) 函数里
mWrBuf[i++] = CH341A_CMD_I2C_STREAM;
if(( StreamMode & 0x03 ) == 0 )
{
mWrBuf[i++] = CH341A_CMD_I2C_STM_US | 10;
mWrBuf[i++] = CH341A_CMD_I2C_STM_US | 10;
}
这里有个调整I2C为低速的地方,但是其它高速、中速调整没有语句体现?
另外需用的是SPI,则调用 :
BOOL CH34xStreamSPIx( ULONG iChipselect, ULONG iLength,
PVOID ioBuffer, PVOID ioBuffer2 )
但是这个函数中没有发现类似( StreamMode & 0x03 )的设置速度的语句
您好:
需要把库中的如下CH34xSetStream API用下面代码定义进行替换即可:
BOOL CH34xSetStream( ULONG Mode )
{
UCHAR mBuffer[CH341_PACKET_LENGTH];
ULONG mLength;
if( VenIC < 0x20 )
return false;
StreamMode = (UCHAR)( Mode & 0x8F );
mBuffer[0] = CH341A_CMD_I2C_STREAM;
mBuffer[1] = (UCHAR)(CH341A_CMD_I2C_STM_SET | StreamMode & 0x0F);
mBuffer[2] = CH341A_CMD_I2C_STM_END;
mLength = 3;
if( CH34xWriteData( mBuffer, &mLength ))
{
if( mLength >= 2 )
return true;
}
return false;
}
SPI默认速度不可调,约56KB/s,如果需要修改速度,需要方案定制。
哪位大侠可以发一下CH341 usb2spi驱动API和测试案例给我?
最近在设计一个VS烧录SPIFLash的小软件
Q:931500274
有能在WINDOWS上运行的 USB转SPI调试助手吗
您好,麻烦发邮件至tech@wch.cn获取资料。