stm8s开发(二) GPIO的使用:点亮LED!

STM8S自学笔记之利用库函数点亮一个LED 准备工作及前提 a、已安装IAR或者STVD b、下载标准固件库(StdPeriph_Lib_V2.1.0)备用; c、已建立好一个程序模板,如未建立请参考我的博客中的帖子STVD+STM8官方固件库创建工程模板; d、(非必要)已下载STM8s库函数所在的程序版手册; e、(非必要)Flash Loader Demonstrator,这是ST的ISP烧写,对于STM8只有支持BootLo 阅读详情

通用输入输出口(GPIO)是我们使用单片机最基本的,主要功能:

● 端口的各个位可以被单独配置

● 可选择的输入模式:浮动输入和带上拉输入

● 可选择的输出模式:推挽式输出和开漏输出

● 外部中断可以单独使能和关闭


用户手册上描述:

每一个端口都有一个输出数据寄存器(ODR),一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR) 总是同相关的。控制寄存器1(CR1)和控制寄存器2(CR2)用于对输入/输出进行配置。任何一个I/O引脚可以通过对DDR,ODR,CR1和CR2寄存器的相应位进行编程来配置。

各种不同配置总结如下:

配置模式DDRCR1CR2配置模式上拉电阻
输入000悬浮输入 OFF
010上拉输入ON
001中断悬浮输入 OFF
011中断上拉输入ON
输出100开漏输出 OFF
110推挽输出
1x1输出(最快速度10MHZ) 
xxx真正的开漏输出未采用

这里作为练习控制3个LED,分别是PA1,PA2,PD4,都设置为 推挽输出 模式。

以下是初始化函数:

//CTRL0	PA1
//CTRL1	PA2
//CTRL2	PD4

void GPIO_init(void)
{
  PA_DDR|=0x03;
  PA_CR1|=0x03;
  PA_CR2|=0x00;
  
  PD_DDR|=0x10;
  PD_CR1|=0x10;
  PD_CR2|=0x00;
}


需要控制IO口的电平,需要对于ODR寄存器进行修改,读表可得知1为高电平,0为低电平。

这里只需要对相应的位进行修改数值。


void CTRL0_HIGH(void)
{
  PA_ODR|=0x01;
}
void CTRL0_LOW(void)
{
  PA_ODR&=0xFE;
}
void CTRL0_Reverse(void)
{
  PA_ODR^=0x01;
}

附上stm8s在IAR环境下的项目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代码。

http://download.youkuaiyun.com/detail/devintt/9454188



STM8S开发入门之使用EWSTM8(IAR STM8S)新建工程点亮一个LED(基于STM8S001J3) 李工喜荣说: 1、预先安装好EWSTM8(IAR STM8)软件,全称为IAR Embedded Workbench for STMicroelectronics STM8 IDE 2、下载好STM8S标准库,此处所用标准库为STM8S_StdPeriph_Lib V2.3.1 3、新建个文件夹(名称自定),作为项目所在文件夹,并在项目文件夹里再新建两个文件夹,此处分别命名为FWLIB和... 阅读详情

相关推荐

STM32汇编语言点亮led灯

STM32汇编语言点亮led灯 首先,这篇blog的主要内容是在C语言中调用汇编语言写的函数。即在我们常用的标准库函数工程中,对外设(这里指led)使用汇编语言完成相关的寄存器配置和控制。 一、背景 课程的需要:微机原理课程设计中,需要使用汇编语言/部分汇编语言进行课程设计的开发。 网上资料的稀缺:汇编相对于高级语言,更加偏向底层,编写代码的效率很低,资料较少,stm32汇编语言与教科书上8086汇编有一些差别,资料更加少。以下引用的例子是网上比较常见的关于stm32使用汇编点亮led灯的教程。 STM32

lllllllllljg的博客 7417

STM8低门槛快速入门,类似Arduino封装库模式开发介绍

STM8低门槛快速入门,类似Arduino封装库模式开发介绍

perseverance51博客 1487

STM32CubeMX使用HAL库点亮LED流水灯+Proteus8.15仿真

利用 Keil 的软件仿真逻辑分析仪功能以及在 Proteus 电路中加入示波器模块来观察 GPIO 端口的波形,在没有实际示波器时,软件仿真逻辑分析仪成为了跟踪管脚时序状态、分析高低电平转换周期,帮助我精准地判断代码是否按照预期控制硬件输出,方便定位代码中的故障点。在完成本次围绕 STM32 展开的一系列实验任务后,我收获颇丰,不仅对 STM32 的中断原理、HAL 库函数开发方法有了深入的理解,还在多个软件工具的使用以及代码管理方面积累了宝贵的经验。根据keil的设计代码,将对应引脚与LED进行连接。

2402_87302615的博客 2108

【5】STM8——————8S GPIO操作

总结: 如果用库函数配置系统时钟相对简单: CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8); 设置为内部时钟,不分频,系统时钟:16M; 寄存器配置系统时钟 CLK_CKDIVR &= 0x00;//不分频 8S默认使用内置时钟 工具篇: 有两种开发工具: ST Visual Develop Version 4.3.2 IAR 参考资料: 风驰开源STM8寄存器版本例程 ...

Dream Catcher 3570

用STM32F103C8T6点亮一个LED灯(标准库方式)【STM32开发板】

本次实验使用了标准库方式,重点在开发环境的搭建与配置上。

cqjtu_pengzifu的博客 4957

STM32F103寄存器方式点亮LED流水灯

本文主要采用寄存器操作,以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒 寄存器操作主要帮助大家理解stm32底层是怎么实现的,也是非常重要的! 一、固件库流水灯 1.工程模板的建立 由于要使用STM固件库,因此需要建立一个工程模板,详细建立过程可参考stm32f103c8t6工程模板的建立 1.1.建立相关文件 新建总文件夹用来存放本次工程的所有程序,然后再建CORE、H.

qq_54496810的博客 3660

【STM32】开发板学习1 NUCLEO-L476RG:GPIO例程 点亮LED2灯

一、芯片以及开发板 1.芯片:STM32L476 1.开发板:Nuleo-L476RG 官网查看详细信息以及下载各种用户手册、说明书等等...... https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu...

zDavid_2018的博客 8987

STM8程序下载方法及嵌入式开发指南

通过正确设置开发环境和下载选项,连接下载线并编译、下载程序,可以将开发好的STM8程序下载到目标芯片上。为了将开发好的程序下载到STM8微控制器上,我们需要使用一些特定的方法和工具。下载失败:如果程序无法下载到STM8芯片,首先检查下载线是否连接正确,并确保目标芯片型号和下载方式设置正确。设置下载选项:在开发环境中,找到下载选项设置,选择正确的目标芯片型号和下载方式。连接下载线:将下载线的SWIM接口插入STM8开发板上的对应连接口。下载程序:在开发环境中选择下载命令,开始将可执行文件下载到目标芯片。

Orion_O的博客 1053

STM32F411 Discovery学习笔记(二)点亮你的第一个LED

对于开发板来说,点亮第一个LED可能就像程序里的HELLO WORLD!一样重要吧。 由于缺少资源,点亮这个LED浪费了我两天的宝贵时光,也没能成功,后来想到了老师一直强调的要看芯片手册和原理图,想想LED应该也不难,那么从零应该也是可以的。 对于STM32来说最难的是配置底层文件了,然而STM32CUBEMX可以帮助我们完成这一项操作,关于STM32CUBEMX的使用方法网上有好多,然而我竟然在...

magiconecube的博客 4546

使用STM32/STM8进行嵌入式开发:一个详细的指南

STM32/STM8系列具有广泛的功能和外设,因此学习这些系列的深入知识对于开发复杂的嵌入式应用是必要的。STM32/STM8系列具有广泛的功能和外设,因此学习这些系列的深入知识对于开发复杂的嵌入式应用是必要的。在代码中,您需要配置用于控制LED的引脚。官方文档:ST官方提供了丰富的文档和参考手册,用于了解STM32/STM8系列的各个方面,包括芯片特性、外设配置和编程接口等。官方文档:ST官方提供了丰富的文档和参考手册,用于了解STM32/STM8系列的各个方面,包括芯片特性、外设配置和编程接口等。

JeeVue的博客 995

STM8S开发范例—GPIO

STM8S开发板范例第一章,GPIO的使用方法

STM32控制GPIO完成点亮LED灯

1. 什么是GPIO: GPIO(General-Purpose IO ports,通用输入/输出接口),用于感知外界信号(输入模式)和控制外部设备(输出模式)。 STM32F103C8T6一共有48个引脚,除去电源引脚、晶振时钟引脚、复位引脚、启动选择引脚、程序下载引脚(大部分为最小系统必须引脚),剩下的则是GPIO引脚。 下图为STM32F103系列GPIO的基本结构,左侧连接MCU内部,中间上半部分为输入,中间下半部分为输出,右侧为MCU引出的外设I/O引脚。 2. GPIO工作模式 STM32

小浩的博客 1万+

绕过卡巴斯基通过RPC控制lsass注入DLL

参考国外的XPN以及3gstudent大佬的文章: https://blog.youkuaiyun.com/xiangshen1990/article/details/104872566 https://gist.github.com/xpn/93f2b75bf086baf2c388b2ddd50fb5d0 原理:正常的ssp扩展(dll)可以加载到lsass进程中去,比如kerberos验证都是通...

2ed 3524

STM32 Keil下编程实现LED灯点亮与闪烁

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、原理图1.STM32F103C8T62.LED23.LED3二、Keil代码1.Led.h2.Led.c3.main.c总结 前言 基于STM32F10C8T6在Keil下编程实现LED灯点亮与闪烁 一、原理图 1.STM32F103C8T6 STM32F103C8T6是ST在2007年发布的一款MCU,截止目前ST已经发布了速度高达400MHz的STM32H7。三点好处,一是封装比较大,方便初学者焊接,二是价格低廉,学习

hongliwong的博客 2万+

Field-Oriented Control (FOC) 矢量控制 磁场定向控制

Field-Oriented Control (FOC) 磁场定向控制(FOC),也称为矢量控制,是一种用于控制永磁同步电动机(PMSM)和交流感应电动机(ACIM)的技术。 FOC在整个扭矩和速度范围内都具有良好的控制能力。 FOC的实现需要将定子电流从固定参考系转换为转子磁通参考系(也称为d-q参考系)。 速度控制和转矩控制是FOC最常用的控制模式。位置控制模式不太常见。大多数牵引应用使用转矩控制模式,在该模式下,电动机控制系统遵循参考转矩值。在速度控制模式下,电机控制器遵循参考速度值,并生成用于形成内

>>> 1万+

学习心得——COMSOL Multiphysics with MATLAB联合仿真及寻优计算

学习心得——COMSOL Multiphysics with MATLAB联合仿真及寻优计算

weixin_41678956的博客 8658

STM8学习笔记---点亮LED灯

对单片机操作时一般有三个步骤,1.系统时钟选择。2.单片机外设初始化。3主程序编写。 同样要点亮LED灯时,也要按照这个步骤来。 首先选择系统时钟,打开STM8S中文参考手册,找到时钟寄存器 可以看到时钟寄存器有13个,那么该用哪个呢。STM8的主时钟源有4种,我们要用的是16M内部RC振荡器。 所以只需要设置主时钟切换寄存器CLK_SWR寄存器即可。 寄存器值为0XE1时,HSI为主时钟,...

HXYDJ的博客 4853

MAX30102心率血氧传感器

估算AC、DC值的方法如下:找两个波谷点,两个波谷点之间有一个波峰点,两个波谷点相连成一条直线,与Y轴平行的线穿过波峰点会与两个波谷点连接成的直线相交于一点,这个点就是DC点,DC点的Y轴对应值就是直流分量,AC分量的值为波峰点到DC点之间的差值。在医院测量中常用的一种血氧采集方式,如下图所示,光电传感器和光源分别置于手指的两侧,光源穿过手指被另一侧的光电二极管接收,根据光衰减量计算血氧浓度。那么,根据上面的Beer-Lambert 定理,针对测量的具体场景,测量过程的衰减为三层穿透物质衰减量的叠加。

qq_41861711的博客 1万+

STM32F103GPIO-LED点灯

8.1 关于GPIO GPIO(General-Purpose IO ports,通用输入/输出接口),用于感知外界信号(输入模式)和控制外部设备(输出模式),如图 6.1.1 所示的STM32F103ZET6芯片四周的细引脚就是GPIO。 在嵌入式开发中,经常需要用到一些外部功能模块,比如LED、按键、蜂鸣器、温度传感器等,这些外设模块都比较简单,只需要MCU的GPIO与模块连接,控制引脚输出/读取高低电平即可。还有一些外部功能模块,需要多个引脚构成的“协议”进行通信,比如UART、I2C、SPI接口等。

韦东山嵌入式专栏 9140

Sigrity IBIS建模实战:如何用T2B工具快速转换SPICE模型(附避坑指南)

本文详细介绍了如何使用Sigrity T2B工具将SPICE模型高效转换为IBIS模型,涵盖从环境配置、模型预处理到转换流程和验证策略的全过程。通过实战案例和避坑指南,帮助硬件工程师掌握高速电路设计中的IBIS建模技术,提升信号完整性分析效率。

weixin_29243279的博客 395

Weblogic安装与部署

27.免密登录,在目录Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer和Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\Server-TA目录下,新建security\boot.properties文件,13.点击新建按钮,填写服务器名称,服务器监听地址,再点击下一步,最后点击完成。

m0_46259466的博客 6635

【STM32】标准库与HAL库对照学习教程三--使用库函数配置GPIO点亮LED灯

【STM32】标准库与HAL库对照学习教程三--使用库函数配置GPIO点亮LED灯一、前言二、准备工作三、LED硬件电路四、使用标准库工程点亮LED灯1、GPIO初始化一般步骤2、GPIO标准库函数介绍3、使用库函数编写程序使LED灯闪烁操作4、实验效果五、使用cubemx生成HAL库工程点亮LED灯1、cubemx配置生成工程2、HAL库控制函数介绍3、编写使LED灯闪烁的程序4、实验效果 一、前言 本章主要介绍如何使用标准库工程与cubemx配置工程使LED灯闪烁,可以直接点击目录看自己想要看的内容,文

修成真的博客 1万+

玩转Docker小游戏项目系列:Docker部署吃豆人经典小游戏

玩转Docker小游戏项目系列:Docker部署吃豆人经典小游戏

jks212454的博客 733

STM32——点亮第一个LED灯(万字保姆级教程)

GPIO_Init 函数内有两个形参,第一个形参是 GPIO_TypeDef 类型的指针变量,而 GPIO_TypeDef 又一个结构体类型,封装了 GPIO 外设的所有寄存器,所以给它传送 GPIO 外设基地址即可通过指针操作寄存器内容,第一个参数值可以为GPIOA、GPIOB、...GPIOG 等,其实这些就是封装好的 GPIO 外设基地址,在stm32f10x.h 文件中可以找到。在输出模式时,施密特触发器是打开的,即输入可用,通过输入数据寄存器 GPIOx_IDR 可读取 I/O 的实际状态。

江南易小乔的博客 8980

ABAP CDS SELECT, parameters 全面解析:把参数化视图玩明白(含可运行示例)

这篇技术博客介绍了ABAP CDS中参数化视图的用法与实践。文章从业务需求出发,解释了参数化视图的必要性,并详细说明了语法规则、参数类型匹配、视图内部参数引用等关键点。重点展示了在JOIN和ASSOCIATION中传递参数的写法,提供了航线分析的完整业务案例和可运行代码示例。文章还总结了视图实体与DDIC视图的差异、会话变量使用技巧等实践要点,特别强调了JOIN中必须显式传参的语法要求。通过真实场景演示,帮助开发者掌握参数化CDS的高效应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 364

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: stm8s开发(一) 使用IAR新建工程
下一篇: stm8s开发(三) UART的使用:串口通信!
DevinTT
博客等级 码龄14年 283粉丝 35原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值