测试STC32G12K128芯片的USB接口仿真功能,碰到问题请解答,谢谢
使用屠龙刀核心板 + type C USB电缆 ,PC端是win7(64位)+keil C251 5.60, 使用屠龙刀例程包 01-LED 第一个例程进行USB接口的仿真测试;STC32G12K128芯片的USB接口仿真操作:
1. 制作仿真芯片
STC-ISP软件中,Keil仿真设置->单片机型号=STC32G12K128->勾选使用USB口进行仿真
->烧写操作区中选择设置用户程序运行时的IRC频率=你程序实际的频率值->将所选目标单片机设置为仿真芯片;
2. 这个过程操作完成后,必须给芯片重新上电;
3. Keil中的仿真设置
Option for Target...->Debug属性页->选择右侧的硬件仿真“Use …”->在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项
下面点击选择“Run to main()”->点击“Settings”按钮,进入接口的设置画面->选择USB接口;
4. 然后编译工程,然后在Keil软件中按“Start/Stop Debug”或者“Ctrl+F5”就可以开始仿真调试;
出现问题:
1. 单步执行时,会停滞在 “EAXFR = 1; //扩展寄存器(XFR)访问使能”;
只有进入main()时,直接Run全速执行才能越过此行操作;
2. Run全速执行时,程序会停止于 delay_ms() 函数的“while(--i); //6T per loop”,
并且此时只能单步操作;
3. 此时,再执行Run,Step Out仿真操作也无效;
4. 我更改程序编译优化级别 -0 或者 -9 之后, 重新编译烧写下载仿真程序之后, 以上3点现象依然不变
请教一下:
出现这样的问题正常吗? 是不是我的设置操作有问题? 还是STC32G12K128 芯片的USB接口仿真没做好??
STC32G12K128的USB仿真需要选择“STC Monitor-251 Drvier”驱动
正确的设置流程如下:
不好意思,我上面“STC Monitor-51 Driver”是手工输入的时候笔误了,实际就是 STC Monitor-251 Driver.
今天再按照您的示意设置重新测试了一遍,发现测试结果和我前面写的还是一模一样的.
我截图如下:
我的屠龙刀核心板的芯片是这样的,是不是和芯片批号有关系呢?
本帖最后由 机灵小老鼠 于 2023-7-17 22:46 编辑
我编译后的LED测试例程如下, 还请 zhp 抽空再帮我看看,谢谢先。
补充一下: 这个例程编译后,如果不使用USB仿真,而是直接用STC-ISP下载到芯片,流水灯操作结果是正常的;
请版主拨冗指点一下,谢谢 技术正在测试中,楼主再等等哈。 机灵小老鼠 发表于 2023-7-17 22:28
不好意思,我上面“STC Monitor-51 Driver”是手工输入的时候笔误了,实际就是 STC Monitor-251 Driver.
...
仿真时需要去掉usb部分吧
页:
[1]