PARALLEL这个例子程序。
并口+中断 和并口+查询这两个有什么区别,这个模块是查询还是中断,什么是查询方式什么是中断方式?
单片机向模块发起操作,模块完成后会产生中断,单片机可以通过中断或查询中断来处理模块的中断请求,模块本身不存在查询和中断,对比一下PARA_INT和PARALLEL中的ExecCommandBuf就明白了
这两种方式那就是有软件来决定是吧?
ExecCommandBuf这个函数我可以直接用是吗,直接复制过来就行吗?
是由用户根据自己的需要来决定,直接用整个例程就可以了,把其中的硬件接口部分按实际的硬件连接修改即可,建议您先把我们的例程理解清楚后,再自行修改
我现在用这个模块标准版模块(421S+375)工作在串口三线制方式下,硬件上不接STA线可以吗,不接的话好像是需要在发送命令之前发送两字节的同步信号的。是吗?
可以不接,不接的话是三线串口方式,需要发送同步信号来进行同步。
我用的你们的例程,unsigned char ExecCommandBuf( unsigned char cmd, unsigned char len, unsigned char xdata *bufstart )这个函数和unsigned char ExecCommand( unsigned char cmd, unsigned char len )这个函数直接复制的, do { ExecCommand( CMD_QueryStatus, 0); // 查询当前模块的状态 if ( mCmdParam.Status.mDiskStatus >= DISK_CONNECT ) // #define DISK_CONNECT 0x02 磁盘已经连接,但是尚未初始化或者无法识别该磁盘 { break; // Delay1ms(200); } // U盘已经连接 // Delay1ms(200); }while (KEYNO != CANCELNO); // Delay1ms(100); if (KEYNO != CANCELNO) { for (i=0; i<5; i++) { Delay1ms( 50 ); if (ExecCommand( CMD_DiskReady, 0 )==ERR_SUCCESS) //#define CMD_DiskReady 0x71 查询磁盘是否准备好 { i=5; // 查询磁盘是否准备好 usb_flg=1; } } 我用这段程序来检测U盘,可是插上U盘检测不到呀?怎么回事?
首先我们的模块默认的波特率是4800,这样的话你的单片机的波特率也应该为4800,否则会通信不起来的,其次就是串口线为交叉线,同时还需要给模块供5V的电,同时如果是标准版模块的话,还需要在计算机上面使用CH37XDL这个软件来配置下模块,把模块配置成三线异步串口。
波特率从哪里体现?串口线为交叉线是什么意思?5V电压有了,那个小红灯已经亮了。请指导。
要使用贵公司这个模块还需要改你们的这个硬件吗?麻烦您可以给详细的说一下吗,谢谢
这个模块上就有一个USB口和一个16针的插口呀,没别的了呀。
我用的单片机是51单片机,飞利浦的P89C669单片机。
通过USB口连接计算机,在连接计算机前不给模块供电,然后把J1跳线短接,同时USB口接到计算机上面去,接上去之后把J1跳线移除。到公司网站上面的在线下载里面去下载CH375HMU。ZIP,里面有模块下载工具CH37XDL以及下载驱动程序CH372DRV。使用这个工具来配置模块就可以了。具体配置方式请参考CH375HM。PDF文档