430全速运行出错

[复制链接]
3473|12
 楼主| jiaxw 发表于 2011-6-29 00:07 | 显示全部楼层 |阅读模式
本帖最后由 永远的不知 于 2011-9-28 16:17 编辑

把程序下载进单片机后进行硬件仿真,单步执行数据没问题,可是进行全速运行的时候数据输出就有问题了。
spark周 发表于 2011-6-29 00:10 | 显示全部楼层
能说说有什么特殊之处吗?
 楼主| jiaxw 发表于 2011-6-29 02:43 | 显示全部楼层
在程序中我用的是SPI口的读写程序,通过SPI协议对外设进行读写
 楼主| jiaxw 发表于 2011-6-29 02:45 | 显示全部楼层
特别当读的时候,把接收寄存器TXBUF赋值给一个变量的时候,不能正确赋值。
shimx 发表于 2011-6-29 08:57 | 显示全部楼层
估计是你程序写的时序的问题
五谷道场 发表于 2011-6-29 09:01 | 显示全部楼层
接受缓存是RXBUF吧?
五谷道场 发表于 2011-6-29 09:02 | 显示全部楼层
先把RXBUF赋值给通用寄存器Rxx看看。
午夜粪车 发表于 2011-6-29 09:09 | 显示全部楼层
如果全速运行出问题,试试在MCU与外设的通信程序语句中添加NOP。
Peter_zb 发表于 2011-6-29 09:15 | 显示全部楼层
好好检查下程序,特别是时序
 楼主| jiaxw 发表于 2011-6-29 09:27 | 显示全部楼层
好的,多谢啦
GONGHCU 发表于 2011-9-28 16:12 | 显示全部楼层
单步运行程序,程序是一条指令一条指令运行的(即一步一步跟踪程序执行的流程),结果运行指令速度等各方面受影响不是很大。但是全速运行的时候,时序的正确与否就很重要了。市面上有些仪器是专门跟踪时序波形的,与系统连接就可对比仪器上的时序波形与手册所附带的时序波形了。
21ID 发表于 2011-9-28 18:02 | 显示全部楼层
一般是时序问题吧,单步时的时序不能代表你全速运行时的时序
lilihua0721 发表于 2011-9-28 21:30 | 显示全部楼层
感觉是时序有问题,拿示波器检测下自己发是数据,然后对照SPI时序就很快能查出问题所在的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

825

主题

9762

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部