查看: 2259|回复: 4

[求助] KE04单片机GPIO置位和清零速度很慢的问题请教

[复制链接]

该用户从未签到

2

主题

3

帖子

0

新手上路

Rank: 1

积分
22
最后登录
1970-1-1
发表于 2016-3-15 11:42:56 | 显示全部楼层 |阅读模式
我最近使用KE04的芯片模拟I2C的时序,发现使用GPIO_PTA3引脚模拟时钟信号,发现这两条语句:                GPIO_PinSet(GPIO_PTA3);
                GPIO_PinClear(GPIO_PTA3);
执行的时间需要1.6us-1.7us,很慢啊,请教一下有没有解决的办法吗?

我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2016-3-15 13:43:45 | 显示全部楼层
建议使用Fast GPIO寄存器进行操作,会缩短操作周期。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

3

帖子

0

新手上路

Rank: 1

积分
22
最后登录
1970-1-1
 楼主| 发表于 2016-3-15 16:21:53 | 显示全部楼层
我使用FGPIO的功能,一条置位指令的时间大约250ns,也不小呢,5个时钟周期呢
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2016-3-16 09:25:57 | 显示全部楼层
海宁-350565 发表于 2016-3-15 16:21
我使用FGPIO的功能,一条置位指令的时间大约250ns,也不小呢,5个时钟周期呢 ...

你可以看看C语言函数对应的汇编代码,然后可以试着直接读写FGPIO寄存器看能不能简化汇编代码。
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

199

帖子

2

中级会员

Rank: 3Rank: 3

积分
443
最后登录
2019-12-24
发表于 2016-3-16 16:22:03 | 显示全部楼层
海宁-350565 发表于 2016-3-15 16:21
我使用FGPIO的功能,一条置位指令的时间大约250ns,也不小呢,5个时钟周期呢 ...

32位机的寄存器远多于8位的,5个时钟周期很正常,楼主嫌慢可以换个S08芯片试试。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 14:16 , Processed in 0.094549 second(s), 25 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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