创龙TMS320C6748开发板———GPIO配置深入
来源:互联网 发布:侠盗飞车作弊软件 编辑:程序博客网 时间:2024/05/17 09:21
本次实验主要是对板底GPIO进行深入了解并搭建空工程实现流水灯工作。
硬件支持:底板有四个供用户编程使用的LED灯,分别为D6、D7、D9、D10,对应的GPIO为GPIO[5]、GPIO[0]、GPIO[1]、GPIO[2],电路原理图如下图所示:
由原理图知,当控制相关GPIO输出高电平时,LED灯亮,而当控制GPIO输出低电平时,LED熄灭。
软件设计:
1.使能GPIO模块使能GPIO模块是通过外设使能函数:
int PSCModuleControl (unsigned int baseAdd, unsigned int moduleId, unsigned int powerDomain, unsigned int flags) 来实现的
其中参数'baseAdd'为外设使用的内存地;'moduleId' 外设类型,此处为GPIO(其标号为3);'powerDomain' 为未对端口进行操作时端口的初始状态;'flags',逻辑标志,为1时使能外设,为0时外设处于未使能状态
2.配置相应的GPIO口为普通输入输出口,实现管脚复用功能
利用函数GPIOBank0Pin0PinMuxSetup();实现GPIO端口的配置 (ps:内部函数没有办法查看到了)
3.GPIO管脚初始化,配置LED对应管脚为输出模式
GPIO端口分配为:GPIO0[0] --1、GPIO1[0] --17、GPIO2[0] --33、GPIO3[0]-- 49、GPIO4[0] --65、 GPIO5[0]-- 81、GPIO6[0] --97、GPIO7[0] --113、GPIO8[0] --129。其中前半部分为GPIO模块及端口号,后半部分为对应到主控芯片的引脚好。
本次实验只用到了GPIO_0,故只需对GPIO_0进行初始化。利用函数'void GPIODirModeSet(unsigned int baseAdd, unsigned int pinNumber, unsigned int pinDir)',进行管脚初始化。其中'baseAdd'为外设GPIO在内存中的地址;'pinNumber'为对应的芯片引脚号(D7 GPIO0[0] 对应引脚号为1,GPIO0[5] 对应引脚号为6;'pinDir'为引脚模式设置,本实验中应设为输出模式'GPIO_DIR_OUTPUT'
至此,GPIO端口配置初始化完成,通过函数'void GPIOPinWrite(unsigned int baseAdd, unsigned int pinNumber, unsigned int bitValue)' 控制相关端口'pinNumber'输出电平的高低实现控制LED灯的亮灭。
程序设计代码如下所示:(此次程序设计参考了创龙提供的官方源代码)
小结:本次实验深入地了解了DSP GPIO的配置、初始化过程,在建立空工程后,要添加进相关的头文件和库文件,并且在属性设置中,Output format 应设置为eabi(ELF)格式,也可以在建立工程的时候就预先设置好。总体来说与其它类型单片机基本配置过程类似,也真实地感受到C6748提供的IO端口之多,可以在此基础上进行很多深入的研发,作为大型项目系统的控制系统是能够胜任的。
硬件支持:底板有四个供用户编程使用的LED灯,分别为D6、D7、D9、D10,对应的GPIO为GPIO[5]、GPIO[0]、GPIO[1]、GPIO[2],电路原理图如下图所示:
由原理图知,当控制相关GPIO输出高电平时,LED灯亮,而当控制GPIO输出低电平时,LED熄灭。
软件设计:
1.使能GPIO模块使能GPIO模块是通过外设使能函数:
int PSCModuleControl (unsigned int baseAdd, unsigned int moduleId, unsigned int powerDomain, unsigned int flags) 来实现的
其中参数'baseAdd'为外设使用的内存地;'moduleId' 外设类型,此处为GPIO(其标号为3);'powerDomain' 为未对端口进行操作时端口的初始状态;'flags',逻辑标志,为1时使能外设,为0时外设处于未使能状态
2.配置相应的GPIO口为普通输入输出口,实现管脚复用功能
利用函数GPIOBank0Pin0PinMuxSetup();实现GPIO端口的配置 (ps:内部函数没有办法查看到了)
3.GPIO管脚初始化,配置LED对应管脚为输出模式
GPIO端口分配为:GPIO0[0] --1、GPIO1[0] --17、GPIO2[0] --33、GPIO3[0]-- 49、GPIO4[0] --65、 GPIO5[0]-- 81、GPIO6[0] --97、GPIO7[0] --113、GPIO8[0] --129。其中前半部分为GPIO模块及端口号,后半部分为对应到主控芯片的引脚好。
本次实验只用到了GPIO_0,故只需对GPIO_0进行初始化。利用函数'void GPIODirModeSet(unsigned int baseAdd, unsigned int pinNumber, unsigned int pinDir)',进行管脚初始化。其中'baseAdd'为外设GPIO在内存中的地址;'pinNumber'为对应的芯片引脚号(D7 GPIO0[0] 对应引脚号为1,GPIO0[5] 对应引脚号为6;'pinDir'为引脚模式设置,本实验中应设为输出模式'GPIO_DIR_OUTPUT'
至此,GPIO端口配置初始化完成,通过函数'void GPIOPinWrite(unsigned int baseAdd, unsigned int pinNumber, unsigned int bitValue)' 控制相关端口'pinNumber'输出电平的高低实现控制LED灯的亮灭。
程序设计代码如下所示:(此次程序设计参考了创龙提供的官方源代码)
小结:本次实验深入地了解了DSP GPIO的配置、初始化过程,在建立空工程后,要添加进相关的头文件和库文件,并且在属性设置中,Output format 应设置为eabi(ELF)格式,也可以在建立工程的时候就预先设置好。总体来说与其它类型单片机基本配置过程类似,也真实地感受到C6748提供的IO端口之多,可以在此基础上进行很多深入的研发,作为大型项目系统的控制系统是能够胜任的。
0 0
- 创龙TMS320C6748开发板———GPIO配置深入
- 创龙TMS320C6748开发板———PSC配置及GPIO介绍
- 创龙TMS320C6748开发板———Timer配置 + Timer触发中断 + GPIO控制LED闪烁
- 创龙TMS320C6748开发板———uPP配置
- 创龙TMS320C6748开发板———SPI接口配置
- 创龙TMS320C6748开发板———中断介绍(2)中断向量表配置及说明
- 创龙TMS320C6748开发板———EDMA简介及配置
- 创龙TMS320C6748开发板———定时器/计数器学习
- 创龙TMS320C6748开发板———按键中断学习
- 创龙TMS320C6748开发板———UART原理(1)
- 创龙TMS320C6748开发板———PLL模块和PINMUX说明
- 创龙TMS320C6748开发板———中断介绍(1)中断及中断相关寄存器
- 创龙TMS320C6748开发板———UART寄存器介绍及程序
- 创龙TMS320C6748开发板———设备时钟介绍1
- 创龙TMS320C6748开发板———设备时钟介绍2
- 创龙TMS320C6748开发板———设备时钟介绍3
- 【创龙TMS320C6748开发板试用】+ 中断学习
- 【创龙TMS320C6748开发板试用】+ 定时器
- 创龙TMS320C6748开发板———按键中断学习
- FZU-1082(DFS)
- Java Service Wrapper 使用经验总结
- sqlserver 查询当日、当月数据
- js实现网页刷新后滚动条位置不变
- 创龙TMS320C6748开发板———GPIO配置深入
- [22]CSS 传统布局(下)
- 制作水果忍者-JS-2
- 【微信小程序】事件交互案例演示
- linux-kernel配置命令
- HEVC部分通测序列特点
- 集合框架_HashMap集合键是Student值是String的案例
- C++基础学习之7 - 与C程序对话
- Python基础1