我用的就是貴公司提供的范例程序CH374EVT\PUB\EXAM\DEVICE里面的DEVICE.C文件和\CH374EVT\PUB\EXAM里面的HAL.H、HAL_BASE.C、SPI3_SW.C還有就是\CH374EVT\PUB\INC里面的CH374INC.H文件 可以進入中斷,不過進入中斷后不按照代碼運行,比如說 else if ( s & BIT_IF_TRANSFER ) { // USB傳輸完成 s = Read374Byte( REG_USB_STATUS ); 這個位置S的返回值是DC,程序下一步應該運行到控制傳輸那個CASE里面,但是直接跑到這了 Write374Byte( REG_INTER_FLAG, BIT_IF_USB_PAUSE | BIT_IF_TRANSFER ); // 清中斷標志 類似的情況還有,就是程序亂跳是怎么回事,我用的是KEIL2和3我都試過了,看了反匯編程序,就是沒有道理的亂跳,我試過把要跳轉的程序放的近點會好,但是程序這么大,不能都進啊,請各位給指點一下
查看: 2788
回復: 5
[求助]ch374與計算連接無法是別的設備
熱門產品 :
CH339: 7端口多功能USB HUB控制器芯片
s=0xDC是正確的,USB_INT_EP0_SETUP是0x0C,那么程序中s&BIT_STAT_PID_ENDP正好就是USB_INT_EP0_SETUP,是不是跟蹤錯了,還是調試器有問題?或者直接全速運行試試
全速試過了,程序跑飛,不知道咋回事,我是斷點到那里以后單步運行,看反匯編程序,匯編里就是那么寫的跳轉到不該跳轉的位置
1、全速運行,與PC連接,有沒有什么反映呢?如:提示發(fā)現(xiàn)新硬件或無法識別 2、就反映的現(xiàn)象來說,CH374產生的中斷是正確的,至于程序為什么亂跑,只能仿真跟蹤了,看看程序中各個變量、判斷條件是否正常
我就是跟蹤的,才發(fā)現(xiàn)跑到位置的區(qū)域,然后仿真器就跑飛了
我的問題解決了,是仿真器需要加一行語句才行,之前程序比較短沒事,這次長了就出問題了,謝謝各位給予的幫助
請勿發(fā)布廣告和違法內容, 代碼可以選擇編輯器代碼語言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務您
只有登錄才能回復,可以選擇微信賬號登錄