MAPS-56F84000 DSC 开发板 GPIO 调试

前言:

换了块板子继续搞起来,资料难找,必须详细记一记。

一、硬件部分

LED 接口

由原理图可知

 LED1、LED4 连接在 GPIO_C7、GPIO_C13

 LED2、LED3 连接在 GPIO_F3、GPIO_F1

按键接口

由原理图可知

 K1、 K2、K3 、K4 分别连接在 GPIO_D6、GPIO_D5、GPIO_A10、GPIO_A9

二、软件部分

1. LED 闪烁

新建工程界面

新建工程,新建工程界面如下图所示,创建新的 PE 工程可以看前面的文章。

打开 Processor Expert 界面

在菜单栏找到 Processor Expert 选项,点击该选项,点击 Show Views,出现界面右侧所示的界面框,点击 Components Library,找到 CPU Internel Peripherals,在该目录下,点开Port I/O 组件,如下图所示界面。

添加位 ( BitIO ) 模块

在组件库 Components Library 选项框内的文件找到 BitIO 模块并添加到该工程中,并配置该组件。

在组件查看器 Component Inspector 选项框内配置相关参数

上拉电阻 Pull resistor  设置为上拉 pull up

开漏 Open drain 设置为推挽 push-pull

驱动强度 Drive strength 设置为高 High

转换速率 Slew rate 设置为快 Fast

端口方向 Direction 设置为输出 Output

在组件 Components 选项框内,点击图标生成处理器专家代码。

在 Component Inspector  选项框中的Methods 中选择对应的函数是否生成,如下图所示

在上述生成的函数中

GetVal  获取输入输出的值

PutVal  设置输出的状态

ClrVal  设置输出值为 0 ,GPIO 输出电平为低

SetVal  设置输出值为 1 ,GPIO 输出电平为高

NegVal  将输出的状态取反

修改相应代码并下载

在主函数中添加如下图所示代码,编译下载到板子,按下复位后,板上对应的 LED1 开始闪烁。

2. 按键控制 LED 亮灭

添加按键控制模块

在 LED 闪烁的基础上添加按键控制的组件,与上述添加位( BitIO ) 模块相似

配置按键模块

按键 1 的端口位于 GPIOD6,将该模块名称修改为 Key1 ,端口的设置位 GPIO_D6 ,拉电阻一般设置为上拉,模式设置为推挽,因为是输入驱动能力可设置为低,最重要的是端口的方向设置为输入 input 。

相关配置如下图所示:

函数初始化设置

如下图所示,灰色的为默认不可修改

GetVal  获取输入输出的值

配置好相应的参数后,在 Components 功能界面,点击生成代码。

修改相应代码并下载

在主函数中添加如下图所示代码,编译下载到板子,按下复位后,实现按键控制 LED 的亮灭。

3. 按键触发外部中断控制 LED 亮灭

添加外部中断模块

在上述的基础上添加外部中断 ExtInt 模块,如下图所示。

配置外部中断模块

在 Component 修改外部中断模块的名字为 ExtInt。

在 Pin 选项中选择相应按键的端口,此处我们选择按键二对应的端口 GPIO_D5。

在 Generate interrupt on 中选择对应中断触发的方式,上升沿、下降沿、双边沿、电平触发等,触发条件。此处我们选择上升沿触发。

在 Interrupt priority 中选择对应的中断优先级,此处默认即可。

在 Enabled in init . code 选项中,为是否在初始化代码中使能中断。

函数初始化设置

Enable 使能外部中断

Disable 禁用外部中断

GetVal 获取引脚的输入状态

SetEdge 设置中断触发条件

EntInt_OnInterrupt 中断处理函数

如下图所示点击对应图标生成模块配置代码

修改相应代码并下载

打开 Events.c 文件在对应的中断处理函数中添加代码,如下图所示,编译下载到板子,按下复位后,实现按键控制 LED 的亮灭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式Stark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值