- 打卡等级:常住居民III
- 打卡总天数:122
- 最近打卡:2025-05-02 22:37:46
已绑定手机
中级会员
- 积分
- 496
|
使用屠龙刀核心板 + 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接口仿真没做好??
|
|