我用的就是贵公司提供的范例程序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我都试过了,看了反汇编程序,就是没有道理的乱跳,我试过把要跳转的程序放的近点会好,但是程序这么大,不能都进啊,请各位给指点一下
查看: 2768
回复: 5
[求助]ch374与计算连接无法是别的设备
热门产品 :
CH585: 集成高速USB和NFC的蓝牙MCU
s=0xDC是正确的,USB_INT_EP0_SETUP是0x0C,那么程序中s&BIT_STAT_PID_ENDP正好就是USB_INT_EP0_SETUP,是不是跟踪错了,还是调试器有问题?或者直接全速运行试试
全速试过了,程序跑飞,不知道咋回事,我是断点到那里以后单步运行,看反汇编程序,汇编里就是那么写的跳转到不该跳转的位置
1、全速运行,与PC连接,有没有什么反映呢?如:提示发现新硬件或无法识别 2、就反映的现象来说,CH374产生的中断是正确的,至于程序为什么乱跑,只能仿真跟踪了,看看程序中各个变量、判断条件是否正常
我就是跟踪的,才发现跑到位置的区域,然后仿真器就跑飞了
我的问题解决了,是仿真器需要加一行语句才行,之前程序比较短没事,这次长了就出问题了,谢谢各位给予的帮助
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录