完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的各位,
我正试图在Wi7x64系统下安装我的PSooPosits的UBUTART驱动程序。 不幸的是,生成的.INF文件不能被Windows识别。 有人有线索吗? 谢谢,托马斯 以上来自于百度翻译 以下为原文 Dear all, I am trying to install the USBUART driver of my PSOC project under a Win7 x64 system. Unfortunatly the generated .inf file isn't recognized by Windows.. Anyone has a clue? Thanks, Thomas |
|
相关推荐
17个回答
|
|
我还尝试了一个Wi7 32位版本,结果相同…
以上来自于百度翻译 以下为原文 I also tried a Win7 32bit version with the same result... |
|
|
|
我解决了!
PSoC上的代码有一个问题。我使全球干预太晚了。 对不起这个愚蠢的问题: 以上来自于百度翻译 以下为原文 I solved it! There was a problem with the code on the PSOC. I enabled the Global Interupts too late. Sorry for this stupid question :) |
|
|
|
哈,这是很多人在开始时犯的一个普遍错误。这并不十分明显。即使全局中断在UBFSX启动()之后启用,代码仍然有效。但是一旦启用全局中断,枚举过程就会开始。但是,如果你在等待完整性(或者要分配一个有效的配置),你可能会永远停留在那里。
以上来自于百度翻译 以下为原文 Ha, thats a common mistake many people do in the beginning. And it is not quite apparent. Even if the Global Interrupt is enabled after USBFS_Start() the code will still work. But the enumeration process will begin once you enable the global interrupt. But if you are waiting for enmureation to be complete(or for a valid configuration to be assigned), you might get stuck there forever. |
|
|
|
你好,
我现在遇到了同样的问题,我必须在哪里启用启用的GLABAL中断? 包括: 包括“Stdio.h” / /定义 定义清晰的屏幕0x0C 定义转换函数 定义Fuffer-Lyn 64 U 定义AcCl构形2V 2 定义AcCI构形3V 1 定义重新启动ADC 1 定义STX 2 定义ETX 3 定义定义ACK 6 定义空间0x20 定义打印扭矩0 定义PrtTyADC 1 /原型 INT POW10(INTX); UIT32 32 GETA ADCKVALL(空隙); 无效的打印文件(UTI8ADC); int长度(INT64 x); Globale Variablen In64 Null Punkt=0,EndoWrt=0; FLUAT64 Fe=0; 如果定义的话 /*对浮点PrTNF库**添加一个显式引用 /*允许使用浮点转换说明符。*/ /*这与NeLILB纳米库缺省没有关联。*/ ASM(“Global Apple Ptffl Flog”); 第二节 / ISRs CYSISR(SW2AISR) { UsBARTARY11PoStand(“HALO”); } CYSISR(SW3IISR) { UsBARTARY1PUTCRLFF(); } CysISR(反编译)/ /定时器 { int=0;//NutZoffer-Valube UIT32 32 ADCVAL=0; CHAR8直线加速器〔20〕; 逆1-停止(); Audio1l文字记录器(0); 清除=计数器E1l状态;/ /清除粘性COMP中断标志 PrimtToTurbQuyADC(Primtl扭矩); 计数器1x启动(); } 空主程序() { UInt16伯爵,我,J,是谁,get_stx,get_etx,count_buffer,指数; UIT32 32 TEMPUADADCVAL=0,比较=0; uint8缓冲[ buffer_len ],buffer_temp [ buffer_len ],[ endwert_ee nullpunkt_ee cydev_eeprom_row_size ],[ cydev_eeprom_row_size ]; CHAR8 OutSTR〔20〕; ReG8* RegPointer; /*启用全局中断*/ 囊状的; 反SARTEX(反编译); *用3V操作启动UBFS操作*/ UsBARTARY1LSTART(0U,UBUTARTURI 1Y3VII操作); EEPROMY1LSTART(); *等待设备枚举*/ 而(!)UsBARTARG1LGETCONTIONTION()); / *枚举,使OUT端点从主机接收数据/ * UsBARTARY1LCDCGIN(); 这是我主要的开始。你能告诉我这个地方有什么不对劲吗? 以上来自于百度翻译 以下为原文 Hi, I encounter the same problem now, where do I have to put the Enable Gloabal Interrupts? #include #include "stdio.h" //Defines #define CLEAR_SCREEN 0x0C #define CONVERT_TO_ASCII 0x30u #define BUFFER_LEN 64u #define ADC_Config_2V 2 #define ADC_Config_3V 1 #define Restart_ADC 1 #define STX 2 #define ETX 3 #define ACK 6 #define SPACE 0x20 #define PRINT_TORQUE 0 #define PRINT_ADC 1 //Prototypen int pow10(int x); uint32 get_ADC_Val(void); void Print_Torque_ADC(uint8 ADC); int length(int64 x); //Globale Variablen int64 Nullpunkt=0, Endwert=0; float64 FE=0; #if defined (__GNUC__) /* Add an explicit reference to the floating point printf library */ /* to allow the usage of floating point conversion specifiers. */ /* This is not linked in by default with the newlib-nano library. */ asm (".global _printf_float"); #endif //ISRs CY_ISR(SW2_ISR) { USBUART_1_PutString("Hallo "); } CY_ISR(SW3_ISR) { USBUART_1_PutCRLF(); } CY_ISR(Counter_Comp_ISR)//timer gesteuerter interrupt zum ausgeben der messdaten { int clear=0; //nutzloser variablenwert uint32 adcval=0; char8 lineStr[20]; Counter_1_Stop(); Counter_1_WriteCounter(0); clear=Counter_1_STATUS;//clear sticky Comp-Interrupt flag Print_Torque_ADC(PRINT_TORQUE); Counter_1_Start(); } void main() { uint16 count, i, j, wert, get_stx, get_etx ,count_buffer, Index; uint32 temp_ADC_Val=0,compare=0; uint8 buffer[BUFFER_LEN],buffer_temp[BUFFER_LEN], Nullpunkt_EE[CYDEV_EEPROM_ROW_SIZE], Endwert_EE[CYDEV_EEPROM_ROW_SIZE]; char8 outStr[20]; reg8 * RegPointer; /* Enable Global Interrupts */ CyGlobalIntEnable; CounterISR_StartEx(Counter_Comp_ISR); /* Start USBFS Operation with 3V operation */ USBUART_1_Start(0u, USBUART_1_3V_OPERATION); EEPROM_1_Start(); /* Wait for Device to enumerate */ while(!USBUART_1_GetConfiguration()); /* Enumeration is done, enable OUT endpoint for receive data from Host */ USBUART_1_CDC_Init(); this is the beginning of my main. can you tell me if there is something wrong with the place? |
|
|
|
不,这个地方还不错。但在代码中,我看不到启动实际ISR组件(SW2/SW3)的地方。当他们没有开始,他们不会被触发…
以上来自于百度翻译 以下为原文 No, this place is quite OK. But I don't see in your code the place where you start the actual ISR components (SW2 / SW3). And when they are not started, they won't get triggered... |
|
|
|
似乎是一个完整的德国帮助…
看看你所得到的警告:你不调用函数Offy1yStand,你只需将其AddiRess保存在变量清除中,从而不清除粘性中断位。只是忘了写反OS1STATUS()。 鲍勃 以上来自于百度翻译 以下为原文 Seems to be a complete german help... Look at the warnings you've got: you do not call the function Counter_1_STATUS, you just save its addreess in the variable clear thus not clearing the sticky interrupt-bit. just forgot to write Counter_1_STATUS(). Bob |
|
|
|
鲍勃:混合线程?看起来答案属于这里:HTTP://www. CyPress?APP =论坛和ID ID=2233和;RID=89319
以上来自于百度翻译 以下为原文 @bob: mixed up threads? Looks like the answer belongs to here: http://www.cypress.com/?app=forum&id=2233&rID=89319 |
|
|
|
大家好,谢谢你们的回复,
您是对的,SW2和SW3 ISRS用于调试目的。我把它们删除了,我的问题是: 我应该编写一个通过UART获取数据的代码,例如,如果我收到02P03,这个方框应该把ADC值传递给软件。 软件在Windows XP中没有问题,但是一旦软件在WIN7上运行,它甚至不接收来自软件的数据。为了调试,我使用了UBUART的示例: SeaTrf(LeNeSTR,BR:%4LD,Db:%d),UsBuTARGY1GETDTERATE(),(UTIN 16)UBUTARTUR1LGETDATABASTIOSH()); LCDI位置(0U,0U); LCDApReltStand(“”); LCDI位置(0U,0U); LCDApReltScript(LeNeSTR); SaveTFF(LeSeNeR,SB:%s,奇偶校验:%s),St[(UIT16)UBUTARTUR1LGETHARCHARATATOR()] 奇偶[ [(UTIN 16)UBUTARTY1LGETPARITY Type()] ]; LCDI位置(1U,0U); LCDApReltStand(“”); LCDI位置(1U,0U); LCDApReltScript(LeNeSTR); 通过这个活动,我可以看到PSoC从奇偶校验到奇数(软件需求)的变化,但仍然没有在缓冲区中接收到任何东西。 这是司机的问题吗?与XP相比,Win 7上的驱动程序安装速度非常慢。 以上来自于百度翻译 以下为原文 hi together and thanks for your replies, you are right the SW2 and SW3 ISRs were used for debugging purpose. I deleted them, my problem is this: im supposed to write a code that gets Data via UART for instance if i receive a 02P03 the box is supposed to transfer the ADC Value to the Software. The Software works without problems in WIndows XP but as soon as the Software runs on Win7 it doesnt even receive the Data from the Software. For Debugging I used your example for USBUART: sprintf(lineStr,"BR:%4ld,DB:%d",USBUART_1_GetDTERate(),(uint16)USBUART_1_GetDataBits()); LCD_Position(0u, 0u); LCD_PrintString(" "); LCD_Position(0u, 0u); LCD_PrintString(lineStr); sprintf(lineStr,"SB:%s,Parity:%s", stop[(uint16)USBUART_1_GetCharFormat()], parity[(uint16)USBUART_1_GetParityType()]); LCD_Position(1u, 0u); LCD_PrintString(" "); LCD_Position(1u, 0u); LCD_PrintString(lineStr); with this active I can see that the PSoC changes from parity none to odd(Software requirements) but still doesnt receive anything in the buffer. Is it the Driver the problem? The Driver installation on Win7 was very slow compared to XP as well. |
|
|
|
@
不,我的回答对这个问题是正确的,如果你查看了变量“清除”中定时器的ISR,你会发现中断位没有被重新设置。 鲍勃 以上来自于百度翻译 以下为原文 @hli, no, my answer is right for this question and if you have a look into the isr for the timer at variable "clear" you'll see that the interrupt bit is NOT resetted. Bob |
|
|
|
我已经根据你的提示修改了我的代码,
现在我使用EnEnter StReStaseRealSub();而不是It Currar=0;CueLe=反Oracle状态;它以这种方式工作良好: 以上来自于百度翻译 以下为原文 I have modified my code according to your tip, now i use Counter_1_ReadStatusRegister(); instead of int clear=0; clear=Counter_1_STATUS; it works fine this way :) |
|
|
|
很高兴在这里!
顺便问一下:你来自德国的哪一部分? 鲍勃 以上来自于百度翻译 以下为原文 Glad to here that! BTW: which part of Germany you are from? Bob |
|
|
|
我的源代码德语/英语注释如此明显吗?D
我来自埃森: 以上来自于百度翻译 以下为原文 was my source code german/english annotation so obvious? :D im from Essen :) |
|
|
|
是否可以将UBUART模块的默认奇偶设置为奇数?
我可以在哪里以及如何做到这一点? 以上来自于百度翻译 以下为原文 is it possible to set the default parity for the u***uart module to odd? and where and how can I do this? |
|
|
|
这样的设置是不可用的。它也是没有意义的,因为不涉及物理USBUART UART这样的设置可以应用。
以上来自于百度翻译 以下为原文 Such a setting is not available. It also makes no sense, since USBUART doesn't involve a physical UART where such a setting could be applied. |
|
|
|
USPUART用户模块是从PSoC到PC的USB连接。在PC端,Windows驱动程序模拟COM:端口,以便终端软件可以接管。正如你所看到的,PSoC没有“看到”类似RS232接口,可以定义奇偶校验、开始和停止。使用适当的软件,可以在PC仿真中定义奇偶校验,但这将没有意义,因为奇偶校验用于检测在这个阶段已经发生的传输中的错误。
鲍勃 PS:位于不来梅附近 以上来自于百度翻译 以下为原文 The USBUART usermodule is an USB-connection from your PSoC to your PC. On the PC-side a windows driver emulates a COM:-port so that a terminal-software can take over. As you see, the PSoC does not "see" something like an RS232 interface where parity, start and stopbits may be defined. With the appropiate software it could be possible to define a parity within the PC-emulation, but that would not make sense since parity is used to detect errors in a transmission which at this stage already has happened. Bob PS: Located near Bremen |
|
|
|
谢谢你的澄清:
这很好知道。我的问题仍然存在,司机是否有任何已知的问题?那是我现在唯一的猜测。 问候不来梅; 以上来自于百度翻译 以下为原文 Thanks for the clearification :) this is good to know. My problem still occurs, is it possible that the Drivers have any known problems? that would be my only guess right now. And greetings to Bremen ;) |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
740个成员聚集在这个小组
加入小组1989 浏览 1 评论
1749 浏览 1 评论
3529 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1680 浏览 6 评论
1457 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
241浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
147浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
337浏览 2评论
287浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
471浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-5 04:13 , Processed in 1.262538 second(s), Total 134, Slave 116 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191