完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
你好,我想用最快的速度驱动简单的GPIO。
我已经初始化了设备和GPIO时钟作为: *初始化设备*/ CySysCultSysSLCK400=Cytru. 时钟配置:CPUCLKDIV=2; 时钟配置:DMACKDIV=2; 时钟配置:MMIOLCKDIV=2; CyFrase.Uestand ByCK=CyFLY; CycOrth.CKSRC= CyuU3PySysLCK; /*初始化GPIO块*/ GPIOCROC.FASTLKDIV=2; 速度慢=2; SimeDIV= CYU-U3PGGPIOSIMPLE和DIVYBYY2; CKYSRC= CYU-U3PySysLCK; 半英寸=0; 然后我尝试创建脉冲: *初始化测试引脚*/ NeGPoObjut.OutValue= CyFLY; NejgPoo构型DRLVELOVEN=Cytru. NejgPoo构型。 NeXGPIOCONtiON IMPUTEN = CyFLUE; NeGPoObjix.InMODE = CYU-U3PGPIONIONOY ITER; ApItReStase= CYU3PGPIOSETSimuleFig(Test30,and NeGGPIOCOFIG); /*循环*/ (1){ CYU3PGPIOSET值(Test30,CyFalse); CYU3PGPIOSET值(Test30,CyTrue); } 我看速度太慢了。转动频率很低。频率约为288千赫。 为什么它以低速工作?我怎样才能得到高速呢? 以上来自于百度翻译 以下为原文 Hi, I want to drive simple GPIO with max speed. I have initialized the deviceinit and GPIO clock as: /* Initialize the device */ clockConfig.setSysClk400 = CyTrue; clockConfig.cpuClkDiv = 2; clockConfig.dmaClkDiv = 2; clockConfig.mmioClkDiv = 2; clockConfig.useStandbyClk = CyFalse; clockConfig.clkSrc = CY_U3P_SYS_CLK; /* Initialize the GPIO block */ gpioClock.fastClkDiv = 2; gpioClock.slowClkDiv = 2; gpioClock.simpleDiv = CY_U3P_GPIO_SIMPLE_DIV_BY_2; gpioClock.clkSrc = CY_U3P_SYS_CLK; gpioClock.halfDiv = 0; Then I tried to create pulses: /* Initialize test pin */ newGpioConfig.outValue = CyFalse; newGpioConfig.driveLowEn = CyTrue; newGpioConfig.driveHighEn = CyTrue; newGpioConfig.inputEn = CyFalse; newGpioConfig.intrMode = CY_U3P_GPIO_NO_INTR; apiRetStatus = CyU3PGpioSetSimpleConfig(TEST_30, &newGpioConfig); /* loop */ while(1){ CyU3PGpioSetValue (TEST_30, CyFalse); CyU3PGpioSetValue (TEST_30, CyTrue); } I see that speed is too slow. Swithing frequency is very low. Frequency is about 288 kHz. Why does it work with low speed? How can I get a high speed? |
|
相关推荐
6个回答
|
|
|
使用CYU3PGPIOSLeStEvestValueAudio()API代替CYU3PGPIOSETValueAudio()API
以上来自于百度翻译 以下为原文 Use CyU3PGpioSimpleSetValue() API instead of CyU3PGpioSetValue() API |
|
|
|
|
|
|
|
|
|
|
wuerywds 发表于 2018-11-22 14:34 谢谢,我有1,33兆赫频率,它不是很快,但比以前更好。 以上来自于百度翻译 以下为原文 thank, I have fraquency 1,33 MHz, its not a very fast but better then was before. |
|
|
|
|
|
尽可能快 以上来自于百度翻译 以下为原文 fast as possible |
|
|
|
|
|
嗨,Evgen, 1。您可以用CYU3PGPIOSLISESETVE值代替GYU3PGPIOSETHEVE设置GPIO。 2。通过寄存器访问GPIO。你可以检查下面的链接 HTTPS://Cultuy.CyPress .COM/DOCS/DOC-10967 以上来自于百度翻译 以下为原文 Hi Evgen, 1. You could set GPIO with CyU3PGpioSimpleSetValue instead of CyU3PGpioSetValue. 2. Access GPIO through register. You could check the link below https://community.cypress.com/docs/DOC-10967 |
|
|
|
|
|
如果您试图提高性能,我建议也不要使用CYU3PGPIOSLeSeTeValueE()。找出你的端口的配置位,并直接用GoIP注册GPIO寄存器。例如。
定义了CUU3PGPIOFASTASTValue(GPIOID,value){ GPIO-GT;LPPH-GPIOSIONSION[GPIOID] = CYU-U3PYLPPGPIOPEAL启用 CyuU3PyLPPGPIORI驱动程序 CyuU3PyLPPGPIO-DRIVEL (值?CYU-U3PYLPPGPIOOXOUTY值:0); } 以上来自于百度翻译 以下为原文 If you are trying to improve performance, I suggest not using CyU3PGpioSimpleSetValue() either. Figure out the configuration bits for your port and bang the GPIO register directly with writes. E.g. #define CyU3PGpioFastSetValue(gpioId,value) { |
|
|
|
|
只有小组成员才能发言,加入小组>>
786个成员聚集在这个小组
加入小组cyUSB3014一直显示2.1,不能到3.0情况,谁遇到过
7241 浏览 0 评论
2482 浏览 1 评论
2175 浏览 1 评论
4037 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
2082 浏览 6 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
7734浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
6290浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
751浏览 2评论
725浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
8127浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 07:31 , Processed in 0.863008 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2934