完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好!
我将一个设计从EZ-UBFX2LPU微控制器迁移到EZ-UB-FX3。以前,我用I/O引脚控制一个缓慢的外围设备(2×16字符液晶面板与8位数据总线)。 这是容易的-我刚才写了我想要的值在LCD数据总线上的一个I/O端口寄存器(例如,IOC=0x42),然后使用一些其他的I/O线来对数据进行计时。 这一切都很好,我也想对新设备做同样的事情。不幸的是,EZ-UB-FX3中的I/O线不被分组成8个单独的端口——它们都是单独处理的。 谁能告诉我如何写一个8位字节到8的I/O线,而不必单独写入每一位?我只是在寻找一个简单的解决方案(我宁愿不必通过GPIF II来做这件事,因为这看起来像是为了同时设置8个I/O引脚的大量工作)。 提前感谢 |
|
相关推荐
3个回答
|
|
你好,
在FX3中,IO引脚不分组。所以你必须把这些值单独地写入GPIOS。然而,通过直接使用寄存器代替API来编写,可以减少写入一个GPIO和另一个GPIO之间的时间延迟。这样,即使你一个一个地写,因为这个操作非常快,看起来所有的8个GPIOS都是同时写入的。 您可以通过使用固件设置GPIOSIAL RealStasas 1或0的B0位(LSB)来写入GPIO。有61个GPIOSIL简单寄存器。基本地址为0xE000 01100。每个地址被计算为GPIOSION SIMPLE(x)=0xE000 01100+(x*0x4)。因此,GPIOOSION SIMPLE(0)位于地址0xE000 01100,GPIOOSION SIMPLE(1)在地址0xE000 01100+0x4等。每一个的定义都是一样的。(参见FX3 TRM中的章节1022.1)。 例如,将GPIO〔2〕设为1: 地址为0xE000 01100+ 2×0x04=0xE000 0108 将MSB设为1, *(uTIN 32*)(0xE000 0108)=1; 同样,您可以为其他7个GPIOS服务。 当做, - Madhu Sudhan |
|
|
|
dfzvzs 发表于 2019-9-11 09:27 谢谢马杜 这是有道理的。谢谢你的帮助。 |
|
|
|
嗨,Madhu 还有一个问题,如果我可以的话。您提供的示例显示了使用直接寻址写入I/O引脚的快速方法。你能帮助我快速读取数据从一个简单的I/O端口使用直接寻址吗? 提前感谢。 |
|
|
|
只有小组成员才能发言,加入小组>>
751个成员聚集在这个小组
加入小组2064 浏览 1 评论
1824 浏览 1 评论
3632 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1508 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
502浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
354浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
409浏览 2评论
354浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
851浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 19:17 , Processed in 0.852354 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号