[国产单片机] 单片机

[复制链接]
 楼主| 阿飞507 发表于 2017-1-20 16:49 | 显示全部楼层 |阅读模式
最近搞得我很烦,调程序调了半个多月,驱动单总线的传感器,之前用stc的调过得,后来为了节省成本就打算用合泰的来试一下,于是就用了HT66F003的单片机,调程序怎么也调不出来,系统时钟用的4M的,时序也是对的,就是读不出来,搞得整个人都崩溃了,最后实在没办法,就尝试把晶振换成了8M的,时序也改了一下,测试一下,忽然调通了,真的是见鬼了。现在头都是晕的不知道什么意思?
 楼主| 阿飞507 发表于 2017-1-20 16:54 | 显示全部楼层
4M的系统时钟和8M的系统时钟的时序都是一样的,但是4M就不行
ningling_21 发表于 2017-1-20 17:47 | 显示全部楼层
阿飞507 发表于 2017-1-20 16:54
4M的系统时钟和8M的系统时钟的时序都是一样的,但是4M就不行

两者执行一条相同指令的时间不同
dirtwillfly 发表于 2017-1-20 19:00 | 显示全部楼层
调时序最好有一个逻辑分析仪,最便宜的那种就好。
这样可以观察到实际的时序。观察不到基本靠蒙
徕泽 发表于 2017-1-21 13:25 | 显示全部楼层
时序还是不一样的,用示波器抓出来看看就知道了!
zxl920211 发表于 2017-1-21 16:14 | 显示全部楼层
很明显时序不一样的
 楼主| 阿飞507 发表于 2017-1-23 16:29 | 显示全部楼层
zxl920211 发表于 2017-1-21 16:14
很明显时序不一样的

之前是4M的系统时钟,相对应一个时序,我换成了8M的,相对应时序的参数也改变,为什么说一定是时序的问题?
 楼主| 阿飞507 发表于 2017-1-23 16:30 | 显示全部楼层
徕泽 发表于 2017-1-21 13:25
时序还是不一样的,用示波器抓出来看看就知道了!

之前是4M的系统时钟,相对应一个时序,我换成了8M的,相对应时序的参数也改变了曾加了一倍,为什么说一定是时序的问题?
徕泽 发表于 2017-1-23 16:43 | 显示全部楼层
阿飞507 发表于 2017-1-23 16:30
之前是4M的系统时钟,相对应一个时序,我换成了8M的,相对应时序的参数也改变了曾加了一倍,为什么说一定 ...

抓出来比较一下,相对应参数增加一倍说明不了问题
徕泽 发表于 2017-1-23 16:47 | 显示全部楼层
我就不明白这有啥崩溃的,示波器抓出来一比较自然见分晓,波形是欺骗不了人的!
QQ178960471 发表于 2017-1-23 20:13 | 显示全部楼层
zxl920211 发表于 2017-2-5 10:59 | 显示全部楼层
阿飞507 发表于 2017-1-23 16:29
之前是4M的系统时钟,相对应一个时序,我换成了8M的,相对应时序的参数也改变,为什么说一定是时序的问题 ...

因为执行一条指令的时间不一定你换成8M就是时间乘2,具体要用示波器看,是不是和标准时序一样,一看就知道那里出问题了,所以示波器还是很重要的
chunyang 发表于 2017-2-5 11:48 | 显示全部楼层
时序对就不会出问题,用存储示波器看看便知。没有存储示波器或逻辑分析仪,可以人工对每条指令做“模拟示波”,在纸上画出波形。思维够严谨的话,无所谓什么示波器或逻辑分析仪,至少对简单时序如此。
 楼主| 阿飞507 发表于 2017-2-8 10:20 | 显示全部楼层
zxl920211 发表于 2017-2-5 10:59
因为执行一条指令的时间不一定你换成8M就是时间乘2,具体要用示波器看,是不是和标准时序一样,一看就知 ...

示波器里的呼叫信号时序是对的,波形都一样的,我换成8M的就可以前面的应答信号都是一样的
 楼主| 阿飞507 发表于 2017-2-8 15:08 | 显示全部楼层
徕泽 发表于 2017-1-23 16:47
我就不明白这有啥崩溃的,示波器抓出来一比较自然见分晓,波形是欺骗不了人的! ...

我示波器的波形其实信号8M的和4M的波形是一样,4M的时候无应答,传感器不能将IO口拉低,8M的时候就有应答。这怎么解释?
 楼主| 阿飞507 发表于 2017-2-8 15:12 | 显示全部楼层
徕泽 发表于 2017-1-23 16:47
我就不明白这有啥崩溃的,示波器抓出来一比较自然见分晓,波形是欺骗不了人的! ...

而且延时函数都是单片机的内置函数,计算指令周期的,系统时钟不一样,相对应指令周期也不一样,延时函数相对应的增加延时的指令周期的次数
 楼主| 阿飞507 发表于 2017-2-8 15:14 | 显示全部楼层
ningling_21 发表于 2017-1-20 17:47
两者执行一条相同指令的时间不同

指令时间是不一样,但是我也在相对应的延时函数里相对应的增加了指令的次数了
ningling_21 发表于 2017-2-8 15:18 | 显示全部楼层
阿飞507 发表于 2017-2-8 15:14
指令时间是不一样,但是我也在相对应的延时函数里相对应的增加了指令的次数了 ...

虽然增加了次数,但仍不满足芯片的时序要求,肯定不行
徕泽 发表于 2017-2-9 11:27 | 显示全部楼层
本帖最后由 徕泽 于 2017-2-9 11:28 编辑

徕泽 发表于 2017-2-9 11:29 | 显示全部楼层
阿飞507 发表于 2017-2-8 15:08
我示波器的波形其实信号8M的和4M的波形是一样,4M的时候无应答,传感器不能将IO口拉低,8M的时候就有应答 ...

那就用8M呗!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

222

帖子

7

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