参考原子哥学习程序

条件:实验板STM32103ZET6;固件库STM32F10x_StdPeriph_Lib_V3.5.0;环境MDK5;

目的:了解STM32 的 IO 口如何作为输出使用 ;以两个LED灯交替闪烁为目标。

目录:

  • 1.新建工程
  • 2.硬件连接
  • 3.R软件设计
  • 3.1test1.c程序
  • 3.2 test.h头文件
  • 3.3 main.c主函数
  • 4.仿真下载

1.新建工程(简单介绍)

新建文件夹“实验一 流水灯”,里面建6个文件夹:CORE ,FWLib,HARDWARE,OBJ,SYSTEM,USER 。并在HARDWARE文件夹下新建文件夹LED。

从固件库选择文件考入上诉文件夹(其中SYSTEM中三个系统文件来自原子哥)。

MDK下新建工程test1,,将添加好文件的文件夹加载到工程中,并添加头文件路径和宏定义:STM32F10X_HD,USE_STDPERIPH_DRIVER。

2.硬件连接

LED0接PA0,LED1接PB1。

3.软件设计

需要编写只有HARDWARE下的test1.c与test1.h两个文件,以及主函数。

 3.1test1.c程序主要为了配置端口。程序如下:

#include "test1.h"

void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE); //PA、PB时钟使能 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化
GPIO_SetBits(GPIOA,GPIO_Pin_0); //PA.0输出高 //PB.1配置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_1); }

注:GPIO_SetBits即将对应的IO口置1

GPIO_ResetBits则为置0

3.2 test.h头文件为了定义端口。程序如下:

#ifndef __LED_H
#define __LED_H #include "sys.h" #define LED0 PAout(0) // PA0
#define LED1 PBout(1) // PB1
void LED_Init(void); //初始化 #endif

 3.3 main.c主函数初始化端口,循环执行。程序如下:

#include "test1.h"
#include "delay.h"
#include "sys.h" int main(void)
{ delay_init();
LED_Init(); //死循环
while()
{ LED0=;
LED1=;
delay_ms();
LED0=;
LED1=;
delay_ms();
}
}

4.仿真无误,下载运行。

   附源码:        实验一流水灯

实验一:基于STM32F1的流水灯实验(库函数)的更多相关文章

  1. Zedboard学习(三):PL下流水灯实验 标签: fpgazynqPL 2017-07-05 11:09 21人阅读 评论(0)

    zynq系列FPGA分为PS部分和PL部分. PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分. PS: 处理系统 (Processing System) , 就是与F ...

  2. 基于STM32F1 的BASIC解码实验 vb basic 液晶显示执行过程及结果

    基于STM32F1 的BASIC解码实验 1.basic程序以文件形式存储 2.程序文件存储在sd卡 3.解释结果显示在液晶屏上 主函数部分 int main(void){ u16 i,j; dela ...

  3. cc2530的第三次实验,按键中断控制流水灯

    cc2530的第三次实验:按键中断控制流水灯 效果为按一次按键,流水灯亮一次 实验相关电路图: 实验相关寄存器: 初始化函数 //初始化LED灯 //设置P1SEL,通用为0,外设为1 1111110 ...

  4. 第三章 VIVADO 自定义IP 流水灯实验

    第二章里面已经说过了,MIZ701 PL部分没有输入时钟,因此驱动PL资源必须是通过PS来提供时钟,所以这个流水灯实验也得建立一个最小系统了,然后再添加一个流水灯的自定义IP. 3.0本章难度系数★★ ...

  5. ARM实验1 —— 流水灯实验

    实验内容: 编写GPIO模块程序,实现对FS_4412平台的上的led2,led3,led4 ,led5,的流水灯实现. 实验目的: 熟悉开发环境的使用. 掌握Exynos 4412处理器GPIO功能 ...

  6. cc2530的第二次实验,用按键控制流水灯

    按键控制流水灯 具体想要实现按一下按键,然后单片机的三个灯会以流水灯的形式都亮一遍 实验相关寄存器 实验相关电路 宏定义 #define uint unsigned int #define uchar ...

  7. STM32学习笔记(二) 基于STM32-GPIO的流水灯实现

    学会了如何新建一个工程模板,下面就要开始动手实践了.像c/c++中经典的入门代码"hello world"一样,流水灯作为最简单的硬件设备在单片机领域也是入门首推.如果你已经有了一 ...

  8. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】【实验一】流水灯模块

    实验一:流水灯模块 对于发展商而言,动土仪式无疑是最重要的任务.为此,流水灯实验作为低级建模II的动土仪式再适合不过了.废话少说,我们还是开始实验吧. 图1.1 实验一建模图. 如图1.1 所示,实验 ...

  9. 基于ZYNQ 的UART中断实验之串口写数据到DDR3中

    1.参考 UG585 网络笔记 2.理论知识 参见上一次实验:基于ZYNQ 的UART中断实验 3.实验目的 练习使用UART的中断实验,并将接收到的数据写入到DDR3中. 4.实验过程 建立工程,设 ...

随机推荐

  1. he canvas has been tainted by cross-origin data and tainted canvases may not be exported

    来自: https://ourcodeworld.com/articles/read/182/the-canvas-has-been-tainted-by-cross-origin-data-and- ...

  2. 一道简单的HashMap面试题所想到的...

    前言 看到一个JDK1.7和JDK1.8中关于HashMap的一个面试题: JDK1.7和1.8中HashMap中链表的插入的方式有什么不同? 原以为自己对HashMap的源码理解的还算可以了,应该足 ...

  3. 关于Installation error: INSTALL_FAILED_NO_MATCHING_ABIS的解决方法

    遇到过好几次这种错误提示,工程代码没有任何错误,但是连安装都安装不上模拟器,console控制台就报出上面的错误: [2015-11-25 15:15:37 - Em4.x] Installation ...

  4. .NET+MVC+ORACLE存储分页查询一前端实现

    MemberList.cshtml @{    ViewBag.Title = "用户列表";    Layout = null;} <!DOCTYPE html> & ...

  5. [Big Data - Kafka] Kafka剖析(一):Kafka背景及架构介绍

    Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spa ...

  6. 01——Introduction to Android介绍

    Introduction to Android Android provides a rich application framework that allows you to build innov ...

  7. Mac下不显示设备

    使用命令行adb devices 试了下,没设备列表. 第一步: 查看usb设备信息 在 终端输入:system_profiler SPUSBDataType     可以查看连接的usb设备的信息 ...

  8. 发展简史jQuery时间轴特效

    发展简史jQuery时间轴特效.这是一款鼠标滚动到一定的高度动画显示企业发展时间轴特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="wr ...

  9. WebMisSharp更新了,最新版本1.5.2,WebMisCentral-Client最新版

    WebMisSharp更新记录 Version 1.5.2 1.5.2下载地址:http://item.taobao.com/item.htm?spm=686.1000925.1000774.13.w ...

  10. hdoj:2037

    #include <iostream> using namespace std; struct Time { int start; int end; }; Time times[]; ]; ...