stm32f401 边沿捕获_stm32f401ret6例程 嵌入式1 STM32F401开发实战1—LED闪烁和串口收发数据 - 硬件设备 - 服务器之家...
stm32f401ret6例程 嵌入式1 STM32F401开发实战1—LED闪烁和串口收发数据
发布时间:2017-03-17
来源:服务器之家
初学嵌入式系列。
STM32F401RET6是ARM系列开发板,板子开发思路是硬件 软件,研究硬件引脚图,选择合适端口连线(有些不需连线),然后在Keil MDK和Cube开发环境下完成引脚选择和软件编写。这个开发环境比较方便,Cube可以一键生成工程模板,再在Keil里打开模板就可以增添主程序代码实现功能了。下面详细介绍如何点亮LED和进行串口收发数据。
一.硬件环境:
1.STM32F401RET6开发板
2.PC机
软件环境:
1. keil MDK及其器件包pack
2. java环境jre
3. stm32cube.mx及其器件包cubef4
4. ST LinK驱动
5. XCOM串口调试工具
6. USB转TTL驱动
1.LED闪烁:I/O驱动LED2,使用GPIO口的PA5,使用翻转函数让LED2的状态每隔一段时间改变一次,即可实现LED闪烁。为什么是PA5看datasheet图如下:
2. 串口输出数据:USART1的PA9为板子的TX,使用USB转TTL模块,板子串口即和电脑USB连接,将信息发送到电脑,打开XCOM串口调试工具,选用合适的串口和波特率,即可看到串口输出的数据。可以从下图看出是PA9作为TX发送。
三.步骤及截图:
1.在Cube中新建一个工程,选择器件,为STM32F401RET6 :
2.配置引脚,将PA5配置为GPIO_OUT,使用其驱动板子上的led2:
3.配置USART1串口为异步模式:
4. 配置时钟过程:
5.配置时钟为84MHz完成如图:
6.配置外设—GPIO口,设置如图:
7. 设置串口参数,涉及中断:
8. 生成工程代码,注意IDE改为MDK—ARM V5:
勾选Generated files的第一个选项,否则生成文件比较杂乱,不方便进行后续操作:
9.使用Keil开发环境,打开之前建好的工程。修改代码:在uart.c里重定向printf函数,将默认输出改为串口,使之可以显示到电脑上:
10.修改主程序main.c:点亮led和输出数据。其中LED灯闪烁是利用翻转函数实现,一定延时后翻转即可实现闪烁。程序如下:
char *mystr="嵌入式\r\n";
printf("嵌入式实验\r\n");
while(1)
{
HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin); //翻转函数,灯的状态翻转即为闪烁
printf("嵌入式实验\r\n");
HAL_Delay(1000); //LED2闪烁间隔时间为1000ms即1s
}
11.更改设置(Keil右上角偏中间的一个图标):
ST—LinK Debugger
12.设置SW,1.8MHz
13.设置FLASH算法:这个板子的flash是512k,所以只能选用512K及以上的算法
14. Build编译,flash烧写,LED闪烁,1s亮灭一次,串口输出数据,如下图
到这里第一阶段就结束啦。之后会出联合ESP8266后,手机控制板子LED和AD采样的教程。
stm32f401 边沿捕获_stm32f401ret6例程 嵌入式1 STM32F401开发实战1—LED闪烁和串口收发数据 - 硬件设备 - 服务器之家...相关推荐
- [stm32][ucos][ucgui] 2、LED闪烁、串口、滑块、文本编辑框简单例程
上一篇:[stm32][ucos] 1.基于ucos操作系统的LED闪烁.串口通信简单例程 * 内容简述: 本例程操作系统采用ucos2.86a版本, 建立了7个任务 任务名 ...
- 《Linux嵌入式实时应用开发实战(原书第3版)》——1.6 资源
本节书摘来自华章计算机<Linux嵌入式实时应用开发实战(原书第3版)>一书中的第1章,第1.6节,作者:(美)Doug Abbott 更多章节内容可以访问云栖社区"华章计算机& ...
- 《Linux嵌入式实时应用开发实战(原书第3版)》——第2章 安装Linux2.1 发行版...
本节书摘来自华章计算机<Linux嵌入式实时应用开发实战(原书第3版)>一书中的第2章,第2.1节,作者:(美)Doug Abbott 更多章节内容可以访问云栖社区"华章计算机& ...
- 《Linux嵌入式实时应用开发实战(原书第3版)》——3.5 Linux文件系统
本节书摘来自华章计算机<Linux嵌入式实时应用开发实战(原书第3版)>一书中的第3章,第3.5节,作者:(美)Doug Abbott 更多章节内容可以访问云栖社区"华章计算机& ...
- 嵌入式linux驱动开发实战教程,嵌入式Linux驱动开发实战视频教程
嵌入式Linux驱动开发实战教程(内核驱动.看门狗技术.触摸屏.视频采集系统) 适合人群:高级 课时数量:109课时 用到技术:嵌入式 Linux 涉及项目:驱动开发.看门狗技术.触摸屏.视频采集 咨 ...
- 嵌入式STM32入门之定时器控制LED闪烁与产生PWM脉冲宽度调制信号
定时器控制LED闪烁与产生PWM脉冲宽度调制信号 一.前言 二.定时器基本介绍 (一)STM32定时器 (二)通用定时器主要功能 (三)计数器模式 (四)定时器工作原理 三.实验(1)初识定时器 (一 ...
- stm32f401 边沿捕获_STM32_capture 基于 设计的输入捕获实验,通过对边沿跳变的采集,得到外部接口 据。 SCM 单片机开发 261万源代码下载- www.pudn.com...
文件名称: STM32_capture下载 收藏√ [ 5 4 3 2 1 ] 所属分类: SCM 开发工具: Visual C++ 文件大小: 447 KB 上传时间: 2016-07- ...
- stm32f401 边沿捕获_基于ST STM32F401 BLE紫外线监测方案
针对物联网(IOT)方案,应用意法半导体(ST Microelectronic)提供一个软件配合STM32F401 MCU使用UVIS25数字式紫外线感测组件及透过ST BlueNRGBLE蓝牙低功耗 ...
- 嵌入式物联网软件开发实战系列(STM32+FreeRTOS)
一.使用STM32CubeMx 创建物联网项目软件工程 二.STM32CubeMx 配置时钟 三.STM32CubeMx 配置GPIO 及 GPIO 相关接口在软件工程中的形式及使用 四.STM32C ...
- 【嵌入式】——串口实验——实现芯片串口收发数据,按键中断串口发送数据,串口接收数据中断来控制LED亮/灭
实验目的: 实现芯片串口收发数据,按键中断串口发送数据:按下按键,向串口发送数据,并通过虚拟终端显示出来: 串口接收数据中断来控制LED亮/灭:通过串口助手向MCU发送数据,"A" ...
最新文章
- Ember.js 入门指南——查询记录
- Flutter持久化存储之文件存储
- 【数据结构与算法】之N个数中有K个数可能的组合算法
- 触发器_PLCDCS组态中SR触发器介绍
- ExtJs UI框架学习五
- 在Docker上运行微服务
- Java多线程教学演示系统_Java多线程演示样例(模拟通话,sleep,join,yield,wait,notify,Semaphore)...
- 计算机语言入门vfp,VFP基础教程第二章VFP语言基础3
- java newtonsoft.json_(转载)Newtonsoft.Json使用总结
- 互动快报读报软件159份全国主流大报倾情奉献读者
- C语言之结构体 共用体 枚举 typedef
- Win10访问Linux分区
- 如何在工作中设定和使用 SMART 目标
- 雷啊:淘宝上卖F22战斗机
- 歌咏比赛java代码_JavaEE基础知识
- 无法创建新的分区,也找不到现有的分区
- 如何修改计算机系统的网络最大连接数?
- 京东数科区块链ABS解决方案受国际权威研究机构认可
- java bean to bean,Bean_to_Bean 赋值完整解决(可用在实际开发)
- Unity Anchors锚点布局不出现的原因
热门文章
- LGTM、FYI等项目开发用语,缩略语,感觉其他组员都知道,感觉就自己不知道,不好意问的就看这里把
- matlab 元素 最大值和最小值,[转载]matlab中的最大值和最小值
- QC4+充电协议_喜大普奔:高通推出QC3+/4+快充协议,这些处理器均支持
- 数字转换为汉语中人民币的大写
- isilon域环境配置
- 手机越贵,打车越贵?复旦教授三万字打车报告,实锤打车软件“大数据杀熟”
- Laravel文档阅读笔记-Custom Authentication Login And Registration Using Laravel 8
- 网络上的计算机无权限访问权限,权限,教您怎么解决无internet访问权限
- IIS导入SSL证书
- 用python写一个简单的名片管理系统