完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 jinyi7016 于 2016-3-10 05:18 编辑 GPIO是一个最简单的例程,相当于“Hello World!” 首先看一下原理图,底板上有3个LED是可以控制的,分别由GPIO19、GPIO22、GPIO23三个引脚控制。 引脚的复用控制寄存器有2个,地址分别是0x2620580、0x2620584,这可以在手册中找到它们的说明如下。 TMS320C6655and TMS320C6657 Fixed andFloating-Point Digital Signal Processor (Rev.B) .pdf
由于LED的控制引脚号在31以内,所以只配置PIN_CONTROL_0就可以了,寄存器说明如下,就是选择对应引脚是GPIO过上复用的那个功能。
GPIO 的寄存器地址如下表,在0x2320000,再对应相应寄存器的偏移地址可以对GPIO进行配置。 GPIO相关寄存器的偏移地址如下: 只能找到函数的声明的地方在gpio.h头文件中。 这是由于创龙将底层已经编译好成一个库了,并不没有开放源码。 如下,工程中使用了一个库文件如下: 虽然没有源码,但根据上面的寄存器说明也不难写出源码。 从函数的名称可以看出,应该是从StarterWare中移植过来的函数,但是没有找到关于C6655的StarterWare函数库,只有C674x的。但有些函数的定义也不同。 以下程序:将GPIO的复用功能设置为普通的GPIO, SOC_DSC_BASE_REGS + SOC_DSC_PIN_CONTROL_0就是寄存器PIN_CONTROL_0的地址。 GPIO19_TIMO1是要使用的引脚号,从命名中可以看出,这个引脚有两个功能,复用功能是TIMO1. GPIO_NORMAL_ENABLED是GPIO功能。 GPIOPinMuxSet(SOC_DSC_BASE_REGS + SOC_DSC_PIN_CONTROL_0,GPIO19_TIMO1, GPIO_NORMAL_ENABLED); GPIOPinMuxSet(SOC_DSC_BASE_REGS+SOC_DSC_PIN_CONTROL_0,GPIO22_UARTCTS0, GPIO_NORMAL_ENABLED); GPIOPinMuxSet(SOC_DSC_BASE_REGS+SOC_DSC_PIN_CONTROL_0,GPIO23_UARTRTS0, GPIO_NORMAL_ENABLED); 如下程序将GPIO设置为输出功能。 SOC_GPIO_0_REGS是GPIO的寄存器地址。 GPIO19_TIMO1是引脚号。 GPIO_DIR_OUTPUT是设置为输出 功能 。 GPIODirModeSet(SOC_GPIO_0_REGS,GPIO19_TIMO1, GPIO_DIR_OUTPUT); GPIODirModeSet(SOC_GPIO_0_REGS, GPIO22_UARTCTS0,GPIO_DIR_OUTPUT); GPIODirModeSet(SOC_GPIO_0_REGS,GPIO23_UARTRTS0, GPIO_DIR_OUTPUT); 以上都是初始化过程,初始化完成后,就是对GPIO的高低电平控制了。 例如下面程序: 函数的参数与上面设置输出的函数相同,但函数名不同,对于函数的实现不得而知,应该是对应寄存器的偏移地址不同吧。 GPIO_PIN_HIGH 高电平。 GPIO_PIN_LOW 低电平。 GPIOPinWrite(SOC_GPIO_0_REGS, GPIO19_TIMO1, GPIO_PIN_HIGH); GPIOPinWrite(SOC_GPIO_0_REGS,GPIO22_UARTCTS0, GPIO_PIN_LOW); 如下 是运行后的结果、现象。 |
|
相关推荐
1 个讨论
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
基于 DSP5509 进行数字图像处理中 Sobel 算子边缘检测的硬件连接电路图
3099 浏览 0 评论
775 浏览 0 评论
普中科技F28335开发板中,如何使用aic23播放由代码生成的正弦波
3532 浏览 0 评论
4300 浏览 1 评论
1341 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 05:31 , Processed in 0.593725 second(s), Total 68, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号