完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-6 16:14 编辑
我用的芯片是TMS320F2812,外部晶振是30MHz,PLL将主频设为150MHz,时钟周期6.67ns。 interrupt void ADCINT_ISR(void) // ADC中断函数 [ GpioDataRegs.GPASET.bit.GPIOA6=1; PieCtrl.PIEACK.all=0x0001; AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; AdcRegs.ADCTRL2.bit.SOC_SEQ1=1; EINT; GpioDataRegs.GPACLEAR.bit.GPIOA6=1; ] 我用示波器查看GPIOA6脚波形是200ns,中间只有4条指令,时钟周期是6.67ns,这么会有200ns?一条指令究竟用了几个时钟周期? |
|
相关推荐
6个回答
|
|
和时钟周期能对得上的是汇编指令,C语句要看她编译成的汇编有多少条汇编,每条汇编在手册里可以查到对应的指令周期。
|
|
|
|
图中是C语言和汇编混合显示的。可以看出汇编语言很简单,不会占用太多指令周期,我也没找到这些语句所占的真正指令周期。你有这样像51单片机那样的指令周期表吗?给我发一份。wtn2786467@163.com,帮我分析一下,哪里出了问题。谢谢
|
|
|
|
pm58 发表于 2018-6-6 05:10 楼主你好!请问你使能EINT是为了中断嵌套吗? 请将EINT屏蔽掉,然后再测试。 请查看F2812芯片手册SPRS174第六章,关于GPIO timming. I/O最大翻转频率为:20MHz, 由于你是置高然后清零相当于是翻转了两次,因此为10MHz,,时间应该为100ns左右。也即时间不可能小于100ns.,这个最小时间跟CPU指令周期没有关系。 |
|
|
|
Ehunt 发表于 2018-6-6 05:26 Johnson说的有道理,如果想使用IO口反转来测指令执行周期的话,建议您使用for(;;)循环多次,来测时间取平均值; 另外比较精确的方式是使用Timer来测量。 Young Hu |
|
|
|
这要看执行的指令是在哪个地方运行的了。
|
|
|
|
在芯片的片上RAM上运行,就是配置的最高速度了,但是在Flash或是SRAM中,就会慢一些,要看你的配置了
|
|
|
|
只有小组成员才能发言,加入小组>>
309 浏览 1 评论
513 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
754 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
641 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1113 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
226浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
181浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
46浏览 13评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
149浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
158浏览 12评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 19:29 , Processed in 1.027637 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号