- 积分
- 75
贡献151
飞刀0 FD
注册时间2013-8-9
在线时间12 小时
扫一扫,手机访问本帖
|
①下载了最新的1.4版的SPI测试程序,发现接收函数是这样的:
void CTestSPIDlg::OnBnClickedBtnRead()
{
// TODO: Add your control notification handler code here
UpdateData(true);
ConvStringToHexData(m_SEND, 3);
ReadData(tx,3);
}
......
BOOL CTestSPIDlg::ReadData(unsigned char * tx,int n)
{
unsigned char rx[10];DWORD len=0;int ilen=0;
CString recsive;
BOOL bl=FALSE;
memset(rx,0,10);
printf("readdata\r\n");
//ilen=ReadFile(m_hSpi,rx,n,&len,NULL);//读操作
ilen=WriteFile(m_hSpi,tx,n,&len,NULL);//写操作 操作完成后tx中内容为读出内容
if(ilen>0)
{
recsive.Format ( L"rx[%x,%x,%x ] len=%d\r\n", tx[0],tx[1],tx[2],len );
m_RECEIVE.SetSel(-1, -1);
m_RECEIVE.ReplaceSel(recsive);
bl=TRUE;
}else
{
recsive.Format (L"rx[0]");
m_RECEIVE.SetSel(-1, -1);
m_RECEIVE.ReplaceSel(recsive);
bl=FALSE;
}
return bl;
}
真的看不懂为什么在接收函数里把readfile注释掉使用writefile来执行接收,是故意而为之的吗?
②我的开发板是去年较早的最先买的飞凌的210开发板,因为要使用SPI,所以询问客户,说是需要更新补丁包,然后下载了名为“ok210补丁增加4.3,ov9650,spi,can驱动”的补丁包,里面有一个名为“SPI和CAN驱动更新说明.doc”的说明文档,有关SPI的升级是这样写得:
/////////////////////////
请注意的是CAN模块本身需要接在SPI0接口上,因此CAN模块的驱动和SPI驱动是冲突的。因此请根据需要来决定更新驱动的方式。
更新SPI驱动
文件新建和替换:
文件 文件夹 文件名 路径
√ SPI WINCE600\PLATFORM\SMDKV210\SRC\DRIVERS
注意 请确保工程文件已包含SPI工程,已确保该工程能够被正确编译。
文件 文件夹 文件名 路径
√ spi.dll WINCE600\PLATFORM\SMDKV210\target\ARMV4I\retail
platform.bib文件
文件名 文件路径 复制参数 复制参数
spi.dll $(_FLATRELEASEDIR)\spi.dll NK SHMK
platform.reg文件
进行上述更新后,重新编译操作系统即可生成需要的包含SPI驱动的镜像文件
////////////////
请问具体该怎么操作?补丁包里面没有SPI文件夹让我去替换啊,还有spi.dll、platform.bib和platform.reg到底该怎么操作啊?
当初是听着同事和以前同学的口碑推荐来选的飞凌的,还给以前实验室的老师推荐了买了几套,结果现在还是没有结果,现在SPI不开源就不开源吧,能用就行了,但是能不能也和以前6410一样用心一点啊!说明文档看不太懂,测试程序的接收使用writefile,而程序还显示着好像有接收到数据,还有当初产品宣传网页的一大堆视频介绍就出了20讲剩下也就没有动静了,让人不得不觉得有糊弄之嫌。希望真的能对得起大家的信任和选择。
|
|