OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6996|回复: 5

关于高速GPIO输出的问题

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-9-2
在线时间
1 小时
发表于 2014-9-2 09:40:47 | 显示全部楼层 |阅读模式
5金钱
GPIO端口配置寄存器中有一个输出模式的配置:
MODEy[1:0]:端口x的模式位(y = 8…15) (Port x mode bits)  位9:28 
软件通过这些位配置相应的I/O端口,请参考表17端口位配置表。 
00:输入模式(复位后的状态) 
01:输出模式,最大速度10MHz 
10:输出模式,最大速度2MHz 
11:输出模式,最大速度50MHz 

从字面上理解,其GPIO端口可以实现最高50MHZ的数字信号输出。但实际测试中发现,无论设置为何种模式,其GPIO输出速率都在3MHZ上下,没有任何变化。请问如果想输出10M的数字信号,是否有什么特殊的设置?或者是硬件设计上有什么特别需要注意的?

最佳答案

查看完整内容[请看2#楼]

從你的測試...... 我猜測, 你的問題在於你對ASM的理解出了問題, 我假設你是這樣測的 while(1){     call_gpio_h();     call_gpio_lo(); } 就上面c程式編成asm, 我假定要 10行asm, 我又假定一行asm 要 1us時間, 這要看你怎麼設定你的MCU CLK 我想講到這裡你已經明白問題點了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

234

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-8
在线时间
10 小时
发表于 2014-9-2 09:40:48 | 显示全部楼层
從你的測試......
我猜測, 你的問題在於你對ASM的理解出了問題,
我假設你是這樣測的
while(1){
    call_gpio_h();
    call_gpio_lo();
}
就上面c程式編成asm, 我假定要 10行asm, 我又假定一行asm 要 1us時間, 這要看你怎麼設定你的MCU CLK
我想講到這裡你已經明白問題點了
回复

使用道具 举报

3

主题

2177

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3321
金钱
3321
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-9-2 09:40:48 | 显示全部楼层
并不是输出50Mhz信号,而是翻转速度可以达到50M。
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-9-2
在线时间
1 小时
 楼主| 发表于 2014-9-2 15:06:13 | 显示全部楼层
我大致明白你讲的问题,你的意思是一条C语言的代码可能需要好几条汇编指令来完成,表面上看执行一条C语句,但实际上已经执行了好几条汇编的指令,已经占用了很几个时钟周期了。那请问有没有办法来评估我的C代码执行花费了多少的时钟周期?
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2014-9-2
在线时间
1 小时
 楼主| 发表于 2014-9-2 15:13:23 | 显示全部楼层
回复【2楼】溫柔一刀:
---------------------------------
我大致明白你讲的问题,你的意思是一条C语言的代码可能需要好几条汇编指令来完成,表面上看执行一条C语句,但实际上已经执行了好几条汇编的指令,已经占用了很几个时钟周期了。那请问有没有办法来评估我的C代码执行花费了多少的时钟周期?
回复

使用道具 举报

19

主题

234

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-8
在线时间
10 小时
发表于 2014-9-2 16:18:34 | 显示全部楼层
1. 你終於理解了, 一條C是會變N條ASM 
2. 可以的, 像我給的範例, 然後用示波器量, 但這樣做有何用途?   
你要準確時間HI / LO 可以用 Interrupt, 若你是想知道 system clock是跑多少? 也有副程式可以呼叫來顯示!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 23:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表