用CCS分析解读CC3200 SDK工具包的blinky流水灯文件

时间:2024-05-23 13:09:55

流水灯程序GPIO端口说明

端口 引脚 信号名称 备注
LED D5 02 GPIO11 0熄灭1点亮
LED D6 01 GPIO10 同上
LED D7 64 GPIO09 同上
  1. 在CCS导入Blinky项目,参照以下文章。
    使用CCS调试CC3200芯片GPIO接口应用----流水灯程序
    用CCS分析解读CC3200 SDK工具包的blinky流水灯文件
  2. 项目程序流程图
    用CCS分析解读CC3200 SDK工具包的blinky流水灯文件
  3. 主函数如下。
    用CCS分析解读CC3200 SDK工具包的blinky流水灯文件
  • 初始化开发板BoardInit()
    用CCS分析解读CC3200 SDK工具包的blinky流水灯文件
  • 设置中断向量表基地址,中断向量表在startup_ccs.c中定义。此函数的声明在interrupt.h,代码在interrupt.c中。
  • 允许处理器中断,此函数调用CPUcpsie()允许处理器中断操作。函数的声明在interrupt.h,代码在interrupt.c中。CPUcpsie()调用汇编语言程序段实现允许CPU中断操作,其声明在cpu.h,代码在cpu.c。
  • 允许SysTick中断函数声明在interrupt.h,代码在interrupt.c中。
  • 初始化MCU,加电启动或从低功耗休眠模式退出时,应用程序应该调用次函数配置MCU参数。参函数声明在prcm.h,代码在prcm.c。
  • 引脚复用配置PinMuxConfig()
    用CCS分析解读CC3200 SDK工具包的blinky流水灯文件
    这三个函数是API函数,是通过硬件寄存器操作HWREG()实现相应功能。此函数可以通过PinMux软件来生成对应的c文件。
  • LED操作函数
    用CCS分析解读CC3200 SDK工具包的blinky流水灯文件
    LED操作主要包含以下内容。

配置LED:GPIO_IF_LedConfigure(unsigned char ucPins)
熄灭LED:GPIO_IF_LedOff(char ledNum)
点亮LED:GPIO_IF_LedOn(char ledNum)

这三个函数程序代码都在GPIO驱动文件gpio_if.c文件中,也就是说只要程序需要,就把这个文件夹复制进去,然后调用就行了。其中调用了相应的GPIO API函数,主要是GPIOPinWrite()和GPIOPinRead()。
a)GPIO配置函数**通过调用GPIO_IF_GetPortNPin()获得LED使用GPIO的端口基地址和引脚位权,用于后续的LED操作。括号内的参数表示引脚定义。
用CCS分析解读CC3200 SDK工具包的blinky流水灯文件
b) GPIO_IF_LedOff(char ledNum)函数中 MCU_ALL_LED_IND代表三个灯。
用CCS分析解读CC3200 SDK工具包的blinky流水灯文件
c) 循环亮灯函数
用CCS分析解读CC3200 SDK工具包的blinky流水灯文件

GPIO_IF_LedOn(char ledNum)函数,里面是灯的标识,相关定义在本文第一幅图可以看到。

  1. GPIO使用总结
    GPIO的使用主要包括引脚复用配置和GPIO读写操作。
    引脚服用配置包括允许GPIO时钟、配置GPIO引脚类型、配置GPIO引脚方向。
    相关的函数在头文件都有定义,所以下次我们编辑程序的时候直接引用函数就好。

参考文献:《ARM Cortex-M4+Wi-Fi MCU应用指南-CC3200 CCS基础篇》郭书军编著 电子工业出版社