完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
你好,
我设计了一块带有CY7C65211的电路板,并尝试使用 Linux ttyACM 驱动程序,但没有成功(我无法使用 GPIO,串行接口按预期运行)。 因此,我正在尝试使用赛普拉斯 SDK,但我不明白这个库到底是如何工作的。 例如,我写了这样一段代码: #include #include #include #include #include "CyUSBSerial.h"intmain(){ bool found; uint8_t i; uint8_t j; uint8_t i_device; uint8_t i_interface; uint8_t n_devices; int ios; CY_DEVICE_INFO device_info; CY_HANDLE handle; printf("Interface série pour compteur de foudrenn"); if (CyLibraryInit() != CY_SUCCESS) { fprintf(stderr, "CyLibraryInit failuren"); return(EXIT_FAILURE); } if (CyGetListofDevices(&n_devices) != CY_SUCCESS) { fprintf(stderr, "CyGetListofDevices failuren"); return(EXIT_FAILURE); } printf("Nombre de périphériques utilisables : %dn", n_devices); i_interface = 0; i_device = 0; found = false; for(i = 0; i < n_devices; i++) { CyGetDeviceInfo(i, &device_info); printf("Indice : %03d, id : %04X:%04X", i, device_info.vidPid.pid, device_info.vidPid.vid); if ((device_info.vidPid.pid == 0x0002) && (device_info.vidPid.vid == 0x04B4)) { for(j = 0; j < device_info.numInterfaces; j++) { printf(" %d=>%d/%02X", j, device_info.deviceType[j], device_info.deviceClass[j]); if (device_info.deviceClass[j] == 0x02) { i_interface = j; } } i_device = i; printf(" *"); found = true; } printf("n"); } if (!found) { printf("Aucun périphérique utilisablen"); return(EXIT_SUCCESS); } printf("%d %dn", i_device, i_interface); if ((ios = CyOpen(i_device, i_interface, &handle)) != CY_SUCCESS) { fprintf(stderr, "CyOpen failure (%d)n", ios); return(EXIT_FAILURE); } if (CyLibraryExit() != CY_SUCCESS) { fprintf(stderr, "CyLibraryExit failuren"); return(EXIT_FAILURE); } return(EXIT_SUCCESS);} LED 输出 可使用的纸张数量 :30 Indice :000, id : 0003:1D6B Indice :001, id : 0002:1D6B Indice :002, id : 0003:1D6B Indice :003, id : 0002:1D6B Indice :004, id : 0003:1D6B Indice :005, id : 0002:1D6B Indice :006, id : 0003:1D6B Indice :007, id : 0002:1D6B Indice :008, id : 0002:1D6B Indice :009, id : 0003:1D6B Indice :010, id : 0003:1D6B Indice :011, id : 0002:1D6B Indice :012, id : 0003:1D6B Indice :013, id : 0002:1D6B Indice :014, id : 0003:1D6B Indice :015, id : 0002:1D6B Indice :016, id : 0003:1D6B Indice :017, id : 00A2:0430 Indice :018, id : C077:046D Indice :019, id : 100E:0430 Indice :020, id : 0608:05E3 Indice :021, id : C62B:046D Indice :022, id : 0608:05E3 Indice :023, id : 6015:0403 Indice :024, id : 082D:046D Indice :025, id : 7523:1A86 Indice :026, id : 2812:2109 Indice :027, id : 0002:04B4 0=>0/02 1=>0/0A 2=>5/FF * Indice :028, id : 6001:0403 Indice :029, id : 0002:1D6B 27 0 CyOpen 失败 (4) 如果我理解的话,图书馆可以找到我的 CY7C65211: Indice :027, id : 0002:04B4 0=>0/02 1=>0/0A 2=>5/FF * 它发现了三个接口:0、1 和 2,并带有以下类别:02(CDC ACM 类别)、FF(供应商特定类别)和 0A。 什么是 0A? 文件只显示 00、02、0F 和 FF。 为什么 CyOpen 返回 CY_ERROR_DRIVER_OPEN_FAILED? |
|
相关推荐
1个回答
|
|
|
针对你使用CY7C65211时遇到的问题,这里提供一个系统性解决方案: 1. 确认硬件配置
2. 驱动层调试 3. Cypress SDK开发建议 4. 编译与执行 5. 常见问题排查
建议使用逻辑分析仪或万用表监测GPIO电平变化,同时可通过 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2370 浏览 0 评论
1426 浏览 0 评论
1877 浏览 0 评论
CYUSB3014烧录失败Cypress Benicia USB Boot Device
7870 浏览 1 评论
11295 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:07 , Processed in 1.012324 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
397