77范文网 - 专业文章范例文档资料分享平台

MINI-STM32 开发板入门教程(4)

来源:网络收集 时间:2018-12-25 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

volatile vu32 TimingDelay = 0; vu8 TestSig = 0;

void SysTickHandler(void) {

TimingDelay--; if(TimingDelay % 2) {

TestSig = 1; } else {

TestSig = 0; } }

第三步: 编写 Delay 延时函数

Delay: 系统延时函数, 使用系统时钟操作.

void Delay(u32 nTime) {

/* Enable the SysTick Counter */

SysTick_CounterCmd(SysTick_Counter_Enable);

TimingDelay = nTime;

while(TimingDelay != 0);

/* Disable the SysTick Counter */

SysTick_CounterCmd(SysTick_Counter_Disable); /* Clear the SysTick Counter */

SysTick_CounterCmd(SysTick_Counter_Clear);

}

第四步: 主函数中调用 Delay

在 Mini-STM32 开发板上有两个 LED 灯, 分别是 PA0, PA1. 我们做个流水灯程序, 让他们循环点亮. while(1) {

GPIO_SetBits(GPIOA,GPIO_Pin_0); Delay(100);

GPIO_ResetBits(GPIOA,GPIO_Pin_0); Delay(100);

GPIO_SetBits(GPIOA,GPIO_Pin_1); Delay(100);

GPIO_ResetBits(GPIOA,GPIO_Pin_1); Delay(100); }

(五) 仿真调试

把工程便宜通过后, 进入软件仿真

如下图所示:点击工程快捷菜单的逻辑分析仪

在逻辑分析仪中我们点击 Setup 按键会弹出安装对话框.

点右上方的 \新建\图标, 在菜单中输入 \这个全局变量.

添加完之后就可以点 Close 了. 如果您仿真完可以点击 左下方的 \删除所有监视变量.

全速运行后就可以看到下面的波形了哦

MINI-STM32 开发板入门教程 (四) GPIO 简单应用和外部中断

这个章节我们将学习最基本的 STM32 的 GPIO 的应用. 我们将分为两个章节来学习.

第一部份: GPIO 的基本应用和 IO 口的配置

第二部份: 外部中断的使用

--------------------------------------------------------------------------

1: 设计要求:

开发板上有 2 个 LED, 我们的目的为有规律的点亮 LED1 和 LED2. 当按键按下去的时候所有的灯灭, 等待 2 秒钟后恢复有规律的点亮.

2: 硬件电路:

3: 软件程序设计:

(1) 根据要求配置 GPIOA 中的 PA0,PA1 为输出, PA3, PA8 为输入 对于下面程序中的 GPIO_InitStructure.GPIO_Speed 和 GPIO_InitStructure.GPIO_Mode 推荐大家看下面两篇文章.

STM32 GPIO的十大优越功能综述

备注: 当STM32的GPIO端口设置为输出模式时,有三种速度可以选择:2MHz、10MHz和50MHz,这个速度是指I/O口驱动电路的速度,是用来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。

STM32 GPIO端口的输出速度设置

备注: 共有8种模式,可以通过编程选择: 1. 浮空输入 2. 带上拉输入 3. 带下拉输入 4. 模拟输入

5. 开漏输出——(此模式可实现hotpower说的真双向IO) 6. 推挽输出

7. 复用功能的推挽输出 8. 复用功能的开漏输出

模式7和模式8需根据具体的复用功能决定。

void GPIO_Configuration(void) {

GPIO_InitTypeDef GPIO_InitStructure;

/* Configure PA. as Output push-pull */

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStructure);

/* Configure PA3,PA8 as input floating (EXTI Line3 , EXTI Line8) */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); }

(2) 打开 GPIOA 的时钟, 因为 STM32 是一个低功耗的 MCU , 每一个你使用的外围设备都需要单独开启时钟, 如果不开启将不能使用, 这个也是对于 STM32 初学者容易疏忽的地方

/* Enable GPIOA and AFIO clocks */

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |

RCC_APB2Periph_AFIO, ENABLE);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库MINI-STM32 开发板入门教程(4)在线全文阅读。

MINI-STM32 开发板入门教程(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/389996.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: