USB HOST回调函数与设备操作详解

需积分: 45 28 下载量 114 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
本资源主要关注于LPC178x系列微控制器的USB Host功能实现,特别是与设备通信的相关部分。首先,章节介绍了一组USB接口相关的回调函数,包括枚举成功回调(usbEnumSucessCallBack)和设备断开连接回调(usbDevDisconCallBack)。在这些回调函数中,程序通过USBDEBUG_SENDSTR发送特定消息,用于指示USB枚举过程的状态或设备连接状态。 核心内容是初始化USB HOST函数(usbHostTestInit),该函数设置了USB中断优先级,开启相关中断,然后调用usbHostInitialize函数进行主机端的初始化。这个过程非常重要,因为它确保了USB设备能够被正确识别和管理。如果初始化失败,函数会输出错误信息并进入无限循环。 接着,资源转向大容量类设备的数据传输操作,重点是usbHostTest()函数。在这个函数中,开发者进行了读写操作,包括向设备写入数据,随后从设备读取数据,并对读取的数据进行校验,以确保数据传输的准确性和完整性。这展示了在实际应用中如何与外设交互,执行基本的文件操作,常用于存储设备的管理和数据交换。 此外,资源还提到了E2PROM存储器和外部存储器控制器(EMC)这两个关键硬件组件。E2PROM是一种非易失性存储器,用于存储固件、配置信息等,而EMC则负责管理这些外部存储设备的访问。了解这些模块的工作原理和操作方法对于有效管理USB设备的内存至关重要。 这份资源深入浅出地介绍了LPC178x平台上的USB Host功能开发,涵盖了从接口回调到数据传输,以及底层硬件控制的相关知识,对于从事嵌入式系统开发,尤其是处理USB设备的工程师具有很高的实用价值。

class BlogLogin: url = “” driver = “” def __init__(self): chrome_driver_path = "C:/Users/hyl18/AppData/Local/Google/Chrome/Application/chromedriver.exe" chrome_options = Options() chrome_options.add_argument("--remote-allow-origins=*") # 3. 创建 WebDriver 对象 # self.driver = webdriver.Chrome(service=Service(chrome_driver_path), options=chrome_options) self.url = "https://www.csdn.net/" self.driver = BlogDriver.driver self.driver.get(self.url) #成功登录的测试用例 def LoginSucTest(self): self.driver.find_element(By.CSS_SELECTOR, "#csdn-toolbar > div > div > div.toolbar-container-right > div > div.toolbar-btn.toolbar-btn-login.toolbar-btn-login-new.csdn-toolbar-fl > a").click() time.sleep(1) self.driver.find_element(By.CSS_SELECTOR, "#csdn-toolbar > div.toolbar-inside.exp3 > div > div.toolbar-container-left > ul > li:nth-child(5) > a").click() time.sleep(2) # self.driver.find_element(By.CSS_SELECTOR,"body > div > div > div > div.login-box > div.login-box-top > div > div.login-box-tabs-main > div.login-form > div:nth-child(1) > div > input").send_keys("18830883413") # time.sleep(1) # self.driver.find_element(By.CSS_SELECTOR,"body > div > div > div > div.login-box > div.login-box-top > div > div.login-box-tabs-main > div.login-form > div:nth-child(2) > div > input").send_keys("20040324Hyl.") # time.sleep(2) # self.driver.find_element(By.CSS_SELECTOR,"body > div > div > div > div.login-box > div.login-box-top > div > div.login-box-tabs-main > div.login-form > div:nth-child(4) > button").click() # time.sleep(2) self.driver.quit() #异常登录的测试用例 login = BlogLogin() login.LoginSucTest() 我在自动化测试的过程中,我想打开https://www.csdn.net/网站,然后自动点击登录,登陆后点击密码登录,我正确的复制了密码登录的SELECTOR,但是报错了,错误是:Traceback (most recent call last): File “C:\Users\hyl18\PycharmProjects\BlogAutoTest\tests\BlogLogin.py”, line 43, in <module> login.LoginSucTest() File “C:\Users\hyl18\PycharmProjects\BlogAutoTest\tests\BlogLogin.py”, line 30, in LoginSucTest self.driver.find_element(By.CSS_SELECTOR, “#csdn-toolbar > div.toolbar-inside.exp3 > div > div.toolbar-container-left > ul > li:nth-child(5) > a”).click() File “C:\Users\hyl18\PycharmProjects\BlogAutoTest.venv\lib\site-packages\selenium\webdriver\remote\webelement.py”, line 80, in click self._execute(Command.CLICK_ELEMENT) File “C:\Users\hyl18\PycharmProjects\BlogAutoTest.venv\lib\site-packages\selenium\webdriver\remote\webelement.py”, line 693, in _execute return self._parent.execute(command, params) File “C:\Users\hyl18\PycharmProjects\BlogAutoTest.venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 418, in execute self.error_handler.check_response(response) File “C:\Users\hyl18\PycharmProjects\BlogAutoTest.venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py”, line 243, in check_response raise exception_class(message, screen, stacktrace)

2025-03-09 上传