一、建立项目模板

这里的user中重复引用了system_stm32f10x.c

Output中选择Create HEXFile,并且可以选择输出路径。
Listing中可以选择输出路径。
然后在C/C++中加入两个宏:

  1. STM32F10X_MD,USE_STDPERIPH_DRIVER 

并且还要勾选One ELF Section per Function,加入头文件路径:

在Debug中,使用J-Link,并设置
在Utilities,选择J-Link并Setting中:

二、写点LED代码

GPIO初始化:

    /**8位的LED的IO口***/
#define PIN_LED (GPIO_Pin_8 | GPIO_Pin_9 |GPIO_Pin_10 |GPIO_Pin_11 |GPIO_Pin_12 |GPIO_Pin_13 |GPIO_Pin_14 |GPIO_Pin_15)
void LED_INIT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = PIN_LED;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /*打开LED使用的GPIO的时钟使能*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/*进行初始化*/
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
 

设置多位GPIO电平:

    /****************************
* Function Name : LED_SET
* Description : 设置LED的状态,使用了8位。因为一次使用16位,所以要先读取
* Input : data
* Output : None
* Return : None
*****************************/
void LED_SET(uint8_t data)
{
uint16_t setValue; setValue = GPIO_ReadOutputData(GPIOB);
setValue &= 0x00ff; //使用高8位
setValue |= (uint16_t)data <<; GPIO_Write(GPIOB, setValue);
}

简单的main函数

    /****************************************************************************
* Function Name : main
* Description : Main program.
* Input : None
* Output : None
* Return : None
****************************************************************************/ int main(void)
{
LED_INIT();
LED_SET(0x0f); while ()
{
LED_SET(0xff);
Delay();
LED_SET(0x00);
Delay();
}
} /*******************************************************************************
* Function Name : Delay
* Description : ???±???ò
* Input : c
* Output : None
* Return : None
*******************************************************************************/ void Delay(uint16_t c)
{
uint16_t a,b;
for(; c>; c--)
for(a=; a>; a--)
for(b=; b>; b--);
}
 

可以直接设置单独的GIPO输出位:

    GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_SET);
GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_RESET);

STM32点LED灯的更多相关文章

  1. 小结-stm32 驱动LED灯

    使用位带操作,位带操作就是把每个比特膨胀成一个32位的字,当访问这些字的时候就访问这些比特位. http://www.cnblogs.com/xiaobo-Linux/ 然后,端口使能: //³õʼ ...

  2. STM32点亮闪烁LED灯

    详解请看其他博客: http://www.cnblogs.com/whik/p/6672730.html http://www.51hei.com/bbs/dpj-38605-1.html /*本程序 ...

  3. stm32开发笔记(三):stm32系列的GPIO基本功能之输出驱动LED灯、输入按键KEY以及Demo

    前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用GPIO引脚功能驱动LED灯和接收Key按钮输入.   STM ...

  4. STM32 用c语言控制4个LED灯从左向右无限流动

    在用c语言写LED流水灯的前提条件是配置好其他环境,这里我就不说环境了, 想让LED灯无限循环时,首先要想到的是无限循环函数,我这里利用的是for函数 无限循环. #include "stm ...

  5. 《RT-Thread Studio开发STM32》第一章~第一节《配置STM32H743XIH6点亮LED灯》

    安装RT-Thread Studio后添加相关芯片库文件,打开软件 打开SDK管理界面,安装相关的库文件,本次采用STM32H743XIH6芯片,野火开发板. 新建工程并设置相关的参数 先编译下下载到 ...

  6. Visual Studio 2022 开发 STM32 单片机 - 环境搭建点亮LED灯

    安装VS2022社区版软件 选择基础的功能就好 安装VisualGDB软件(CSDN资源) 按照提示一步一步安装就好 VisualGDB激活软件(CSDN资源) 将如下软件放在VisualGDB的安装 ...

  7. 第7章 使用寄存器点亮LED灯

    第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  8. C语言版——点亮LED灯,深入到栈

    在上一篇进行了汇编语言的编写之后,我们采用C语言来编写程序,毕竟C语言才是我们使用最多的语言. 仅仅是点亮LED灯显然太过于简单,我们需要分析最后的反汇编,了解函数调用栈,深入C语言骨髓去分析代码,并 ...

  9. 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列

    第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

随机推荐

  1. SQL Server 2008性能故障排查(三)——IO

    接着上一章:CPU瓶颈 I/O瓶颈(I/O Bottlenecks): SQLServer的性能严重依赖I/O子系统.除非你的数据库完全加载到物理内存中,否则SQLServer会不断地把数据库文件从缓 ...

  2. delphi 半透明窗体类

    {******************************************************************************* 半透明窗体控件 版本:1.0 功能说明 ...

  3. 2018-2019 2 20165203 《网络对抗技术》Exp9 Web安全基础

    2018-2019 2 20165203 <网络对抗技术>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理,做不少于7个题目,共3.5分.包括(SQL,XSS ...

  4. 安装maven之后,cmd提示mvn不是内部命令的解决办法

    1.maven的安装教程 下载地址为:http://maven.apache.org/download.cgi 进入此页面之后 点击下载,然后解压,我把目录名改为maven,目录结构如下图所示 下面我 ...

  5. MYSQL 使用存储过程批量更新表数据

    功能:实现将表result_good_city_dzl中的字段lat更新为表 result_good_city_lh中的lat,条件是两个表中的id一样 即: update result_good_c ...

  6. luoguP1083 借教室(题解)(我用的线段树)

    luoguP1083 借教室 题目 #include<cstdio> #include<iostream> #include<cmath> #include< ...

  7. jq实现两个input输入同时不为空时,改变确认框背景颜色

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  8. 42.Flatten Binary Tree to Linked List

    Level:   Medium 题目描述: Given a binary tree, flatten it to a linked list in-place. For example, given ...

  9. SpringMVC学习(10):异常处理

    在项目中如何处理出现的异常,在每个可能出现异常的地方都写代码捕捉异常?这显然是不合理的,当项目越来越大是也是不可维护的.那么如何保证我们处理异常的代码精简且便于维护呢?这就是本篇要讲的内容->异 ...

  10. Mac 安装cnpm

    1.先安装node   node的下载地址:http://nodejs.cn/download/   这个没什么好说的,安装完成后测试一下,在终端输入:node -v   这时候就可以看到安装的nod ...