P4和P7仿真键盘矩阵读端口错误
第一次使用IAP15W4K3258S4仿真,做个矩阵键盘扫描方式,用到P4、P7端口仿真时,能正常下载,运行的watch数值都是零,
直接烧写的芯片能显示数值,挂了个液晶显示数值,
判断是仿真设置的问题,不知道是否正确
在进行仿真的过程中,尤其是使用P4和P7端口进行键盘矩阵扫描时,如果数值始终为零且显示效果不稳定,可能是仿真设置或硬件连接的问题。以下是一些可能的原因及解决方法:
1. 端口连接问题
检查端口连接:确保P4和P7端口在仿真时正确连接到目标设备。请确认端口编号是否正确,以及在仿真环境中是否正确设置了端口属性(如端口类型、端口状态等)。
确认端口属性:在仿真软件(如SARSim、Synthia等)中,端口属性的设置是否正确。例如,端口是否被设置为“输入端”、“输出端”、“连接端”等。
2. 仿真软件版本
检查仿真版本:如果仿真软件版本较低,可能无法正确连接硬件或处理P4和P7端口。建议使用最新版本的仿真软件进行测试。
检查版本兼容性:如果仿真软件与目标硬件兼容性较差,可能需要检查硬件是否支持该仿真软件。
3. 硬件连接问题
确认端口连接:在仿真过程中,确保P4和P7端口在目标设备中正确连接。例如,在SARSim中,可以使用“连接”功能将P4和P7端口连接到目标设备的P4和P7端口。
检查端口状态:在仿真软件中,P4和P7端口的状态是否正确。例如,是否需要设置为“输入端”、“输出端”等。
4. 仿真设置
检查仿真参数:在仿真软件中,确保仿真参数正确。例如,是否设置为“模拟点”、“工作点”、“仿真时间”等。
检查工作点:在仿真软件中,是否正确设置工作点,以确保仿真结果与实际操作一致。
5. 硬件性能问题
检查硬件性能:如果仿真运行时间过长,可能与硬件性能有关。例如,P4和P7端口的功率、连接速度等是否会影响仿真运行。
检查电源:如果仿真过程中出现电源问题,可能会影响P4和P7端口的连接和仿真运行。
6. 烧写显示问题
检查显示设置:在烧写后,如果显示数值为零且显示效果不稳定,可能与显示设置有关。例如,是否需要设置为“双倍量程”、“三倍量程”等。
确认显示设备:在烧写后,是否正确连接显示设备到目标设备。例如,在SARSim中,是否正确设置显示设备的端口属性。
解决方法
1. 重新连接硬件:如果仿真设置或硬件连接存在问题,建议重新连接P4和P7端口。
2. 更新仿真软件:使用最新版本的仿真软件进行测试,以确保仿真版本与硬件兼容性良好。
3. 检查硬件状态:在仿真软件中,检查P4和P7端口的状态,确保它们是“工作状态”、“输入状态”等。
4. 调试仿真运行:如果仿真运行时间过长,可以尝试在仿真软件中设置“调试”功能,逐步排查问题。
以上是可能的原因,建议根据实际情况逐一排查,确保仿真设置正确,硬件连接正常,以避免数值异常或显示问题。
[本文内容由国芯人工智能辅助生成,仅供参考] https://www.stcaimcu.com/thread-16535-1-1.html
语言、汇编语言、编译器、仿真问题:
包含startup.a51时,默认会初始化data(也是idata的低128字节)为0,xdata不操作为上电随机数;不包含startup.a51时,data和xdata为上电随机数
程序只能在函数内执行,全局变量禁止在声明时赋值,赋值的语句必须在函数内,函数外的非声明语句无效
数组可以在初始化时用memset函数全部清零(或其他初始化值)
养成好习惯,函数内的局部变量也不要声明时赋值,而且必须在函数开头声明
制作完仿真芯片必须重新上电才可以正常仿真
如使用 U8W/U8W -Mini 进行仿真,需要先设置“直通模式”
工具使用说明书.pdf
仿真时注意不要勾选“当目标文件变化时自动装载并发送下载命令”,否则当重新编译后,就会正常下载一次,导致仿真程序被覆盖掉,从而无法继续仿真
仿真程序占用P3.0/P3.1口,但不占用串口1,用户程序可以将串口1切换到其它IO使用
仿真监控程序占用内部扩展RAM(XDATA)的最后768字节,程序使用XDATA+768字节不能大于芯片XDATA的容量
不能仿真时钟/复位相关的功能,例如程序里面不能修改系统时钟频率,不能开启看门狗,不能进入休眠/空闲模式
仿真通过P3.0/P3.1口与 KEIL 驱动进行通信,如P3.0/P3.1口数据受到干扰可能会导致仿真异常(如接触不良、P30/P31接了其他电路等)
单步仿真DPTR只能使用USB Link1D通过SWD仿真
使用USB或UART仿真,当停止运行用户代码时,定时器0~4会全部停止,此时和定时器相关的硬件都会停止,包括串口时钟、定时器中断、定时器时钟输出等
芯片的时钟不能在仿真时(Keil中)修改,只能在烧录时通过硬件选项设置
USB或UART仿真时,全速运行不能实时更新变量的值,因为USB或UART仿真是软件完成的,全速运行时CPU完全在执行用户程序,无法同时运行仿真程序,如此时运行仿真程序,就会影响用户程序的全速运行,所以不支持在全速运行时实时更新变量的值
这个界面关不关都不行
重新上电复位,都不能连上了
YSZDH_20240116 发表于 2025-5-22 20:28
这个界面关不关都不行
最新ISP软件:https://www.stcaimcu.com/data/download/Tools/AIapp-ISP-v6.95P.zip
如果是用U8W或U8W-MINI仿真,设置下直通模式
我用的是U8W
AIapp-ISP-v6.95M 是不是制作仿真芯片,不对呀?
页:
[1]